{ "swagger": "2.0", "info": { "title": "Azure Database Migration Service (classic) Resource Provider", "version": "2025-09-01-preview", "description": "The SQL Migration management API provides a RESTful set of web APIs that allow users to migrate their SQL Server databases to Azure SQL.", "x-typespec-generated": [ { "emitter": "@azure-tools/typespec-autorest" } ] }, "schemes": [ "https" ], "host": "management.azure.com", "produces": [ "application/json" ], "consumes": [ "application/json" ], "security": [ { "azure_auth": [ "user_impersonation" ] } ], "securityDefinitions": { "azure_auth": { "type": "oauth2", "description": "Azure Active Directory OAuth2 Flow.", "flow": "implicit", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { "user_impersonation": "impersonate your user account" } } }, "tags": [ { "name": "Operations" }, { "name": "DatabaseMigrations" }, { "name": "DatabaseMigrationsSqlVm" }, { "name": "MigrationServices" }, { "name": "SqlMigrationServices" }, { "name": "Service resource" }, { "name": "Standard operation" }, { "name": "GET" }, { "name": "PUT" }, { "name": "PATCH" }, { "name": "DELETE" }, { "name": "Custom operation" }, { "name": "POST" }, { "name": "Task resource" }, { "name": "Service Task resource" }, { "name": "Project resource" }, { "name": "File resource" }, { "name": "Fie resource" } ], "paths": { "/providers/Microsoft.DataMigration/operations": { "get": { "operationId": "Operations_List", "tags": [ "Operations" ], "description": "List the operations for the provider", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/OperationListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Lists all of the available SQL Rest API operations.": { "$ref": "./examples/ListOperation.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/checkNameAvailability": { "post": { "operationId": "Services_CheckNameAvailability", "tags": [ "Standard operation", "POST" ], "summary": "Check name validity and availability", "description": "This method checks whether a proposed top-level resource name is valid and available.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" }, { "name": "parameters", "in": "body", "description": "The request body", "required": true, "schema": { "$ref": "#/definitions/NameAvailabilityRequest" } } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/NameAvailabilityResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Services_CheckNameAvailability": { "$ref": "./examples/Services_CheckNameAvailability.json" } } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/usages": { "get": { "operationId": "Usages_List", "tags": [ "Standard operation", "GET" ], "summary": "Get resource quotas and usage information", "description": "This method returns region-specific quotas and resource usage information for the Azure Database Migration Service (classic).", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/QuotaList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Services_Usages": { "$ref": "./examples/Usages_List.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/migrationServices": { "get": { "operationId": "MigrationServices_ListBySubscription", "tags": [ "MigrationServices" ], "description": "Retrieve all migration services in the subscriptions.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/MigrationServiceListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get Services in the Subscriptions.": { "$ref": "./examples/ListBySubscriptionMigrationService.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/services": { "get": { "operationId": "Services_List", "tags": [ "Service resource", "Standard operation", "GET" ], "summary": "Get services in subscription", "description": "The services resource is the top-level resource that represents the Azure Database Migration Service (classic). This method returns a list of service resources in a subscription.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DataMigrationServiceList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Services_List": { "$ref": "./examples/Services_List.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/skus": { "get": { "operationId": "ResourceSkus_ListSkus", "tags": [ "Standard operation", "GET" ], "summary": "Get supported SKUs", "description": "The skus action returns the list of SKUs that DMS (classic) supports.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/ResourceSkusResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "ListSkus": { "$ref": "./examples/ResourceSkus_ListSkus.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/sqlMigrationServices": { "get": { "operationId": "SqlMigrationServices_ListBySubscription", "tags": [ "SqlMigrationServices" ], "description": "Retrieve all SQL migration services in the subscriptions.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/SqlMigrationListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get Services in the Subscriptions.": { "$ref": "./examples/ListBySubscriptionSqlMigrationService.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/migrationServices": { "get": { "operationId": "MigrationServices_ListByResourceGroup", "tags": [ "MigrationServices" ], "description": "Retrieve all migration services in the resource group.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/MigrationServiceListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get Migration Services in the Resource Group.": { "$ref": "./examples/ListByResourceGroupMigrationService.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/migrationServices/{migrationServiceName}": { "get": { "operationId": "MigrationServices_Get", "tags": [ "MigrationServices" ], "description": "Retrieve the Database Migration Service", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "migrationServiceName", "in": "path", "description": "Name of the Migration Service.", "required": true, "type": "string", "pattern": "^[A-Za-z][A-Za-z0-9_-]*$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/MigrationService" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get Migration Service.": { "$ref": "./examples/GetMigrationService.json" } } }, "put": { "operationId": "MigrationServices_CreateOrUpdate", "tags": [ "MigrationServices" ], "description": "Create or Update Database Migration Service.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "migrationServiceName", "in": "path", "description": "Name of the Migration Service.", "required": true, "type": "string", "pattern": "^[A-Za-z][A-Za-z0-9_-]*$" }, { "name": "parameters", "in": "body", "description": "Details of MigrationService resource.", "required": true, "schema": { "$ref": "#/definitions/MigrationService" } } ], "responses": { "200": { "description": "Resource 'MigrationService' update operation succeeded", "schema": { "$ref": "#/definitions/MigrationService" } }, "201": { "description": "Resource 'MigrationService' create operation succeeded", "schema": { "$ref": "#/definitions/MigrationService" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Create or Update Migration Service with maximum parameters.": { "$ref": "./examples/CreateOrUpdateMigrationServiceMAX.json" }, "Create or Update Migration Service with minimum parameters.": { "$ref": "./examples/CreateOrUpdateMigrationServiceMIN.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/MigrationService" }, "x-ms-long-running-operation": true }, "patch": { "operationId": "MigrationServices_Update", "tags": [ "MigrationServices" ], "description": "Update Database Migration Service.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "migrationServiceName", "in": "path", "description": "Name of the Migration Service.", "required": true, "type": "string", "pattern": "^[A-Za-z][A-Za-z0-9_-]*$" }, { "name": "parameters", "in": "body", "description": "Details of MigrationService resource.", "required": true, "schema": { "$ref": "#/definitions/MigrationServiceUpdate" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/MigrationService" } }, "202": { "description": "Resource update request accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Update Migration Service.": { "$ref": "./examples/UpdateMigrationService.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/MigrationService" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "MigrationServices_Delete", "tags": [ "MigrationServices" ], "description": "Delete Database Migration Service.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "migrationServiceName", "in": "path", "description": "Name of the Migration Service.", "required": true, "type": "string", "pattern": "^[A-Za-z][A-Za-z0-9_-]*$" } ], "responses": { "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Delete Migration Service.": { "$ref": "./examples/DeleteMigrationService.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/migrationServices/{migrationServiceName}/listMigrations": { "get": { "operationId": "MigrationServices_listMigrations", "tags": [ "MigrationServices" ], "description": "Retrieve the List of database migrations attached to the service.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "migrationServiceName", "in": "path", "description": "Name of the Migration Service.", "required": true, "type": "string", "pattern": "^[A-Za-z][A-Za-z0-9_-]*$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DatabaseMigrationBaseListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "List database migrations attached to the service.": { "$ref": "./examples/ListMigrationsByMigrationService.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services": { "get": { "operationId": "Services_ListByResourceGroup", "tags": [ "Service resource", "Standard operation", "GET" ], "summary": "Get services in resource group", "description": "The Services resource is the top-level resource that represents the Azure Database Migration Service (classic). This method returns a list of service resources in a resource group.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DataMigrationServiceList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Services_ListByResourceGroup": { "$ref": "./examples/Services_ListByResourceGroup.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}": { "get": { "operationId": "Services_Get", "tags": [ "Service resource", "Standard operation", "GET" ], "summary": "Get DMS (classic) Service Instance", "description": "The services resource is the top-level resource that represents the Azure Database Migration Service (classic). The GET method retrieves information about a service instance.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DataMigrationService" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Services_CreateOrUpdate": { "$ref": "./examples/Services_Get.json" } } }, "put": { "operationId": "Services_CreateOrUpdate", "tags": [ "Service resource", "Standard operation", "PUT" ], "summary": "Create or update DMS (classic) Instance", "description": "The services resource is the top-level resource that represents the Azure Database Migration Service (classic). 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.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Information about the service", "required": true, "schema": { "$ref": "#/definitions/DataMigrationService" } } ], "responses": { "200": { "description": "Resource 'DataMigrationService' update operation succeeded", "schema": { "$ref": "#/definitions/DataMigrationService" } }, "201": { "description": "Resource 'DataMigrationService' create operation succeeded", "schema": { "$ref": "#/definitions/DataMigrationService" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "202": { "description": "Resource operation accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Services_CreateOrUpdate": { "$ref": "./examples/Services_CreateOrUpdate.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/DataMigrationService" }, "x-ms-long-running-operation": true }, "patch": { "operationId": "Services_Update", "tags": [ "Service resource", "Standard operation", "PATCH" ], "summary": "Create or update DMS (classic) Service Instance", "description": "The services resource is the top-level resource that represents the Azure Database Migration Service (classic). 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\").", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Information about the service", "required": true, "schema": { "$ref": "#/definitions/DataMigrationService" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DataMigrationService" } }, "202": { "description": "Resource update request accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Services_CreateOrUpdate": { "$ref": "./examples/Services_Update.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/DataMigrationService" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "Services_Delete", "tags": [ "Service resource", "Standard operation", "DELETE" ], "summary": "Delete DMS (classic) Service Instance", "description": "The services resource is the top-level resource that represents the Azure Database Migration Service (classic). The DELETE method deletes a service. Any running tasks will be canceled.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "deleteRunningTasks", "in": "query", "description": "Delete the resource even if it contains running tasks", "required": false, "type": "boolean" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Services_CreateOrUpdate": { "$ref": "./examples/Services_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkNameAvailability": { "post": { "operationId": "Services_CheckChildrenNameAvailability", "tags": [ "Custom operation", "POST" ], "summary": "Check nested resource name validity and availability", "description": "This method checks whether a proposed nested resource name is valid and available.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Requested name to validate", "required": true, "schema": { "$ref": "#/definitions/NameAvailabilityRequest" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/NameAvailabilityResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Services_CheckChildrenNameAvailability": { "$ref": "./examples/Services_CheckChildrenNameAvailability.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkStatus": { "post": { "operationId": "Services_CheckStatus", "tags": [ "Service resource", "Custom operation", "POST" ], "summary": "Check service health status", "description": "The services resource is the top-level resource that represents the Azure Database Migration Service (classic). This action performs a health check and returns the status of the service and virtual machine size.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DataMigrationServiceStatusResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Services_CheckStatus": { "$ref": "./examples/Services_CheckStatus.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects": { "get": { "operationId": "Projects_List", "tags": [ "Project resource", "Standard operation", "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.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ProjectList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Projects_List": { "$ref": "./examples/Projects_List.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}": { "get": { "operationId": "Projects_Get", "tags": [ "Project resource", "Standard operation", "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.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "projectName", "in": "path", "description": "Name of the project", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Project" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Projects_Get": { "$ref": "./examples/Projects_Get.json" } } }, "put": { "operationId": "Projects_CreateOrUpdate", "tags": [ "Project resource", "Standard operation", "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.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "projectName", "in": "path", "description": "Name of the project", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Information about the project", "required": true, "schema": { "$ref": "#/definitions/Project" } } ], "responses": { "200": { "description": "Resource 'Project' update operation succeeded", "schema": { "$ref": "#/definitions/Project" } }, "201": { "description": "Resource 'Project' create operation succeeded", "schema": { "$ref": "#/definitions/Project" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Projects_CreateOrUpdate": { "$ref": "./examples/Projects_CreateOrUpdate.json" } } }, "patch": { "operationId": "Projects_Update", "tags": [ "Project resource", "Standard operation", "PATCH" ], "summary": "Update project", "description": "The project resource is a nested resource representing a stored migration project. The PATCH method updates an existing project.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "projectName", "in": "path", "description": "Name of the project", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Information about the project", "required": true, "schema": { "$ref": "#/definitions/Project" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Project" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Projects_Update": { "$ref": "./examples/Projects_Update.json" } } }, "delete": { "operationId": "Projects_Delete", "tags": [ "Project resource", "Standard operation", "DELETE" ], "summary": "Delete project", "description": "The project resource is a nested resource representing a stored migration project. The DELETE method deletes a project.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "projectName", "in": "path", "description": "Name of the project", "required": true, "type": "string" }, { "name": "deleteRunningTasks", "in": "query", "description": "Delete the resource even if it contains running tasks", "required": false, "type": "boolean" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Projects_Delete": { "$ref": "./examples/Projects_Delete.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files": { "get": { "operationId": "Files_List", "tags": [ "File resource", "Standard operation", "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.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "projectName", "in": "path", "description": "Name of the project", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/FileList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Files_List": { "$ref": "./examples/Files_List.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}": { "get": { "operationId": "Files_Get", "tags": [ "File resource", "Standard operation", "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.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "projectName", "in": "path", "description": "Name of the project", "required": true, "type": "string" }, { "name": "fileName", "in": "path", "description": "Name of the File", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ProjectFile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Files_List": { "$ref": "./examples/Files_Get.json" } } }, "put": { "operationId": "Files_CreateOrUpdate", "tags": [ "Fie resource", "Standard operation", "PUT" ], "summary": "Create a file resource", "description": "The PUT method creates a new file or updates an existing one.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "projectName", "in": "path", "description": "Name of the project", "required": true, "type": "string" }, { "name": "fileName", "in": "path", "description": "Name of the File", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Information about the file", "required": true, "schema": { "$ref": "#/definitions/ProjectFile" } } ], "responses": { "200": { "description": "Resource 'ProjectFile' update operation succeeded", "schema": { "$ref": "#/definitions/ProjectFile" } }, "201": { "description": "Resource 'ProjectFile' create operation succeeded", "schema": { "$ref": "#/definitions/ProjectFile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Files_CreateOrUpdate": { "$ref": "./examples/Files_CreateOrUpdate.json" } } }, "patch": { "operationId": "Files_Update", "tags": [ "File resource", "Standard operation", "PATCH" ], "summary": "Update a file", "description": "This method updates an existing file.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "projectName", "in": "path", "description": "Name of the project", "required": true, "type": "string" }, { "name": "fileName", "in": "path", "description": "Name of the File", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Information about the file", "required": true, "schema": { "$ref": "#/definitions/ProjectFile" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ProjectFile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Files_Update": { "$ref": "./examples/Files_Update.json" } } }, "delete": { "operationId": "Files_Delete", "tags": [ "File resource", "Standard operation", "DELETE" ], "summary": "Delete file", "description": "This method deletes a file.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "projectName", "in": "path", "description": "Name of the project", "required": true, "type": "string" }, { "name": "fileName", "in": "path", "description": "Name of the File", "required": true, "type": "string" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Files_Delete": { "$ref": "./examples/Files_Delete.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}/read": { "post": { "operationId": "Files_Read", "tags": [ "File resource", "Standard operation", "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.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "projectName", "in": "path", "description": "Name of the project", "required": true, "type": "string" }, { "name": "fileName", "in": "path", "description": "Name of the File", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/FileStorageInfo" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Files_List": { "$ref": "./examples/Files_Read.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}/readwrite": { "post": { "operationId": "Files_ReadWrite", "tags": [ "File resource", "Standard operation", "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.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "projectName", "in": "path", "description": "Name of the project", "required": true, "type": "string" }, { "name": "fileName", "in": "path", "description": "Name of the File", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/FileStorageInfo" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Files_List": { "$ref": "./examples/Files_ReadWrite.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks": { "get": { "operationId": "Tasks_List", "tags": [ "Service resource", "Standard operation", "GET" ], "summary": "Get tasks in a service", "description": "The services resource is the top-level resource that represents the Azure Database Migration Service (classic). 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.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "projectName", "in": "path", "description": "Name of the project", "required": true, "type": "string" }, { "name": "taskType", "in": "query", "description": "Filter tasks by task type", "required": false, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/TaskList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Tasks_List": { "$ref": "./examples/Tasks_List.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}": { "get": { "operationId": "Tasks_Get", "tags": [ "Task resource", "Standard operation", "GET" ], "summary": "Get task information", "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS (classic) instance. The GET method retrieves information about a task.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "projectName", "in": "path", "description": "Name of the project", "required": true, "type": "string" }, { "name": "taskName", "in": "path", "description": "Name of the Task", "required": true, "type": "string" }, { "name": "$expand", "in": "query", "description": "Expand the response", "required": false, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ProjectTask" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Tasks_Get": { "$ref": "./examples/Tasks_Get.json" } } }, "put": { "operationId": "Tasks_CreateOrUpdate", "tags": [ "Task resource", "Standard operation", "PUT" ], "summary": "Create or update task", "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS (classic) 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.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "projectName", "in": "path", "description": "Name of the project", "required": true, "type": "string" }, { "name": "taskName", "in": "path", "description": "Name of the Task", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Information about the task", "required": true, "schema": { "$ref": "#/definitions/ProjectTask" } } ], "responses": { "200": { "description": "Resource 'ProjectTask' update operation succeeded", "schema": { "$ref": "#/definitions/ProjectTask" } }, "201": { "description": "Resource 'ProjectTask' create operation succeeded", "schema": { "$ref": "#/definitions/ProjectTask" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Tasks_CreateOrUpdate": { "$ref": "./examples/Tasks_CreateOrUpdate.json" } } }, "patch": { "operationId": "Tasks_Update", "tags": [ "Task resource", "Standard operation", "PATCH" ], "summary": "Create or update task", "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS (classic) instance. The PATCH method updates an existing task, but since tasks have no mutable custom properties, there is little reason to do so.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "projectName", "in": "path", "description": "Name of the project", "required": true, "type": "string" }, { "name": "taskName", "in": "path", "description": "Name of the Task", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Information about the task", "required": true, "schema": { "$ref": "#/definitions/ProjectTask" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ProjectTask" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Tasks_Update": { "$ref": "./examples/Tasks_Update.json" } } }, "delete": { "operationId": "Tasks_Delete", "tags": [ "Task resource", "Standard operation", "DELETE" ], "summary": "Delete task", "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS (classic) instance. The DELETE method deletes a task, canceling it first if it's running.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "projectName", "in": "path", "description": "Name of the project", "required": true, "type": "string" }, { "name": "taskName", "in": "path", "description": "Name of the Task", "required": true, "type": "string" }, { "name": "deleteRunningTasks", "in": "query", "description": "Delete the resource even if it contains running tasks", "required": false, "type": "boolean" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Tasks_Delete": { "$ref": "./examples/Tasks_Delete.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/cancel": { "post": { "operationId": "Tasks_Cancel", "tags": [ "Task resource", "Custom operation", "POST" ], "summary": "Cancel a task", "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS (classic) instance. This method cancels a task if it's currently queued or running.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "projectName", "in": "path", "description": "Name of the project", "required": true, "type": "string" }, { "name": "taskName", "in": "path", "description": "Name of the Task", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ProjectTask" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Tasks_Cancel": { "$ref": "./examples/Tasks_Cancel.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/command": { "post": { "operationId": "Tasks_Command", "tags": [ "Task resource", "Custom operation", "POST" ], "summary": "Execute a command on a task", "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS (classic) instance. This method executes a command on a running task.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "projectName", "in": "path", "description": "Name of the project", "required": true, "type": "string" }, { "name": "taskName", "in": "path", "description": "Name of the Task", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Command to execute", "required": true, "schema": { "$ref": "#/definitions/CommandProperties" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/CommandProperties" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Tasks_Command": { "$ref": "./examples/Tasks_Command.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks": { "get": { "operationId": "ServiceTasks_List", "tags": [ "Service resource", "Standard operation", "GET" ], "summary": "Get service level tasks for a service", "description": "The services resource is the top-level resource that represents the Azure Database Migration Service (classic). 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.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "taskType", "in": "query", "description": "Filter tasks by task type", "required": false, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/TaskList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "ServiceTasks_List": { "$ref": "./examples/ServiceTasks_List.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}": { "get": { "operationId": "ServiceTasks_Get", "tags": [ "Service Task resource", "Standard operation", "GET" ], "summary": "Get service task information", "description": "The service tasks resource is a nested, proxy-only resource representing work performed by a DMS (classic) instance. The GET method retrieves information about a service task.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "taskName", "in": "path", "description": "Name of the Task", "required": true, "type": "string" }, { "name": "$expand", "in": "query", "description": "Expand the response", "required": false, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ProjectTask" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Tasks_Get": { "$ref": "./examples/ServiceTasks_Get.json" } } }, "put": { "operationId": "ServiceTasks_CreateOrUpdate", "tags": [ "Service Task resource", "Standard operation", "PUT" ], "summary": "Create or update service task", "description": "The service tasks resource is a nested, proxy-only resource representing work performed by a DMS (classic) 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.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "taskName", "in": "path", "description": "Name of the Task", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Information about the task", "required": true, "schema": { "$ref": "#/definitions/ProjectTask" } } ], "responses": { "200": { "description": "Resource 'ProjectTask' update operation succeeded", "schema": { "$ref": "#/definitions/ProjectTask" } }, "201": { "description": "Resource 'ProjectTask' create operation succeeded", "schema": { "$ref": "#/definitions/ProjectTask" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Tasks_CreateOrUpdate": { "$ref": "./examples/ServiceTasks_CreateOrUpdate.json" } } }, "patch": { "operationId": "ServiceTasks_Update", "tags": [ "Service Task resource", "Standard operation", "PATCH" ], "summary": "Create or update service task", "description": "The service tasks resource is a nested, proxy-only resource representing work performed by a DMS (classic) 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.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "taskName", "in": "path", "description": "Name of the Task", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Information about the task", "required": true, "schema": { "$ref": "#/definitions/ProjectTask" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ProjectTask" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Tasks_Update": { "$ref": "./examples/ServiceTasks_Update.json" } } }, "delete": { "operationId": "ServiceTasks_Delete", "tags": [ "Service Task resource", "Standard operation", "DELETE" ], "summary": "Delete service task", "description": "The service tasks resource is a nested, proxy-only resource representing work performed by a DMS (classic) instance. The DELETE method deletes a service task, canceling it first if it's running.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "taskName", "in": "path", "description": "Name of the Task", "required": true, "type": "string" }, { "name": "deleteRunningTasks", "in": "query", "description": "Delete the resource even if it contains running tasks", "required": false, "type": "boolean" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Tasks_Delete": { "$ref": "./examples/ServiceTasks_Delete.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}/cancel": { "post": { "operationId": "ServiceTasks_Cancel", "tags": [ "Service Task resource", "Custom operation", "POST" ], "summary": "Cancel a service task", "description": "The service tasks resource is a nested, proxy-only resource representing work performed by a DMS (classic) instance. This method cancels a service task if it's currently queued or running.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" }, { "name": "taskName", "in": "path", "description": "Name of the Task", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ProjectTask" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Tasks_Cancel": { "$ref": "./examples/ServiceTasks_Cancel.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/skus": { "get": { "operationId": "Services_ListSkus", "tags": [ "Service resource", "Standard operation", "GET" ], "summary": "Get compatible SKUs", "description": "The services resource is the top-level resource that represents the Database Migration Service (classic). The skus action returns the list of SKUs that a service resource can be updated to.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ServiceSkuList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Services_ListSkus": { "$ref": "./examples/Services_ListSkus.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/start": { "post": { "operationId": "Services_Start", "tags": [ "Service resource", "Custom operation", "POST" ], "summary": "Start service", "description": "The services resource is the top-level resource that represents the Azure Database Migration Service (classic). This action starts the service and the service can be used for data migration.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" } ], "responses": { "200": { "description": "The request has succeeded." }, "202": { "description": "Resource operation accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Services_Start": { "$ref": "./examples/Services_Start.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/stop": { "post": { "operationId": "Services_Stop", "tags": [ "Service resource", "Custom operation", "POST" ], "summary": "Stop service", "description": "The services resource is the top-level resource that represents the Azure Database Migration Service (classic). 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.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "name": "groupName", "in": "path", "description": "Name of the resource group", "required": true, "type": "string" }, { "name": "serviceName", "in": "path", "description": "Name of the service", "required": true, "type": "string" } ], "responses": { "200": { "description": "The request has succeeded." }, "202": { "description": "Resource operation accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/ApiError" } } }, "x-ms-examples": { "Services_Stop": { "$ref": "./examples/Services_Stop.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices": { "get": { "operationId": "SqlMigrationServices_ListByResourceGroup", "tags": [ "SqlMigrationServices" ], "description": "Retrieve all SQL migration services in the resource group.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/SqlMigrationListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get Migration Services in the Resource Group.": { "$ref": "./examples/ListByResourceGroupSqlMigrationService.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}": { "get": { "operationId": "SqlMigrationServices_Get", "tags": [ "SqlMigrationServices" ], "description": "Retrieve the Database Migration Service", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "sqlMigrationServiceName", "in": "path", "description": "Name of the SQL Migration Service.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/SqlMigrationService" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get Migration Service.": { "$ref": "./examples/GetSqlMigrationService.json" } } }, "put": { "operationId": "SqlMigrationServices_CreateOrUpdate", "tags": [ "SqlMigrationServices" ], "description": "Create or Update Database Migration Service.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "sqlMigrationServiceName", "in": "path", "description": "Name of the SQL Migration Service.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Details of SqlMigrationService resource.", "required": true, "schema": { "$ref": "#/definitions/SqlMigrationService" } } ], "responses": { "200": { "description": "Resource 'SqlMigrationService' update operation succeeded", "schema": { "$ref": "#/definitions/SqlMigrationService" } }, "201": { "description": "Resource 'SqlMigrationService' create operation succeeded", "schema": { "$ref": "#/definitions/SqlMigrationService" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Create or Update SQL Migration Service with maximum parameters.": { "$ref": "./examples/CreateOrUpdateSqlMigrationServiceMAX.json" }, "Create or Update SQL Migration Service with minimum parameters.": { "$ref": "./examples/CreateOrUpdateSqlMigrationServiceMIN.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/SqlMigrationService" }, "x-ms-long-running-operation": true }, "patch": { "operationId": "SqlMigrationServices_Update", "tags": [ "SqlMigrationServices" ], "description": "Update Database Migration Service.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "sqlMigrationServiceName", "in": "path", "description": "Name of the SQL Migration Service.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Details of SqlMigrationService resource.", "required": true, "schema": { "$ref": "#/definitions/SqlMigrationServiceUpdate" } } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/SqlMigrationService" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "201": { "description": "Resource 'SqlMigrationService' create operation succeeded", "schema": { "$ref": "#/definitions/SqlMigrationService" }, "headers": { "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Update SQL Migration Service.": { "$ref": "./examples/UpdateSqlMigrationService.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/SqlMigrationService" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "SqlMigrationServices_Delete", "tags": [ "SqlMigrationServices" ], "description": "Delete Database Migration Service.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "sqlMigrationServiceName", "in": "path", "description": "Name of the SQL Migration Service.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Delete SQL Migration Service.": { "$ref": "./examples/DeleteSqlMigrationService.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}/deleteNode": { "post": { "operationId": "SqlMigrationServices_deleteNode", "tags": [ "SqlMigrationServices" ], "description": "Delete the integration runtime node.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "sqlMigrationServiceName", "in": "path", "description": "Name of the SQL Migration Service.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Details of SqlMigrationService resource.", "required": true, "schema": { "$ref": "#/definitions/deleteNode" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/deleteNode" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Delete the integration runtime node.": { "$ref": "./examples/DeleteIntegrationRuntimeNode.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}/listAuthKeys": { "post": { "operationId": "SqlMigrationServices_listAuthKeys", "tags": [ "SqlMigrationServices" ], "description": "Retrieve the List of Authentication Keys for Self Hosted Integration Runtime.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "sqlMigrationServiceName", "in": "path", "description": "Name of the SQL Migration Service.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/AuthenticationKeys" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Retrieve the List of Authentication Keys.": { "$ref": "./examples/ListAuthKeysSqlMigrationService.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}/listMigrations": { "get": { "operationId": "SqlMigrationServices_listMigrations", "tags": [ "SqlMigrationServices" ], "description": "Retrieve the List of database migrations attached to the service.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "sqlMigrationServiceName", "in": "path", "description": "Name of the SQL Migration Service.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DatabaseMigrationListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "List database migrations attached to the service.": { "$ref": "./examples/ListMigrationsBySqlMigrationService.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}/listMonitoringData": { "post": { "operationId": "SqlMigrationServices_listMonitoringData", "tags": [ "SqlMigrationServices" ], "description": "Retrieve the registered Integration Runtime nodes and their monitoring data for a given Database Migration Service.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "sqlMigrationServiceName", "in": "path", "description": "Name of the SQL Migration Service.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/IntegrationRuntimeMonitoringData" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Retrieve the Monitoring Data.": { "$ref": "./examples/GetMonitorDataSqlMigrationService.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}/regenerateAuthKeys": { "post": { "operationId": "SqlMigrationServices_regenerateAuthKeys", "tags": [ "SqlMigrationServices" ], "description": "Regenerate a new set of Authentication Keys for Self Hosted Integration Runtime.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "sqlMigrationServiceName", "in": "path", "description": "Name of the SQL Migration Service.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Details of SqlMigrationService resource.", "required": true, "schema": { "$ref": "#/definitions/RegenAuthKeys" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/RegenAuthKeys" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Regenerate the of Authentication Keys.": { "$ref": "./examples/RegenAuthKeysSqlMigrationService.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{targetResourceName}/providers/Microsoft.DataMigration/databaseMigrations": { "get": { "operationId": "DatabaseMigrationsMongoToCosmosDbRUMongo_GetForScope", "tags": [ "DatabaseMigrations" ], "description": "Get Database Migration resources for the scope.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "targetResourceName", "in": "path", "description": "The name of the target resource/account.", "required": true, "type": "string", "pattern": "^[A-Za-z][A-Za-z0-9_-]*$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DatabaseMigrationCosmosDbMongoListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get Mongo to CosmosDb Mongo(RU) database Migration with the expand parameter.": { "$ref": "./examples/CosmosDbMongoListByScopeDatabaseMigration.json" }, "Get Mongo to CosmosDb Mongo(RU) database Migration without the expand parameter.": { "$ref": "./examples/CosmosDbMongoListByScopeDatabaseMigration1.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{targetResourceName}/providers/Microsoft.DataMigration/databaseMigrations/{migrationName}": { "get": { "operationId": "DatabaseMigrationsMongoToCosmosDbRUMongo_Get", "tags": [ "DatabaseMigrations" ], "description": "Get Database Migration resource.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "targetResourceName", "in": "path", "description": "The name of the target resource/account.", "required": true, "type": "string", "pattern": "^[A-Za-z][A-Za-z0-9_-]*$" }, { "name": "migrationName", "in": "path", "description": "Name of the migration.", "required": true, "type": "string", "pattern": "^[A-Za-z][A-Za-z0-9_-]*$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DatabaseMigrationCosmosDbMongo" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get Mongo to CosmosDb Mongo(RU) database Migration with the expand parameter.": { "$ref": "./examples/CosmosDbMongoGetDatabaseMigrationExpanded.json" }, "Get Mongo to CosmosDb Mongo(RU) database Migration without the expand parameter.": { "$ref": "./examples/CosmosDbMongoGetDatabaseMigration.json" } } }, "put": { "operationId": "DatabaseMigrationsMongoToCosmosDbRUMongo_Create", "tags": [ "DatabaseMigrations" ], "description": "Create or Update Database Migration resource.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "targetResourceName", "in": "path", "description": "The name of the target resource/account.", "required": true, "type": "string", "pattern": "^[A-Za-z][A-Za-z0-9_-]*$" }, { "name": "migrationName", "in": "path", "description": "Name of the migration.", "required": true, "type": "string", "pattern": "^[A-Za-z][A-Za-z0-9_-]*$" }, { "name": "parameters", "in": "body", "description": "Details of CosmosDB for Mongo API Migration resource.", "required": true, "schema": { "$ref": "#/definitions/DatabaseMigrationCosmosDbMongo" } } ], "responses": { "200": { "description": "Resource 'DatabaseMigrationCosmosDbMongo' update operation succeeded", "schema": { "$ref": "#/definitions/DatabaseMigrationCosmosDbMongo" } }, "201": { "description": "Resource 'DatabaseMigrationCosmosDbMongo' create operation succeeded", "schema": { "$ref": "#/definitions/DatabaseMigrationCosmosDbMongo" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Create Mongo to CosmosDb Mongo(RU) Database Migration resource with Maximum parameters.": { "$ref": "./examples/CosmosDbMongoCreateOrUpdateDatabaseMigrationMAX.json" }, "Create Mongo to CosmosDb Mongo(RU) Database Migration resource with Minimum parameters.": { "$ref": "./examples/CosmosDbMongoCreateOrUpdateDatabaseMigrationMIN.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/DatabaseMigrationCosmosDbMongo" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "DatabaseMigrationsMongoToCosmosDbRUMongo_Delete", "tags": [ "DatabaseMigrations" ], "description": "Delete Database Migration resource.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "targetResourceName", "in": "path", "description": "The name of the target resource/account.", "required": true, "type": "string", "pattern": "^[A-Za-z][A-Za-z0-9_-]*$" }, { "name": "migrationName", "in": "path", "description": "Name of the migration.", "required": true, "type": "string", "pattern": "^[A-Za-z][A-Za-z0-9_-]*$" }, { "name": "force", "in": "query", "description": "Optional force delete boolean. If this is provided as true, migration will be deleted even if active.", "required": false, "type": "boolean" } ], "responses": { "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Delete Mongo to CosmosDb Mongo(RU) Database Migration resource.": { "$ref": "./examples/CosmosDbMongoDeleteDatabaseMigration.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{targetResourceName}/providers/Microsoft.DataMigration/databaseMigrations": { "get": { "operationId": "DatabaseMigrationsMongoToCosmosDbvCoreMongo_GetForScope", "tags": [ "DatabaseMigrations" ], "description": "Get Database Migration resources for the scope.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "targetResourceName", "in": "path", "description": "The name of the target resource/account.", "required": true, "type": "string", "pattern": "^[A-Za-z][A-Za-z0-9_-]*$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DatabaseMigrationCosmosDbMongoListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get Mongo to CosmosDb Mongo(vCore) database Migration with the expand parameter.": { "$ref": "./examples/CosmosDbMongoListByScopeDatabaseMigration3.json" }, "Get Mongo to CosmosDb Mongo(vCore) database Migration without the expand parameter.": { "$ref": "./examples/CosmosDbMongoListByScopeDatabaseMigration2.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{targetResourceName}/providers/Microsoft.DataMigration/databaseMigrations/{migrationName}": { "get": { "operationId": "DatabaseMigrationsMongoToCosmosDbvCoreMongo_Get", "tags": [ "DatabaseMigrations" ], "description": "Get Database Migration resource.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "targetResourceName", "in": "path", "description": "The name of the target resource/account.", "required": true, "type": "string", "pattern": "^[A-Za-z][A-Za-z0-9_-]*$" }, { "name": "migrationName", "in": "path", "description": "Name of the migration.", "required": true, "type": "string", "pattern": "^[A-Za-z][A-Za-z0-9_-]*$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DatabaseMigrationCosmosDbMongo" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get Mongo to CosmosDb Mongo(vCore) database Migration with the expand parameter.": { "$ref": "./examples/CosmosDbMongoGetDatabaseMigrationExpanded1.json" }, "Get Mongo to CosmosDb Mongo(vCore) database Migration without the expand parameter.": { "$ref": "./examples/CosmosDbMongoGetDatabaseMigration1.json" } } }, "put": { "operationId": "DatabaseMigrationsMongoToCosmosDbvCoreMongo_Create", "tags": [ "DatabaseMigrations" ], "description": "Create or Update Database Migration resource.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "targetResourceName", "in": "path", "description": "The name of the target resource/account.", "required": true, "type": "string", "pattern": "^[A-Za-z][A-Za-z0-9_-]*$" }, { "name": "migrationName", "in": "path", "description": "Name of the migration.", "required": true, "type": "string", "pattern": "^[A-Za-z][A-Za-z0-9_-]*$" }, { "name": "parameters", "in": "body", "description": "Details of CosmosDB for Mongo API Migration resource.", "required": true, "schema": { "$ref": "#/definitions/DatabaseMigrationCosmosDbMongo" } } ], "responses": { "200": { "description": "Resource 'DatabaseMigrationCosmosDbMongo' update operation succeeded", "schema": { "$ref": "#/definitions/DatabaseMigrationCosmosDbMongo" } }, "201": { "description": "Resource 'DatabaseMigrationCosmosDbMongo' create operation succeeded", "schema": { "$ref": "#/definitions/DatabaseMigrationCosmosDbMongo" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Create Mongo to CosmosDb Mongo(vCore) Database Migration resource with Maximum parameters.": { "$ref": "./examples/CosmosDbMongoCreateOrUpdateDatabaseMigrationMAX1.json" }, "Create Mongo to CosmosDb Mongo(vCore) Database Migration resource with Minimum parameters.": { "$ref": "./examples/CosmosDbMongoCreateOrUpdateDatabaseMigrationMIN1.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/DatabaseMigrationCosmosDbMongo" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "DatabaseMigrationsMongoToCosmosDbvCoreMongo_Delete", "tags": [ "DatabaseMigrations" ], "description": "Delete Database Migration resource.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "targetResourceName", "in": "path", "description": "The name of the target resource/account.", "required": true, "type": "string", "pattern": "^[A-Za-z][A-Za-z0-9_-]*$" }, { "name": "migrationName", "in": "path", "description": "Name of the migration.", "required": true, "type": "string", "pattern": "^[A-Za-z][A-Za-z0-9_-]*$" }, { "name": "force", "in": "query", "description": "Optional force delete boolean. If this is provided as true, migration will be deleted even if active.", "required": false, "type": "boolean" } ], "responses": { "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Delete Mongo to CosmosDb Mongo(vCore) Database Migration resource.": { "$ref": "./examples/CosmosDbMongoDeleteDatabaseMigration1.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}": { "get": { "operationId": "DatabaseMigrationsSqlMi_Get", "tags": [ "DatabaseMigrations" ], "description": "Retrieve the specified database migration for a given SQL Managed Instance.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "managedInstanceName", "in": "path", "description": "The name of the target SQL Managed Instance.", "required": true, "type": "string" }, { "name": "targetDbName", "in": "path", "description": "The name of the target database.", "required": true, "type": "string" }, { "name": "migrationOperationId", "in": "query", "description": "Optional migration operation ID. If this is provided, then details of migration operation for that ID are retrieved. If not provided (default), then details related to most recent or current operation are retrieved.", "required": false, "type": "string", "format": "uuid" }, { "name": "$expand", "in": "query", "description": "Complete migration details be included in the response.", "required": false, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DatabaseMigrationSqlMi" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get Sql MI database Migration with the expand parameter.": { "$ref": "./examples/SqlMiGetDatabaseMigrationExpanded.json" }, "Get Sql MI database Migration without the expand parameter.": { "$ref": "./examples/SqlMiGetDatabaseMigration.json" } } }, "put": { "operationId": "DatabaseMigrationsSqlMi_CreateOrUpdate", "tags": [ "DatabaseMigrations" ], "description": "Create a new database migration to a given SQL Managed Instance.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "managedInstanceName", "in": "path", "description": "The name of the target SQL Managed Instance.", "required": true, "type": "string" }, { "name": "targetDbName", "in": "path", "description": "The name of the target database.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Details of SqlMigrationService resource.", "required": true, "schema": { "$ref": "#/definitions/DatabaseMigrationSqlMi" } } ], "responses": { "200": { "description": "Resource 'DatabaseMigrationSqlMi' update operation succeeded", "schema": { "$ref": "#/definitions/DatabaseMigrationSqlMi" } }, "201": { "description": "Resource 'DatabaseMigrationSqlMi' create operation succeeded", "schema": { "$ref": "#/definitions/DatabaseMigrationSqlMi" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Create or Update Database Migration resource from Azure Blob using Managed Identity.": { "$ref": "./examples/SqlMiCreateOrUpdateDatabaseMigrationBlobManagedIdentity.json" }, "Create or Update Database Migration resource with Maximum parameters.": { "$ref": "./examples/SqlMiCreateOrUpdateDatabaseMigrationMAX.json" }, "Create or Update Database Migration resource with Minimum parameters.": { "$ref": "./examples/SqlMiCreateOrUpdateDatabaseMigrationMIN.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/DatabaseMigrationSqlMi" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "DatabaseMigrationsSqlMi_Delete", "tags": [ "DatabaseMigrations" ], "description": "Delete Database Migration resource.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "managedInstanceName", "in": "path", "description": "The name of the target SQL Managed Instance.", "required": true, "type": "string" }, { "name": "targetDbName", "in": "path", "description": "The name of the target database.", "required": true, "type": "string" }, { "name": "force", "in": "query", "description": "Optional force delete boolean. If this is provided as true, migration will be deleted even if active.", "required": false, "type": "boolean" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DatabaseMigrationSqlMi" } }, "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Delete Database Migration resource with Minimum parameters.": { "$ref": "./examples/SqlMiDeleteDatabaseMigration.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/DatabaseMigrationSqlMi" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cancel": { "post": { "operationId": "DatabaseMigrationsSqlMi_cancel", "tags": [ "DatabaseMigrations" ], "description": "Stop in-progress database migration to SQL Managed Instance.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "managedInstanceName", "in": "path", "description": "The name of the target SQL Managed Instance.", "required": true, "type": "string" }, { "name": "targetDbName", "in": "path", "description": "The name of the target database.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Required migration operation ID for which cancel will be initiated.", "required": true, "schema": { "$ref": "#/definitions/MigrationOperationInput" } } ], "responses": { "200": { "description": "The request has succeeded." }, "202": { "description": "Resource operation accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Stop ongoing migration for the database.": { "$ref": "./examples/SqlMiCancelDatabaseMigration.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cutover": { "post": { "operationId": "DatabaseMigrationsSqlMi_cutover", "tags": [ "DatabaseMigrations" ], "description": "Initiate cutover for in-progress online database migration to SQL Managed Instance.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "managedInstanceName", "in": "path", "description": "The name of the target SQL Managed Instance.", "required": true, "type": "string" }, { "name": "targetDbName", "in": "path", "description": "The name of the target database.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Required migration operation ID for which cutover will be initiated.", "required": true, "schema": { "$ref": "#/definitions/MigrationOperationInput" } } ], "responses": { "200": { "description": "The request has succeeded." }, "202": { "description": "Resource operation accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Cutover online migration operation for the database.": { "$ref": "./examples/SqlMiCutoverDatabaseMigration.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{sqlDbInstanceName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}": { "get": { "operationId": "DatabaseMigrationsSqlDb_Get", "tags": [ "DatabaseMigrations" ], "description": "Retrieve the Database Migration resource.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "sqlDbInstanceName", "in": "path", "description": "The name of the target SQL DB instance.", "required": true, "type": "string" }, { "name": "targetDbName", "in": "path", "description": "The name of the target database.", "required": true, "type": "string" }, { "name": "migrationOperationId", "in": "query", "description": "Optional migration operation ID. If this is provided, then details of migration operation for that ID are retrieved. If not provided (default), then details related to most recent or current operation are retrieved.", "required": false, "type": "string", "format": "uuid" }, { "name": "$expand", "in": "query", "description": "Complete migration details be included in the response.", "required": false, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DatabaseMigrationSqlDb" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get Sql DB database Migration with the expand parameter.": { "$ref": "./examples/SqlDbGetDatabaseMigrationExpanded.json" }, "Get Sql DB database Migration without the expand parameter.": { "$ref": "./examples/SqlDbGetDatabaseMigration.json" } } }, "put": { "operationId": "DatabaseMigrationsSqlDb_CreateOrUpdate", "tags": [ "DatabaseMigrations" ], "description": "Create or Update Database Migration resource.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "sqlDbInstanceName", "in": "path", "description": "The name of the target SQL DB instance.", "required": true, "type": "string" }, { "name": "targetDbName", "in": "path", "description": "The name of the target database.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Details of Sql Db migration resource.", "required": true, "schema": { "$ref": "#/definitions/DatabaseMigrationSqlDb" } } ], "responses": { "200": { "description": "Resource 'DatabaseMigrationSqlDb' update operation succeeded", "schema": { "$ref": "#/definitions/DatabaseMigrationSqlDb" } }, "201": { "description": "Resource 'DatabaseMigrationSqlDb' create operation succeeded", "schema": { "$ref": "#/definitions/DatabaseMigrationSqlDb" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Create or Update Database Migration resource with Maximum parameters.": { "$ref": "./examples/SqlDbCreateOrUpdateDatabaseMigrationMAX.json" }, "Create or Update Database Migration resource with Minimum parameters.": { "$ref": "./examples/SqlDbCreateOrUpdateDatabaseMigrationMIN.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/DatabaseMigrationSqlDb" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "DatabaseMigrationsSqlDb_Delete", "tags": [ "DatabaseMigrations" ], "description": "Delete Database Migration resource.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "sqlDbInstanceName", "in": "path", "description": "The name of the target SQL DB instance.", "required": true, "type": "string" }, { "name": "targetDbName", "in": "path", "description": "The name of the target database.", "required": true, "type": "string" }, { "name": "force", "in": "query", "description": "Optional force delete boolean. If this is provided as true, migration will be deleted even if active.", "required": false, "type": "boolean" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Delete Database Migration resource.": { "$ref": "./examples/SqlDbDeleteDatabaseMigration.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{sqlDbInstanceName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cancel": { "post": { "operationId": "DatabaseMigrationsSqlDb_cancel", "tags": [ "DatabaseMigrations" ], "description": "Stop on going migration for the database.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "sqlDbInstanceName", "in": "path", "description": "The name of the target SQL DB instance.", "required": true, "type": "string" }, { "name": "targetDbName", "in": "path", "description": "The name of the target database.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Required migration operation ID for which cancel will be initiated.", "required": true, "schema": { "$ref": "#/definitions/MigrationOperationInput" } } ], "responses": { "200": { "description": "The request has succeeded." }, "202": { "description": "Resource operation accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Stop ongoing migration for the database.": { "$ref": "./examples/SqlDbCancelDatabaseMigration.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{sqlDbInstanceName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/retry": { "post": { "operationId": "DatabaseMigrationsSqlDb_retry", "tags": [ "DatabaseMigrations" ], "description": "Retry on going migration for the database.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "sqlDbInstanceName", "in": "path", "description": "The name of the target SQL DB instance.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,127}$" }, { "name": "targetDbName", "in": "path", "description": "The name of the target database.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,127}$" }, { "name": "migrationOperationInput", "in": "body", "description": "Required migration operation ID for which retry will be initiated.", "required": true, "schema": { "$ref": "#/definitions/MigrationOperationInput" } } ], "responses": { "202": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DatabaseMigrationSqlDb" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Retry Database Migration resource.": { "$ref": "./examples/SqlDbRetryDatabaseMigration.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/DatabaseMigrationSqlDb" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}": { "get": { "operationId": "DatabaseMigrationsSqlVm_Get", "tags": [ "DatabaseMigrations" ], "description": "Retrieve the specified database migration for a given SQL VM.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "sqlVirtualMachineName", "in": "path", "description": "The name of the target SQL Virtual Machine.", "required": true, "type": "string" }, { "name": "targetDbName", "in": "path", "description": "The name of the target database.", "required": true, "type": "string" }, { "name": "migrationOperationId", "in": "query", "description": "Optional migration operation ID. If this is provided, then details of migration operation for that ID are retrieved. If not provided (default), then details related to most recent or current operation are retrieved.", "required": false, "type": "string", "format": "uuid" }, { "name": "$expand", "in": "query", "description": "Complete migration details be included in the response.", "required": false, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DatabaseMigrationSqlVm" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get Sql VM database Migration with the expand parameter.": { "$ref": "./examples/SqlVmGetDatabaseMigrationExpanded.json" }, "Get Sql VM database Migration without the expand parameter.": { "$ref": "./examples/SqlVmGetDatabaseMigration.json" } } }, "put": { "operationId": "DatabaseMigrationsSqlVm_CreateOrUpdate", "tags": [ "DatabaseMigrations" ], "description": "Create a new database migration to a given SQL VM.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "sqlVirtualMachineName", "in": "path", "description": "The name of the target SQL Virtual Machine.", "required": true, "type": "string" }, { "name": "targetDbName", "in": "path", "description": "The name of the target database.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "Details of SqlMigrationService resource.", "required": true, "schema": { "$ref": "#/definitions/DatabaseMigrationSqlVm" } } ], "responses": { "200": { "description": "Resource 'DatabaseMigrationSqlVm' update operation succeeded", "schema": { "$ref": "#/definitions/DatabaseMigrationSqlVm" } }, "201": { "description": "Resource 'DatabaseMigrationSqlVm' create operation succeeded", "schema": { "$ref": "#/definitions/DatabaseMigrationSqlVm" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Create or Update Database Migration resource with Maximum parameters.": { "$ref": "./examples/SqlVmCreateOrUpdateDatabaseMigrationMAX.json" }, "Create or Update Database Migration resource with Minimum parameters.": { "$ref": "./examples/SqlVmCreateOrUpdateDatabaseMigrationMIN.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/DatabaseMigrationSqlVm" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "DatabaseMigrationsSqlVm_Delete", "tags": [ "DatabaseMigrationsSqlVm" ], "description": "Delete Database Migration resource.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "sqlVirtualMachineName", "in": "path", "description": "The name of the target SQL Virtual Machine.", "required": true, "type": "string" }, { "name": "targetDbName", "in": "path", "description": "The name of the target database.", "required": true, "type": "string" }, { "name": "force", "in": "query", "description": "Optional force delete boolean. If this is provided as true, migration will be deleted even if active.", "required": false, "type": "boolean" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/DatabaseMigrationSqlVm" } }, "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Create or Update Database Migration resource with Minimum parameters.": { "$ref": "./examples/SqlVmDeleteDatabaseMigration.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/DatabaseMigrationSqlVm" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cancel": { "post": { "operationId": "DatabaseMigrationsSqlVm_cancel", "tags": [ "DatabaseMigrations" ], "description": "Stop in-progress database migration to SQL VM.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "sqlVirtualMachineName", "in": "path", "description": "The name of the target SQL Virtual Machine.", "required": true, "type": "string" }, { "name": "targetDbName", "in": "path", "description": "The name of the target database.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "", "required": true, "schema": { "$ref": "#/definitions/MigrationOperationInput" } } ], "responses": { "200": { "description": "The request has succeeded." }, "202": { "description": "Resource operation accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Stop ongoing migration for the database.": { "$ref": "./examples/SqlVmCancelDatabaseMigration.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cutover": { "post": { "operationId": "DatabaseMigrationsSqlVm_cutover", "tags": [ "DatabaseMigrations" ], "description": "Initiate cutover for in-progress online database migration to SQL VM.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "sqlVirtualMachineName", "in": "path", "description": "The name of the target SQL Virtual Machine.", "required": true, "type": "string" }, { "name": "targetDbName", "in": "path", "description": "The name of the target database.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", "description": "", "required": true, "schema": { "$ref": "#/definitions/MigrationOperationInput" } } ], "responses": { "200": { "description": "The request has succeeded." }, "202": { "description": "Resource operation accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Cutover online migration operation for the database.": { "$ref": "./examples/SqlVmCutoverDatabaseMigration.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } } }, "definitions": { "ApiError": { "type": "object", "description": "Error information.", "properties": { "error": { "$ref": "#/definitions/ODataError", "description": "Error information in OData format" }, "systemData": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/systemData", "description": "Metadata pertaining to creation and last modification of the resource.", "readOnly": true } } }, "AuthType": { "type": "string", "description": "Authentication type used for accessing Azure Blob Storage.", "enum": [ "AccountKey", "ManagedIdentity" ], "x-ms-enum": { "name": "AuthType", "modelAsString": false, "values": [ { "name": "AccountKey", "value": "AccountKey", "description": "Use an account key for authentication." }, { "name": "ManagedIdentity", "value": "ManagedIdentity", "description": "Use a managed identity for authentication." } ] } }, "AuthenticationKeys": { "type": "object", "description": "An authentication key.", "properties": { "authKey1": { "type": "string", "format": "password", "description": "The first authentication key.", "x-ms-mutability": [ "read", "create" ], "x-ms-secret": true }, "authKey2": { "type": "string", "format": "password", "description": "The second authentication key.", "x-ms-mutability": [ "read", "create" ], "x-ms-secret": true } } }, "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, "values": [ { "name": "None", "value": "None", "description": "None" }, { "name": "WindowsAuthentication", "value": "WindowsAuthentication", "description": "WindowsAuthentication" }, { "name": "SqlAuthentication", "value": "SqlAuthentication", "description": "SqlAuthentication" }, { "name": "ActiveDirectoryIntegrated", "value": "ActiveDirectoryIntegrated", "description": "ActiveDirectoryIntegrated" }, { "name": "ActiveDirectoryPassword", "value": "ActiveDirectoryPassword", "description": "ActiveDirectoryPassword" } ] } }, "AvailableServiceSku": { "type": "object", "description": "Describes the available service SKU.", "properties": { "resourceType": { "type": "string", "description": "The resource type, including the provider namespace" }, "sku": { "$ref": "#/definitions/AvailableServiceSkuSku", "description": "SKU name, tier, etc." }, "capacity": { "$ref": "#/definitions/AvailableServiceSkuCapacity", "description": "A description of the scaling capacities of the SKU" } } }, "AvailableServiceSkuCapacity": { "type": "object", "description": "A description of the scaling capacities of the SKU", "properties": { "minimum": { "type": "integer", "format": "int32", "description": "The minimum capacity, usually 0 or 1." }, "maximum": { "type": "integer", "format": "int32", "description": "The maximum capacity" }, "default": { "type": "integer", "format": "int32", "description": "The default capacity" }, "scaleType": { "$ref": "#/definitions/ServiceScalability", "description": "The scalability approach" } } }, "AvailableServiceSkuSku": { "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\"" } } }, "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" }, "ignoreAzurePermissions": { "type": "boolean", "description": "Ignore checking azure permissions on the AAD app" } } }, "AzureBlob": { "type": "object", "description": "Azure Blob Details", "properties": { "authType": { "$ref": "#/definitions/AuthType", "description": "Authentication type used for accessing Azure Blob Storage." }, "identity": { "$ref": "../../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity", "description": "Identity details for authentication using a Managed Identity." }, "storageAccountResourceId": { "type": "string", "description": "Resource Id of the storage account where backups are stored." }, "accountKey": { "type": "string", "format": "password", "description": "Storage Account Key.", "x-ms-secret": true }, "blobContainerName": { "type": "string", "description": "Blob container name where backups are stored." } } }, "BackupConfiguration": { "type": "object", "description": "Backup Configuration", "properties": { "sourceLocation": { "$ref": "#/definitions/SourceLocation", "description": "Source location of backups." }, "targetLocation": { "$ref": "#/definitions/TargetLocation", "description": "Target location for copying backups." } } }, "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", "format": "int32", "description": "Sequence number of the backup file in the backup set" }, "status": { "$ref": "#/definitions/BackupFileStatus", "description": "Status of the backup file during migration" } } }, "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, "values": [ { "name": "Arrived", "value": "Arrived", "description": "Arrived" }, { "name": "Queued", "value": "Queued", "description": "Queued" }, { "name": "Uploading", "value": "Uploading", "description": "Uploading" }, { "name": "Uploaded", "value": "Uploaded", "description": "Uploaded" }, { "name": "Restoring", "value": "Restoring", "description": "Restoring" }, { "name": "Restored", "value": "Restored", "description": "Restored" }, { "name": "Cancelled", "value": "Cancelled", "description": "Cancelled" } ] } }, "BackupMode": { "type": "string", "description": "An enumeration of backup modes", "enum": [ "CreateBackup", "ExistingBackup" ], "x-ms-enum": { "name": "BackupMode", "modelAsString": true, "values": [ { "name": "CreateBackup", "value": "CreateBackup", "description": "CreateBackup" }, { "name": "ExistingBackup", "value": "ExistingBackup", "description": "ExistingBackup" } ] } }, "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", "description": "List of files in the backup set", "items": { "$ref": "#/definitions/BackupFileInfo" }, "x-ms-identifiers": [] }, "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" } } }, "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, "values": [ { "name": "Database", "value": "Database", "description": "Database" }, { "name": "TransactionLog", "value": "TransactionLog", "description": "TransactionLog" }, { "name": "File", "value": "File", "description": "File" }, { "name": "DifferentialDatabase", "value": "DifferentialDatabase", "description": "DifferentialDatabase" }, { "name": "DifferentialFile", "value": "DifferentialFile", "description": "DifferentialFile" }, { "name": "Partial", "value": "Partial", "description": "Partial" }, { "name": "DifferentialPartial", "value": "DifferentialPartial", "description": "DifferentialPartial" } ] } }, "BlobShare": { "type": "object", "description": "Blob container storage information.", "properties": { "sasUri": { "type": "string", "description": "SAS URI of Azure Storage Account Container." } } }, "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": { "$ref": "#/definitions/OracleOCIDriverInfo", "description": "Information about the installed driver if found and valid." }, "validationErrors": { "type": "array", "description": "Validation errors", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } } }, "CheckOCIDriverTaskProperties": { "type": "object", "description": "Properties for the task that checks for OCI drivers.", "properties": { "input": { "$ref": "#/definitions/CheckOCIDriverTaskInput", "description": "Input for the service task to check for OCI drivers." }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/CheckOCIDriverTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "Service.Check.OCI" }, "CommandProperties": { "type": "object", "description": "Base class for all types of DMS (classic) command properties. If command is not supported by current client, this object is returned.", "properties": { "commandType": { "$ref": "#/definitions/CommandType", "description": "Command type." }, "errors": { "type": "array", "description": "Array of errors. This is ignored if submitted.", "items": { "$ref": "#/definitions/ODataError" }, "readOnly": true, "x-ms-identifiers": [] }, "state": { "$ref": "#/definitions/CommandState", "description": "The state of the command. This is ignored if submitted.", "readOnly": true } }, "discriminator": "commandType", "required": [ "commandType" ] }, "CommandState": { "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, "values": [ { "name": "Unknown", "value": "Unknown", "description": "Unknown" }, { "name": "Accepted", "value": "Accepted", "description": "Accepted" }, { "name": "Running", "value": "Running", "description": "Running" }, { "name": "Succeeded", "value": "Succeeded", "description": "Succeeded" }, { "name": "Failed", "value": "Failed", "description": "Failed" } ] } }, "CommandType": { "type": "string", "description": "Command type.", "enum": [ "Migrate.Sync.Complete.Database", "Migrate.SqlServer.AzureDbSqlMi.Complete", "cancel", "finish", "restart" ], "x-ms-enum": { "name": "CommandType", "modelAsString": true, "values": [ { "name": "Migrate.Sync.Complete.Database", "value": "Migrate.Sync.Complete.Database", "description": "Migrate.Sync.Complete.Database" }, { "name": "Migrate.SqlServer.AzureDbSqlMi.Complete", "value": "Migrate.SqlServer.AzureDbSqlMi.Complete", "description": "Migrate.SqlServer.AzureDbSqlMi.Complete" }, { "name": "cancel", "value": "cancel", "description": "cancel" }, { "name": "finish", "value": "finish", "description": "finish" }, { "name": "restart", "value": "restart", "description": "restart" } ] } }, "ConnectToMongoDbTaskProperties": { "type": "object", "description": "Properties for the task that validates the connection to and provides information about a MongoDB server", "properties": { "input": { "$ref": "#/definitions/MongoDbConnectionInfo", "description": "Describes a connection to a MongoDB data source" }, "output": { "type": "array", "description": "An array containing a single MongoDbClusterInfo object", "items": { "$ref": "#/definitions/MongoDbClusterInfo" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "Connect.MongoDb" }, "ConnectToSourceMySqlTaskInput": { "type": "object", "description": "Input for the task that validates MySQL database connection", "properties": { "sourceConnectionInfo": { "$ref": "#/definitions/MySqlConnectionInfo", "description": "Information for connecting to MySQL source" }, "targetPlatform": { "$ref": "#/definitions/MySqlTargetPlatformType", "description": "Target Platform for the migration" }, "checkPermissionsGroup": { "$ref": "#/definitions/ServerLevelPermissionsGroup", "description": "Permission group for validations" }, "isOfflineMigration": { "type": "boolean", "description": "Flag for whether or not the migration is offline", "default": false } }, "required": [ "sourceConnectionInfo" ] }, "ConnectToSourceMySqlTaskProperties": { "type": "object", "description": "Properties for the task that validates MySQL database connection", "properties": { "input": { "$ref": "#/definitions/ConnectToSourceMySqlTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/ConnectToSourceNonSqlTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "ConnectToSource.MySql" }, "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": { "type": "array", "description": "Validation errors associated with the task", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } } }, "ConnectToSourceOracleSyncTaskInput": { "type": "object", "description": "Input for the task that validates Oracle database connection", "properties": { "sourceConnectionInfo": { "$ref": "#/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": { "type": "array", "description": "Validation errors associated with the task", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } } }, "ConnectToSourceOracleSyncTaskProperties": { "type": "object", "description": "Properties for the task that validates Oracle database connection", "properties": { "input": { "$ref": "#/definitions/ConnectToSourceOracleSyncTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/ConnectToSourceOracleSyncTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "ConnectToSource.Oracle.Sync" }, "ConnectToSourcePostgreSqlSyncTaskInput": { "type": "object", "description": "Input for the task that validates connection to PostgreSQL and source server requirements", "properties": { "sourceConnectionInfo": { "$ref": "#/definitions/PostgreSqlConnectionInfo", "description": "Connection information for source PostgreSQL server" } }, "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": { "type": "array", "description": "Validation errors associated with the task", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } } }, "ConnectToSourcePostgreSqlSyncTaskProperties": { "type": "object", "description": "Properties for the task that validates connection to PostgreSQL server and source server requirements for online migration", "properties": { "input": { "$ref": "#/definitions/ConnectToSourcePostgreSqlSyncTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/ConnectToSourcePostgreSqlSyncTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "ConnectToSource.PostgreSql.Sync" }, "ConnectToSourceSqlServerSyncTaskProperties": { "type": "object", "description": "Properties for the task that validates connection to SQL Server and source server requirements for online migration", "properties": { "input": { "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/ConnectToSourceSqlServerTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "ConnectToSource.SqlServer.Sync" }, "ConnectToSourceSqlServerTaskInput": { "type": "object", "description": "Input for the task that validates connection to SQL Server and also validates source server requirements", "properties": { "sourceConnectionInfo": { "$ref": "#/definitions/SqlConnectionInfo", "description": "Connection information for Source SQL Server" }, "checkPermissionsGroup": { "$ref": "#/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 }, "encryptedKeyForSecureFields": { "type": "string", "description": "encrypted key for secure fields" } }, "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": { "type": "string", "description": "Type of result - database level or task level" } }, "discriminator": "resultType", "required": [ "resultType" ] }, "ConnectToSourceSqlServerTaskOutputAgentJobLevel": { "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", "description": "UTC Date and time when the Agent Job was last executed.", "readOnly": true }, "validationErrors": { "type": "array", "description": "Validation errors", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] }, "migrationEligibility": { "$ref": "#/definitions/MigrationEligibilityInfo", "description": "Information about eligibility of agent job for migration.", "readOnly": true } }, "allOf": [ { "$ref": "#/definitions/ConnectToSourceSqlServerTaskOutput" } ], "x-ms-discriminator-value": "AgentJobLevelOutput" }, "ConnectToSourceSqlServerTaskOutputDatabaseLevel": { "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": "#/definitions/DatabaseFileInfo" }, "readOnly": true, "x-ms-identifiers": [] }, "compatibilityLevel": { "$ref": "#/definitions/DatabaseCompatLevel", "description": "SQL Server compatibility level of database", "readOnly": true }, "databaseState": { "$ref": "#/definitions/DatabaseState", "description": "State of the database", "readOnly": true } }, "allOf": [ { "$ref": "#/definitions/ConnectToSourceSqlServerTaskOutput" } ], "x-ms-discriminator-value": "DatabaseLevelOutput" }, "ConnectToSourceSqlServerTaskOutputLoginLevel": { "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": "#/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": "#/definitions/MigrationEligibilityInfo", "description": "Information about eligibility of login for migration.", "readOnly": true } }, "allOf": [ { "$ref": "#/definitions/ConnectToSourceSqlServerTaskOutput" } ], "x-ms-discriminator-value": "LoginLevelOutput" }, "ConnectToSourceSqlServerTaskOutputTaskLevel": { "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", "readOnly": true }, "logins": { "type": "string", "description": "Source logins as a map from login name to login id.", "readOnly": true }, "agentJobs": { "type": "string", "description": "Source agent jobs as a map from agent job name to id.", "readOnly": true }, "databaseTdeCertificateMapping": { "type": "string", "description": "Mapping from database name to TDE certificate name, if applicable", "readOnly": true }, "sourceServerVersion": { "type": "string", "description": "Source server version", "readOnly": true }, "sourceServerBrandVersion": { "type": "string", "description": "Source server brand version", "readOnly": true }, "validationErrors": { "type": "array", "description": "Validation errors", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ConnectToSourceSqlServerTaskOutput" } ], "x-ms-discriminator-value": "TaskLevelOutput" }, "ConnectToSourceSqlServerTaskProperties": { "type": "object", "description": "Properties for the task that validates connection to SQL Server and also validates source server requirements", "properties": { "input": { "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/ConnectToSourceSqlServerTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] }, "taskId": { "type": "string", "description": "Task id" } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "ConnectToSource.SqlServer" }, "ConnectToTargetAzureDbForMySqlTaskInput": { "type": "object", "description": "Input for the task that validates connection to Azure Database for MySQL and target server requirements", "properties": { "sourceConnectionInfo": { "$ref": "#/definitions/MySqlConnectionInfo", "description": "Connection information for source MySQL server" }, "targetConnectionInfo": { "$ref": "#/definitions/MySqlConnectionInfo", "description": "Connection information for target Azure Database for MySQL server" }, "isOfflineMigration": { "type": "boolean", "description": "Flag for whether or not the migration is offline", "default": false } }, "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": { "type": "array", "description": "Validation errors associated with the task", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } } }, "ConnectToTargetAzureDbForMySqlTaskProperties": { "type": "object", "description": "Properties for the task that validates connection to Azure Database for MySQL and target server requirements", "properties": { "input": { "$ref": "#/definitions/ConnectToTargetAzureDbForMySqlTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/ConnectToTargetAzureDbForMySqlTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "ConnectToTarget.AzureDbForMySql" }, "ConnectToTargetAzureDbForPostgreSqlSyncTaskInput": { "type": "object", "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements", "properties": { "sourceConnectionInfo": { "$ref": "#/definitions/PostgreSqlConnectionInfo", "description": "Connection information for source PostgreSQL server" }, "targetConnectionInfo": { "$ref": "#/definitions/PostgreSqlConnectionInfo", "description": "Connection information for target Azure Database for PostgreSQL server" } }, "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": { "type": "array", "description": "Validation errors associated with the task", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } } }, "ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties": { "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": { "$ref": "#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "ConnectToTarget.AzureDbForPostgreSql.Sync" }, "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": { "$ref": "#/definitions/PostgreSqlConnectionInfo", "description": "Connection information for target Azure Database for PostgreSQL server" } }, "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": { "type": "array", "description": "Validation errors associated with the task", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] }, "databaseSchemaMap": { "type": "array", "description": "Mapping of schemas per database", "items": { "$ref": "#/definitions/ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem" }, "x-ms-identifiers": [] } } }, "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem": { "type": "object", "properties": { "database": { "type": "string" }, "schemas": { "type": "array", "items": { "type": "string" } } } }, "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties": { "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": { "$ref": "#/definitions/ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync" }, "ConnectToTargetSqlDbTaskInput": { "type": "object", "description": "Input for the task that validates connection to SQL DB and target server requirements", "properties": { "targetConnectionInfo": { "$ref": "#/definitions/SqlConnectionInfo", "description": "Connection information for target SQL DB" }, "queryObjectCounts": { "type": "boolean", "description": "Boolean flag indicating whether to query object counts for each database on the target server" } }, "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", "readOnly": true }, "targetServerVersion": { "type": "string", "description": "Version of the target server", "readOnly": true }, "targetServerBrandVersion": { "type": "string", "description": "Target server brand version", "readOnly": true } } }, "ConnectToTargetSqlDbTaskProperties": { "type": "object", "description": "Properties for the task that validates connection to SQL DB and target server requirements", "properties": { "input": { "$ref": "#/definitions/ConnectToTargetSqlDbTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/ConnectToTargetSqlDbTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] }, "createdOn": { "type": "string", "description": "DateTime in UTC when the task was created" } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "ConnectToTarget.SqlDb" }, "ConnectToTargetSqlMISyncTaskInput": { "type": "object", "description": "Input for the task that validates connection to Azure SQL Database Managed Instance online scenario.", "properties": { "targetConnectionInfo": { "$ref": "#/definitions/MiSqlConnectionInfo", "description": "Connection information for Azure SQL Database Managed Instance" }, "azureApp": { "$ref": "#/definitions/AzureActiveDirectoryApp", "description": "Azure Active Directory Application the DMS (classic) instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account" } }, "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": { "type": "array", "description": "Validation errors", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } } }, "ConnectToTargetSqlMISyncTaskProperties": { "type": "object", "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance", "properties": { "input": { "$ref": "#/definitions/ConnectToTargetSqlMISyncTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/ConnectToTargetSqlMISyncTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "ConnectToTarget.AzureSqlDbMI.Sync.LRS" }, "ConnectToTargetSqlMITaskInput": { "type": "object", "description": "Input for the task that validates connection to Azure SQL Database Managed Instance.", "properties": { "targetConnectionInfo": { "$ref": "#/definitions/SqlConnectionInfo", "description": "Connection information for target SQL Server" }, "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": { "type": "array", "description": "Validation errors", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } } }, "ConnectToTargetSqlMITaskProperties": { "type": "object", "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance", "properties": { "input": { "$ref": "#/definitions/ConnectToTargetSqlMITaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/ConnectToTargetSqlMITaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "ConnectToTarget.AzureSqlDbMI" }, "ConnectToTargetSqlSqlDbSyncTaskInput": { "type": "object", "description": "Input for the task that validates connection to Azure SQL DB and target server requirements", "properties": { "sourceConnectionInfo": { "$ref": "#/definitions/SqlConnectionInfo", "description": "Connection information for source SQL Server" }, "targetConnectionInfo": { "$ref": "#/definitions/SqlConnectionInfo", "description": "Connection information for target SQL DB" } }, "required": [ "sourceConnectionInfo", "targetConnectionInfo" ] }, "ConnectToTargetSqlSqlDbSyncTaskProperties": { "type": "object", "description": "Properties for the task that validates connection to SQL DB and target server requirements for online migration", "properties": { "input": { "$ref": "#/definitions/ConnectToTargetSqlSqlDbSyncTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/ConnectToTargetSqlDbTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "ConnectToTarget.SqlDb.Sync" }, "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." } }, "discriminator": "type", "required": [ "type" ] }, "CopyProgressDetails": { "type": "object", "description": "Details on progress of ADF copy activity", "properties": { "tableName": { "type": "string", "description": "Table Name", "readOnly": true }, "status": { "type": "string", "description": "Status of the Copy activity (InProgress, Succeeded, Failed, Canceled).", "readOnly": true }, "parallelCopyType": { "type": "string", "description": "Type of parallel copy (Dynamic range, Physical partition, none).", "readOnly": true }, "usedParallelCopies": { "type": "integer", "format": "int32", "description": "The degree of parallelization.", "readOnly": true }, "dataRead": { "type": "integer", "format": "int64", "description": "Bytes read", "readOnly": true }, "dataWritten": { "type": "integer", "format": "int64", "description": "Bytes written", "readOnly": true }, "rowsRead": { "type": "integer", "format": "int64", "description": "Rows read", "readOnly": true }, "rowsCopied": { "type": "integer", "format": "int64", "description": "Rows Copied", "readOnly": true }, "copyStart": { "type": "string", "format": "date-time", "description": "Copy Start", "readOnly": true }, "copyThroughput": { "type": "number", "format": "double", "description": "Copy throughput in KBps", "readOnly": true }, "copyDuration": { "type": "integer", "format": "int32", "description": "Copy Duration in seconds", "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": { "$ref": "#/definitions/ValidationError", "description": "List of errors that happened while performing data integrity validation" } } }, "DataMigrationService": { "type": "object", "description": "An Azure Database Migration Service (classic) resource", "properties": { "properties": { "$ref": "#/definitions/DataMigrationServiceProperties", "description": "Custom service properties", "x-ms-client-flatten": true }, "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." }, "sku": { "$ref": "#/definitions/ServiceSku", "description": "Service SKU" }, "location": { "type": "string", "x-ms-mutability": [ "read", "create" ] }, "tags": { "type": "object", "additionalProperties": { "type": "string" } } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "DataMigrationServiceList": { "type": "object", "description": "OData page of service objects", "properties": { "value": { "type": "array", "description": "The DataMigrationService items on this page", "items": { "$ref": "#/definitions/DataMigrationService" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "DataMigrationServiceProperties": { "type": "object", "description": "Properties of the Azure Database Migration Service (classic) instance", "properties": { "provisioningState": { "$ref": "#/definitions/ServiceProvisioningState", "description": "The resource's provisioning state", "readOnly": 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" }, "autoStopDelay": { "type": "string", "description": "The time delay before the service is auto-stopped when idle." }, "deleteResourcesOnStop": { "type": "boolean", "description": "Whether service resources should be deleted when stopped. (Turned on by default)" } } }, "DataMigrationServiceStatusResponse": { "type": "object", "description": "Service health status", "properties": { "agentVersion": { "type": "string", "description": "The DMS instance agent version" }, "agentConfiguration": { "description": "Agent Configuration" }, "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" } } } }, "DatabaseBackupInfo": { "type": "object", "description": "Information about backup files when existing backup mode is used.", "properties": { "databaseName": { "type": "string", "description": "Database name.", "readOnly": true }, "backupType": { "$ref": "#/definitions/BackupType", "description": "Backup Type.", "readOnly": true }, "backupFiles": { "type": "array", "description": "The list of backup files for the current database.", "items": { "type": "string" }, "readOnly": true }, "position": { "type": "integer", "format": "int32", "description": "Position of current database backup in the file.", "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", "format": "int32", "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 } } }, "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, "values": [ { "name": "CompatLevel80", "value": "CompatLevel80", "description": "CompatLevel80" }, { "name": "CompatLevel90", "value": "CompatLevel90", "description": "CompatLevel90" }, { "name": "CompatLevel100", "value": "CompatLevel100", "description": "CompatLevel100" }, { "name": "CompatLevel110", "value": "CompatLevel110", "description": "CompatLevel110" }, { "name": "CompatLevel120", "value": "CompatLevel120", "description": "CompatLevel120" }, { "name": "CompatLevel130", "value": "CompatLevel130", "description": "CompatLevel130" }, { "name": "CompatLevel140", "value": "CompatLevel140", "description": "CompatLevel140" } ] } }, "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, "values": [ { "name": "Rows", "value": "Rows", "description": "Rows" }, { "name": "Log", "value": "Log", "description": "Log" }, { "name": "Filestream", "value": "Filestream", "description": "Filestream" }, { "name": "NotSupported", "value": "NotSupported", "description": "NotSupported" }, { "name": "Fulltext", "value": "Fulltext", "description": "Fulltext" } ] } }, "DatabaseInfo": { "type": "object", "description": "Project Database Details", "properties": { "sourceDatabaseName": { "type": "string", "description": "Name of the database" } }, "required": [ "sourceDatabaseName" ] }, "DatabaseMigration": { "type": "object", "description": "Database Migration Resource.", "properties": { "properties": { "$ref": "#/definitions/DatabaseMigrationProperties", "description": "Database Migration Resource properties." } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "DatabaseMigrationBase": { "type": "object", "description": "Database Migration Resource.", "properties": { "properties": { "$ref": "#/definitions/DatabaseMigrationBaseProperties", "description": "Database Migration Base Resource properties." } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "DatabaseMigrationBaseListResult": { "type": "object", "description": "The response of a DatabaseMigrationBase list operation.", "properties": { "value": { "type": "array", "description": "The DatabaseMigrationBase items on this page", "items": { "$ref": "#/definitions/DatabaseMigrationBase" }, "readOnly": true }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "DatabaseMigrationBaseProperties": { "type": "object", "description": "Database Migration Base Resource properties.", "properties": { "kind": { "$ref": "#/definitions/ResourceType" }, "scope": { "type": "string", "description": "Resource Id of the target resource.", "x-ms-mutability": [ "read", "create" ] }, "provisioningState": { "$ref": "#/definitions/ProvisioningState", "description": "Provisioning State of migration. ProvisioningState as Succeeded implies that validations have been performed and migration has started.", "readOnly": true }, "migrationStatus": { "type": "string", "description": "Migration status.", "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 }, "migrationService": { "type": "string", "format": "arm-id", "description": "Resource Id of the Migration Service.", "x-ms-arm-id-details": { "allowedResources": [ { "type": "Microsoft.DataMigration/migrationServices" }, { "type": "Microsoft.DataMigration/sqlMigrationServices" } ] } }, "migrationOperationId": { "type": "string", "description": "ID for current migration operation." }, "migrationFailureError": { "$ref": "#/definitions/ErrorInfo", "description": "Error details in case of migration failure.", "readOnly": true }, "provisioningError": { "type": "string", "description": "Error message for migration provisioning failure, if any." } }, "discriminator": "kind", "required": [ "kind" ] }, "DatabaseMigrationCosmosDbMongo": { "type": "object", "description": "Database Migration Resource for Mongo to CosmosDb.", "properties": { "properties": { "$ref": "#/definitions/DatabaseMigrationPropertiesCosmosDbMongo", "description": "Database Migration Resource properties for CosmosDb for Mongo.", "x-ms-client-flatten": true } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "DatabaseMigrationCosmosDbMongoListResult": { "type": "object", "description": "The response of a DatabaseMigrationCosmosDbMongo list operation.", "properties": { "value": { "type": "array", "description": "The DatabaseMigrationCosmosDbMongo items on this page", "items": { "$ref": "#/definitions/DatabaseMigrationCosmosDbMongo" }, "readOnly": true }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "DatabaseMigrationListResult": { "type": "object", "description": "The response of a DatabaseMigration list operation.", "properties": { "value": { "type": "array", "description": "The DatabaseMigration items on this page", "items": { "$ref": "#/definitions/DatabaseMigration" }, "readOnly": true }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "DatabaseMigrationProperties": { "type": "object", "description": "Database Migration Resource properties.", "properties": { "sourceSqlConnection": { "$ref": "#/definitions/SqlConnectionInformation", "description": "Source SQL Server connection details." }, "sourceDatabaseName": { "type": "string", "description": "Name of the source database." }, "sourceServerName": { "type": "string", "description": "Name of the source sql server.", "readOnly": true }, "targetDatabaseCollation": { "type": "string", "description": "Database collation to be used for the target database." }, "sqlServerInstanceId": { "type": "string", "description": "Optional property - Resource Id for the source Sql server instance. Validations are performed on this property to ensure that it follows the correct format.", "x-ms-mutability": [ "read", "create" ] } }, "allOf": [ { "$ref": "#/definitions/DatabaseMigrationBaseProperties" } ], "x-ms-discriminator-value": "DatabaseMigrationProperties" }, "DatabaseMigrationPropertiesCosmosDbMongo": { "type": "object", "description": "Database Migration Resource properties for CosmosDb for Mongo.", "properties": { "sourceMongoConnection": { "$ref": "#/definitions/MongoConnectionInformation", "description": "Source Mongo connection details." }, "targetMongoConnection": { "$ref": "#/definitions/MongoConnectionInformation", "description": "Target Cosmos DB Mongo connection details." }, "collectionList": { "type": "array", "description": "List of Mongo Collections to be migrated.", "items": { "$ref": "#/definitions/MongoMigrationCollection" }, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/DatabaseMigrationBaseProperties" } ], "x-ms-discriminator-value": "MongoToCosmosDbMongo" }, "DatabaseMigrationPropertiesSqlDb": { "type": "object", "description": "Database Migration Resource properties for SQL database.", "properties": { "migrationStatusDetails": { "$ref": "#/definitions/SqlDbMigrationStatusDetails", "description": "Detailed migration status. Not included by default.", "readOnly": true }, "targetSqlConnection": { "$ref": "#/definitions/SqlConnectionInformation", "description": "Target SQL DB connection details." }, "offlineConfiguration": { "$ref": "#/definitions/SqlDbOfflineConfiguration", "description": "Offline configuration.", "readOnly": true }, "tableList": { "type": "array", "description": "List of tables to copy.", "items": { "type": "string" } } }, "allOf": [ { "$ref": "#/definitions/DatabaseMigrationProperties" } ], "x-ms-discriminator-value": "SqlDb" }, "DatabaseMigrationPropertiesSqlMi": { "type": "object", "description": "Database Migration Resource properties for SQL Managed Instance.", "properties": { "migrationStatusDetails": { "$ref": "#/definitions/MigrationStatusDetails", "description": "Detailed migration status. Not included by default.", "readOnly": true }, "backupConfiguration": { "$ref": "#/definitions/BackupConfiguration", "description": "Backup configuration info." }, "offlineConfiguration": { "$ref": "#/definitions/OfflineConfiguration", "description": "Offline configuration." } }, "allOf": [ { "$ref": "#/definitions/DatabaseMigrationProperties" } ], "x-ms-discriminator-value": "SqlMi" }, "DatabaseMigrationPropertiesSqlVm": { "type": "object", "description": "Database Migration Resource properties for SQL Virtual Machine.", "properties": { "migrationStatusDetails": { "$ref": "#/definitions/MigrationStatusDetails", "description": "Detailed migration status. Not included by default.", "readOnly": true }, "backupConfiguration": { "$ref": "#/definitions/BackupConfiguration", "description": "Backup configuration info." }, "offlineConfiguration": { "$ref": "#/definitions/OfflineConfiguration", "description": "Offline configuration." } }, "allOf": [ { "$ref": "#/definitions/DatabaseMigrationProperties" } ], "x-ms-discriminator-value": "SqlVm" }, "DatabaseMigrationSqlDb": { "type": "object", "description": "Database Migration Resource for SQL Database.", "properties": { "properties": { "$ref": "#/definitions/DatabaseMigrationPropertiesSqlDb", "description": "Database Migration Resource properties for SQL database." } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "DatabaseMigrationSqlMi": { "type": "object", "description": "Database Migration Resource for SQL Managed Instance.", "properties": { "properties": { "$ref": "#/definitions/DatabaseMigrationPropertiesSqlMi", "description": "Database Migration Resource properties for SQL Managed Instance." } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "DatabaseMigrationSqlVm": { "type": "object", "description": "Database Migration Resource for SQL Virtual Machine.", "properties": { "properties": { "$ref": "#/definitions/DatabaseMigrationPropertiesSqlVm", "description": "Database Migration Resource properties for SQL Virtual Machine." } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "DatabaseMigrationStage": { "type": "string", "description": "Current stage of migration", "enum": [ "None", "Initialize", "Backup", "FileCopy", "Restore", "Completed" ], "x-ms-enum": { "name": "DatabaseMigrationStage", "modelAsString": true, "values": [ { "name": "None", "value": "None", "description": "None" }, { "name": "Initialize", "value": "Initialize", "description": "Initialize" }, { "name": "Backup", "value": "Backup", "description": "Backup" }, { "name": "FileCopy", "value": "FileCopy", "description": "FileCopy" }, { "name": "Restore", "value": "Restore", "description": "Restore" }, { "name": "Completed", "value": "Completed", "description": "Completed" } ] } }, "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, "values": [ { "name": "UNDEFINED", "value": "UNDEFINED", "description": "UNDEFINED" }, { "name": "INITIAL", "value": "INITIAL", "description": "INITIAL" }, { "name": "FULL_BACKUP_UPLOAD_START", "value": "FULL_BACKUP_UPLOAD_START", "description": "FULL_BACKUP_UPLOAD_START" }, { "name": "LOG_SHIPPING_START", "value": "LOG_SHIPPING_START", "description": "LOG_SHIPPING_START" }, { "name": "UPLOAD_LOG_FILES_START", "value": "UPLOAD_LOG_FILES_START", "description": "UPLOAD_LOG_FILES_START" }, { "name": "CUTOVER_START", "value": "CUTOVER_START", "description": "CUTOVER_START" }, { "name": "POST_CUTOVER_COMPLETE", "value": "POST_CUTOVER_COMPLETE", "description": "POST_CUTOVER_COMPLETE" }, { "name": "COMPLETED", "value": "COMPLETED", "description": "COMPLETED" }, { "name": "CANCELLED", "value": "CANCELLED", "description": "CANCELLED" }, { "name": "FAILED", "value": "FAILED", "description": "FAILED" } ] } }, "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, "values": [ { "name": "Online", "value": "Online", "description": "Online" }, { "name": "Restoring", "value": "Restoring", "description": "Restoring" }, { "name": "Recovering", "value": "Recovering", "description": "Recovering" }, { "name": "RecoveryPending", "value": "RecoveryPending", "description": "RecoveryPending" }, { "name": "Suspect", "value": "Suspect", "description": "Suspect" }, { "name": "Emergency", "value": "Emergency", "description": "Emergency" }, { "name": "Offline", "value": "Offline", "description": "Offline" }, { "name": "Copying", "value": "Copying", "description": "Copying" }, { "name": "OfflineSecondary", "value": "OfflineSecondary", "description": "OfflineSecondary" } ] } }, "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 } } }, "ErrorInfo": { "type": "object", "description": "Error details", "properties": { "code": { "type": "string", "description": "Error code.", "readOnly": true }, "message": { "type": "string", "description": "Error message.", "readOnly": true } } }, "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": { "$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" } } } }, "FileList": { "type": "object", "description": "OData page of files", "properties": { "value": { "type": "array", "description": "The ProjectFile items on this page", "items": { "$ref": "#/definitions/ProjectFile" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "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" ] }, "FileStorageInfo": { "type": "object", "description": "File storage information.", "properties": { "uri": { "type": "string", "description": "A URI that can be used to access the file content." }, "headers": { "type": "object", "description": "Dictionary of ", "additionalProperties": { "type": "string" } } } }, "GetTdeCertificatesSqlTaskInput": { "type": "object", "description": "Input for the task that gets TDE certificates in Base64 encoded format.", "properties": { "connectionInfo": { "$ref": "#/definitions/SqlConnectionInfo", "description": "Connection information for SQL Server" }, "backupFileShare": { "$ref": "#/definitions/FileShare", "description": "Backup file share information for file share to be used for temporarily storing files." }, "selectedCertificates": { "type": "array", "description": "List containing certificate names and corresponding password to use for encrypting the exported certificate.", "items": { "$ref": "#/definitions/SelectedCertificateInput" }, "x-ms-identifiers": [] } }, "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.", "readOnly": true }, "validationErrors": { "type": "array", "description": "Validation errors", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } } }, "GetTdeCertificatesSqlTaskProperties": { "type": "object", "description": "Properties for the task that gets TDE certificates in Base64 encoded format.", "properties": { "input": { "$ref": "#/definitions/GetTdeCertificatesSqlTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/GetTdeCertificatesSqlTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "GetTDECertificates.Sql" }, "GetUserTablesMySqlTaskInput": { "type": "object", "description": "Input for the task that collects user tables for the given list of databases", "properties": { "connectionInfo": { "$ref": "#/definitions/MySqlConnectionInfo", "description": "Connection information for SQL Server" }, "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", "readOnly": true }, "validationErrors": { "type": "array", "description": "Validation errors", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } } }, "GetUserTablesMySqlTaskProperties": { "type": "object", "description": "Properties for the task that collects user tables for the given list of databases", "properties": { "input": { "$ref": "#/definitions/GetUserTablesMySqlTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/GetUserTablesMySqlTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "GetUserTablesMySql" }, "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": "#/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": "#/definitions/DatabaseTable" }, "readOnly": true, "x-ms-identifiers": [] }, "validationErrors": { "type": "array", "description": "Validation errors associated with the task", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } } }, "GetUserTablesOracleTaskProperties": { "type": "object", "description": "Properties for the task that collects user tables for the given list of Oracle schemas", "properties": { "input": { "$ref": "#/definitions/GetUserTablesOracleTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/GetUserTablesOracleTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "GetUserTablesOracle" }, "GetUserTablesPostgreSqlTaskInput": { "type": "object", "description": "Input for the task that gets the list of tables for a provided list of PostgreSQL databases.", "properties": { "connectionInfo": { "$ref": "#/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": "#/definitions/DatabaseTable" }, "readOnly": true, "x-ms-identifiers": [] }, "validationErrors": { "type": "array", "description": "Validation errors associated with the task", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } } }, "GetUserTablesPostgreSqlTaskProperties": { "type": "object", "description": "Properties for the task that collects user tables for the given list of databases", "properties": { "input": { "$ref": "#/definitions/GetUserTablesPostgreSqlTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/GetUserTablesPostgreSqlTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "GetUserTablesPostgreSql" }, "GetUserTablesSqlSyncTaskInput": { "type": "object", "description": "Input for the task that collects user tables for the given list of databases", "properties": { "sourceConnectionInfo": { "$ref": "#/definitions/SqlConnectionInfo", "description": "Connection information for SQL Server" }, "targetConnectionInfo": { "$ref": "#/definitions/SqlConnectionInfo", "description": "Connection information for SQL DB" }, "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", "readOnly": true }, "databasesToTargetTables": { "type": "string", "description": "Mapping from database name to list of target tables", "readOnly": true }, "tableValidationErrors": { "type": "string", "description": "Mapping from database name to list of validation errors", "readOnly": true }, "validationErrors": { "type": "array", "description": "Validation errors", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } } }, "GetUserTablesSqlSyncTaskProperties": { "type": "object", "description": "Properties for the task that collects user tables for the given list of databases", "properties": { "input": { "$ref": "#/definitions/GetUserTablesSqlSyncTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/GetUserTablesSqlSyncTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "GetUserTables.AzureSqlDb.Sync" }, "GetUserTablesSqlTaskInput": { "type": "object", "description": "Input for the task that collects user tables for the given list of databases", "properties": { "connectionInfo": { "$ref": "#/definitions/SqlConnectionInfo", "description": "Connection information for SQL Server" }, "selectedDatabases": { "type": "array", "description": "List of database names to collect tables for", "items": { "type": "string" } }, "encryptedKeyForSecureFields": { "type": "string", "description": "encrypted key for secure fields" } }, "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", "readOnly": true }, "validationErrors": { "type": "array", "description": "Validation errors", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } } }, "GetUserTablesSqlTaskProperties": { "type": "object", "description": "Properties for the task that collects user tables for the given list of databases", "properties": { "input": { "$ref": "#/definitions/GetUserTablesSqlTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/GetUserTablesSqlTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] }, "taskId": { "type": "string", "description": "Task id" } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "GetUserTables.Sql" }, "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": { "type": "array", "description": "Validation errors", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } } }, "InstallOCIDriverTaskProperties": { "type": "object", "description": "Properties for the task that installs an OCI driver.", "properties": { "input": { "$ref": "#/definitions/InstallOCIDriverTaskInput", "description": "Input for the service task to install an OCI driver." }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/InstallOCIDriverTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "Service.Install.OCI" }, "IntegrationRuntimeMonitoringData": { "type": "object", "description": "Integration Runtime Monitoring Data.", "properties": { "name": { "type": "string", "description": "The name of Integration Runtime.", "readOnly": true }, "nodes": { "type": "array", "description": "Integration Runtime node monitoring data.", "items": { "$ref": "#/definitions/NodeMonitoringData" }, "readOnly": true, "x-ms-identifiers": [] } } }, "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, "values": [ { "name": "None", "value": "None", "description": "None" }, { "name": "Initialize", "value": "Initialize", "description": "Initialize" }, { "name": "LoginMigration", "value": "LoginMigration", "description": "LoginMigration" }, { "name": "EstablishUserMapping", "value": "EstablishUserMapping", "description": "EstablishUserMapping" }, { "name": "AssignRoleMembership", "value": "AssignRoleMembership", "description": "AssignRoleMembership" }, { "name": "AssignRoleOwnership", "value": "AssignRoleOwnership", "description": "AssignRoleOwnership" }, { "name": "EstablishServerPermissions", "value": "EstablishServerPermissions", "description": "EstablishServerPermissions" }, { "name": "EstablishObjectPermissions", "value": "EstablishObjectPermissions", "description": "EstablishObjectPermissions" }, { "name": "Completed", "value": "Completed", "description": "Completed" } ] } }, "LoginType": { "type": "string", "description": "Enum mapping of SMO LoginType.", "enum": [ "WindowsUser", "WindowsGroup", "SqlLogin", "Certificate", "AsymmetricKey", "ExternalUser", "ExternalGroup" ], "x-ms-enum": { "name": "LoginType", "modelAsString": true, "values": [ { "name": "WindowsUser", "value": "WindowsUser", "description": "WindowsUser" }, { "name": "WindowsGroup", "value": "WindowsGroup", "description": "WindowsGroup" }, { "name": "SqlLogin", "value": "SqlLogin", "description": "SqlLogin" }, { "name": "Certificate", "value": "Certificate", "description": "Certificate" }, { "name": "AsymmetricKey", "value": "AsymmetricKey", "description": "AsymmetricKey" }, { "name": "ExternalUser", "value": "ExternalUser", "description": "ExternalUser" }, { "name": "ExternalGroup", "value": "ExternalGroup", "description": "ExternalGroup" } ] } }, "MiSqlConnectionInfo": { "type": "object", "description": "Properties required to create a connection to Azure SQL database Managed instance", "properties": { "managedInstanceResourceId": { "type": "string", "description": "Resource id for Azure SQL database Managed instance" } }, "required": [ "managedInstanceResourceId" ], "allOf": [ { "$ref": "#/definitions/ConnectionInfo" } ], "x-ms-discriminator-value": "MiSqlConnectionInfo" }, "MigrateMISyncCompleteCommandInput": { "type": "object", "description": "Input for command that completes online migration for an Azure SQL Database Managed Instance.", "properties": { "sourceDatabaseName": { "type": "string", "description": "Name of managed instance database" } }, "required": [ "sourceDatabaseName" ] }, "MigrateMISyncCompleteCommandOutput": { "type": "object", "description": "Output for command that completes online migration for an Azure SQL Database Managed Instance.", "properties": { "errors": { "type": "array", "description": "List of errors that happened during the command execution", "items": { "$ref": "#/definitions/ReportableException" }, "x-ms-identifiers": [] } } }, "MigrateMISyncCompleteCommandProperties": { "type": "object", "description": "Properties for the command that completes online migration for an Azure SQL Database Managed Instance.", "properties": { "input": { "$ref": "#/definitions/MigrateMISyncCompleteCommandInput", "description": "Command input" }, "output": { "$ref": "#/definitions/MigrateMISyncCompleteCommandOutput", "description": "Command output. This is ignored if submitted.", "readOnly": true } }, "allOf": [ { "$ref": "#/definitions/CommandProperties" } ], "x-ms-discriminator-value": "Migrate.SqlServer.AzureDbSqlMi.Complete" }, "MigrateMongoDbTaskProperties": { "type": "object", "description": "Properties for the task that migrates data between MongoDB data sources", "properties": { "input": { "$ref": "#/definitions/MongoDbMigrationSettings", "description": "Describes how a MongoDB data migration should be performed" }, "output": { "type": "array", "items": { "$ref": "#/definitions/MongoDbProgress" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "Migrate.MongoDb" }, "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" } } } }, "MigrateMySqlAzureDbForMySqlOfflineTaskInput": { "type": "object", "description": "Input for the task that migrates MySQL databases to Azure Database for MySQL for offline migrations", "properties": { "sourceConnectionInfo": { "$ref": "#/definitions/MySqlConnectionInfo", "description": "Connection information for source MySQL" }, "targetConnectionInfo": { "$ref": "#/definitions/MySqlConnectionInfo", "description": "Connection information for target Azure Database for MySQL" }, "selectedDatabases": { "type": "array", "description": "Databases to migrate", "items": { "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlOfflineDatabaseInput" }, "x-ms-identifiers": [] }, "makeSourceServerReadOnly": { "type": "boolean", "description": "Setting to set the source server read only" }, "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" } }, "encryptedKeyForSecureFields": { "type": "string", "description": "encrypted key for secure fields" } }, "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": { "type": "string", "description": "Result type" } }, "discriminator": "resultType", "required": [ "resultType" ] }, "MigrateMySqlAzureDbForMySqlOfflineTaskOutputDatabaseLevel": { "type": "object", "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": "#/definitions/MigrationState", "description": "Current state of migration", "readOnly": true }, "stage": { "$ref": "#/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": { "type": "array", "description": "Migration exceptions and warnings.", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] }, "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", "readOnly": true } }, "allOf": [ { "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlOfflineTaskOutput" } ], "x-ms-discriminator-value": "DatabaseLevelOutput" }, "MigrateMySqlAzureDbForMySqlOfflineTaskOutputError": { "type": "object", "properties": { "error": { "$ref": "#/definitions/ReportableException", "description": "Migration error", "readOnly": true } }, "allOf": [ { "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlOfflineTaskOutput" } ], "x-ms-discriminator-value": "ErrorOutput" }, "MigrateMySqlAzureDbForMySqlOfflineTaskOutputMigrationLevel": { "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": "#/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" }, "databaseSummary": { "type": "string", "description": "Summary of database results in the migration", "readOnly": true }, "migrationReportResult": { "$ref": "#/definitions/MigrationReportResult", "description": "Migration Report Result, provides unique url for downloading your migration report." }, "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": { "type": "array", "description": "Migration exceptions and warnings.", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] }, "lastStorageUpdate": { "type": "string", "format": "date-time", "description": "Last time the storage was updated", "readOnly": true } }, "allOf": [ { "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlOfflineTaskOutput" } ], "x-ms-discriminator-value": "MigrationLevelOutput" }, "MigrateMySqlAzureDbForMySqlOfflineTaskOutputTableLevel": { "type": "object", "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": "#/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" } ], "x-ms-discriminator-value": "TableLevelOutput" }, "MigrateMySqlAzureDbForMySqlOfflineTaskProperties": { "type": "object", "description": "Properties for the task that migrates MySQL databases to Azure Database for MySQL for offline migrations", "properties": { "input": { "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlOfflineTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlOfflineTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] }, "isCloneable": { "type": "boolean", "description": "whether the task can be cloned or not" }, "taskId": { "type": "string", "description": "Task id" } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "Migrate.MySql.AzureDbForMySql" }, "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" } } } }, "MigrateMySqlAzureDbForMySqlSyncTaskInput": { "type": "object", "description": "Input for the task that migrates MySQL databases to Azure Database for MySQL for online migrations", "properties": { "sourceConnectionInfo": { "$ref": "#/definitions/MySqlConnectionInfo", "description": "Connection information for source MySQL" }, "targetConnectionInfo": { "$ref": "#/definitions/MySqlConnectionInfo", "description": "Connection information for target Azure Database for MySQL" }, "selectedDatabases": { "type": "array", "description": "Databases to migrate", "items": { "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncDatabaseInput" }, "x-ms-identifiers": [] } }, "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": { "type": "string", "description": "Result type" } }, "discriminator": "resultType", "required": [ "resultType" ] }, "MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError": { "type": "object", "properties": { "errorMessage": { "type": "string", "description": "Error message" }, "events": { "type": "array", "description": "List of error events.", "items": { "$ref": "#/definitions/SyncMigrationDatabaseErrorEvent" }, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskOutput" } ], "x-ms-discriminator-value": "DatabaseLevelErrorOutput" }, "MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel": { "type": "object", "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": "#/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" } ], "x-ms-discriminator-value": "DatabaseLevelOutput" }, "MigrateMySqlAzureDbForMySqlSyncTaskOutputError": { "type": "object", "properties": { "error": { "$ref": "#/definitions/ReportableException", "description": "Migration error", "readOnly": true } }, "allOf": [ { "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskOutput" } ], "x-ms-discriminator-value": "ErrorOutput" }, "MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel": { "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" } ], "x-ms-discriminator-value": "MigrationLevelOutput" }, "MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel": { "type": "object", "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": "#/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" } ], "x-ms-discriminator-value": "TableLevelOutput" }, "MigrateMySqlAzureDbForMySqlSyncTaskProperties": { "type": "object", "description": "Properties for the task that migrates MySQL databases to Azure Database for MySQL for online migrations", "properties": { "input": { "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "Migrate.MySql.AzureDbForMySql.Sync" }, "MigrateOracleAzureDbForPostgreSqlSyncTaskProperties": { "type": "object", "description": "Properties for the task that migrates Oracle to Azure Database for PostgreSQL for online migrations", "properties": { "input": { "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "Migrate.Oracle.AzureDbForPostgreSql.Sync" }, "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" } } } }, "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" }, "x-ms-identifiers": [] }, "targetConnectionInfo": { "$ref": "#/definitions/PostgreSqlConnectionInfo", "description": "Connection information for target Azure Database for PostgreSQL" }, "sourceConnectionInfo": { "$ref": "#/definitions/OracleConnectionInfo", "description": "Connection information for source Oracle" } }, "required": [ "selectedDatabases", "targetConnectionInfo", "sourceConnectionInfo" ] }, "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": { "type": "string", "description": "Result type" } }, "discriminator": "resultType", "required": [ "resultType" ] }, "MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError": { "type": "object", "properties": { "errorMessage": { "type": "string", "description": "Error message" }, "events": { "type": "array", "description": "List of error events.", "items": { "$ref": "#/definitions/SyncMigrationDatabaseErrorEvent" }, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskOutput" } ], "x-ms-discriminator-value": "DatabaseLevelErrorOutput" }, "MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel": { "type": "object", "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": "#/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" } ], "x-ms-discriminator-value": "DatabaseLevelOutput" }, "MigrateOracleAzureDbPostgreSqlSyncTaskOutputError": { "type": "object", "properties": { "error": { "$ref": "#/definitions/ReportableException", "description": "Migration error", "readOnly": true } }, "allOf": [ { "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskOutput" } ], "x-ms-discriminator-value": "ErrorOutput" }, "MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel": { "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" } ], "x-ms-discriminator-value": "MigrationLevelOutput" }, "MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel": { "type": "object", "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": "#/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" } ], "x-ms-discriminator-value": "TableLevelOutput" }, "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" }, "id": { "type": "string", "description": "Result identifier", "readOnly": true }, "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": {} }, "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" }, "x-ms-identifiers": [] } } }, "MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput": { "type": "object", "description": "Selected tables for the migration", "properties": { "name": { "type": "string", "description": "Name of the table to migrate" } } }, "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" }, "x-ms-identifiers": [] }, "targetConnectionInfo": { "$ref": "#/definitions/PostgreSqlConnectionInfo", "description": "Connection information for target Azure Database for PostgreSQL" }, "sourceConnectionInfo": { "$ref": "#/definitions/PostgreSqlConnectionInfo", "description": "Connection information for source PostgreSQL" }, "encryptedKeyForSecureFields": { "type": "string", "description": "encrypted key for secure fields" }, "startedOn": { "type": "string", "format": "date-time", "description": "Migration start time", "readOnly": true } }, "required": [ "selectedDatabases", "targetConnectionInfo", "sourceConnectionInfo" ] }, "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": { "type": "string", "description": "Result type" } }, "discriminator": "resultType", "required": [ "resultType" ] }, "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError": { "type": "object", "properties": { "errorMessage": { "type": "string", "description": "Error message" }, "events": { "type": "array", "description": "List of error events.", "items": { "$ref": "#/definitions/SyncMigrationDatabaseErrorEvent" }, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput" } ], "x-ms-discriminator-value": "DatabaseLevelErrorOutput" }, "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel": { "type": "object", "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": "#/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" } ], "x-ms-discriminator-value": "DatabaseLevelOutput" }, "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError": { "type": "object", "properties": { "error": { "$ref": "#/definitions/ReportableException", "description": "Migration error", "readOnly": true }, "events": { "type": "array", "description": "List of error events", "items": { "$ref": "#/definitions/SyncMigrationDatabaseErrorEvent" }, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput" } ], "x-ms-discriminator-value": "ErrorOutput" }, "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel": { "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": "#/definitions/ScenarioSource", "description": "Source server type.", "readOnly": true }, "targetServerType": { "$ref": "#/definitions/ScenarioTarget", "description": "Target server type.", "readOnly": true }, "state": { "$ref": "#/definitions/ReplicateMigrationState", "description": "Migration status", "readOnly": true }, "databaseCount": { "type": "number", "format": "float", "description": "Number of databases to include" } }, "allOf": [ { "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput" } ], "x-ms-discriminator-value": "MigrationLevelOutput" }, "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel": { "type": "object", "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": "#/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" } ], "x-ms-discriminator-value": "TableLevelOutput" }, "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties": { "type": "object", "description": "Properties for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations", "properties": { "input": { "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] }, "taskId": { "type": "string", "description": "task id" }, "createdOn": { "type": "string", "description": "DateTime in UTC when the task was created" }, "isCloneable": { "type": "boolean", "description": "whether the task can be cloned or not" } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2" }, "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" }, "id": { "type": "string", "description": "Id of the source database" }, "targetDatabaseName": { "type": "string", "description": "Name of target database" }, "schemaSetting": { "$ref": "#/definitions/SchemaMigrationSetting", "description": "Database schema migration settings" } } }, "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" }, "x-ms-identifiers": [] }, "encryptedKeyForSecureFields": { "type": "string", "description": "encrypted key for secure fields" }, "startedOn": { "type": "string", "description": "Migration start time" } }, "required": [ "selectedDatabases" ], "allOf": [ { "$ref": "#/definitions/SqlMigrationTaskInput" } ] }, "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": { "type": "string", "description": "Result type" } }, "discriminator": "resultType", "required": [ "resultType" ] }, "MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel": { "type": "object", "properties": { "databaseName": { "type": "string", "description": "The name of the database", "readOnly": true }, "state": { "$ref": "#/definitions/MigrationState", "description": "State of the schema migration for this database", "readOnly": true }, "stage": { "$ref": "#/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" } ], "x-ms-discriminator-value": "DatabaseLevelOutput" }, "MigrateSchemaSqlServerSqlDbTaskOutputError": { "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" } ], "x-ms-discriminator-value": "SchemaErrorOutput" }, "MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel": { "type": "object", "properties": { "state": { "$ref": "#/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" } ], "x-ms-discriminator-value": "MigrationLevelOutput" }, "MigrateSchemaSqlServerSqlDbTaskProperties": { "type": "object", "description": "Properties for task that migrates Schema for SQL Server databases to Azure SQL databases", "properties": { "input": { "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] }, "createdOn": { "type": "string", "description": "DateTime in UTC when the task was created" }, "taskId": { "type": "string", "description": "Task id" }, "isCloneable": { "type": "boolean", "description": "whether the task can be cloned or not" } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "MigrateSchemaSqlServerSqlDb" }, "MigrateSchemaSqlTaskOutputError": { "type": "object", "properties": { "error": { "$ref": "#/definitions/ReportableException", "description": "Migration error", "readOnly": true } }, "allOf": [ { "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbTaskOutput" } ], "x-ms-discriminator-value": "ErrorOutput" }, "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" } }, "schemaSetting": { "description": "Settings selected for DB schema migration." }, "id": { "type": "string", "description": "id of the database" } } }, "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" } } } }, "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": "#/definitions/MigrateSqlServerSqlDbSyncDatabaseInput" }, "x-ms-identifiers": [] }, "validationOptions": { "$ref": "#/definitions/MigrationValidationOptions", "description": "Validation options" } }, "required": [ "selectedDatabases" ], "allOf": [ { "$ref": "#/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": { "type": "string", "description": "Result type" } }, "discriminator": "resultType", "required": [ "resultType" ] }, "MigrateSqlServerSqlDbSyncTaskOutputDatabaseError": { "type": "object", "properties": { "errorMessage": { "type": "string", "description": "Error message" }, "events": { "type": "array", "description": "List of error events.", "items": { "$ref": "#/definitions/SyncMigrationDatabaseErrorEvent" }, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskOutput" } ], "x-ms-discriminator-value": "DatabaseLevelErrorOutput" }, "MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel": { "type": "object", "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": "#/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" } ], "x-ms-discriminator-value": "DatabaseLevelOutput" }, "MigrateSqlServerSqlDbSyncTaskOutputError": { "type": "object", "properties": { "error": { "$ref": "#/definitions/ReportableException", "description": "Migration error", "readOnly": true } }, "allOf": [ { "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskOutput" } ], "x-ms-discriminator-value": "ErrorOutput" }, "MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel": { "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", "format": "int32", "description": "Count of databases", "readOnly": true } }, "allOf": [ { "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskOutput" } ], "x-ms-discriminator-value": "MigrationLevelOutput" }, "MigrateSqlServerSqlDbSyncTaskOutputTableLevel": { "type": "object", "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": "#/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" } ], "x-ms-discriminator-value": "TableLevelOutput" }, "MigrateSqlServerSqlDbSyncTaskProperties": { "type": "object", "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations", "properties": { "input": { "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "Migrate.SqlServer.AzureSqlDb.Sync" }, "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": "#/definitions/MigrateSqlServerSqlDbDatabaseInput" }, "x-ms-identifiers": [] }, "validationOptions": { "$ref": "#/definitions/MigrationValidationOptions", "description": "Options for enabling various post migration validations. Available options,\n1.) Data Integrity Check: Performs a checksum based comparison on source and target tables after the migration to ensure the correctness of the data.\n2.) 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." }, "startedOn": { "type": "string", "description": "Date and time relative to UTC when the migration was started on" }, "encryptedKeyForSecureFields": { "type": "string", "description": "encrypted key for secure fields" } }, "required": [ "selectedDatabases" ], "allOf": [ { "$ref": "#/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": { "type": "string", "description": "Result type" } }, "discriminator": "resultType", "required": [ "resultType" ] }, "MigrateSqlServerSqlDbTaskOutputDatabaseLevel": { "type": "object", "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": "#/definitions/MigrationState", "description": "Current state of migration", "readOnly": true }, "stage": { "$ref": "#/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": { "type": "array", "description": "Migration exceptions and warnings.", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] }, "objectSummary": { "type": "string", "description": "Summary of object results in the migration", "readOnly": true } }, "allOf": [ { "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" } ], "x-ms-discriminator-value": "DatabaseLevelOutput" }, "MigrateSqlServerSqlDbTaskOutputDatabaseLevelValidationResult": { "type": "object", "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": { "$ref": "#/definitions/DataIntegrityValidationResult", "description": "Provides data integrity validation result between the source and target tables that are migrated.", "readOnly": true }, "schemaValidationResult": { "$ref": "#/definitions/SchemaComparisonValidationResult", "description": "Provides schema comparison result between source and target database", "readOnly": true }, "queryAnalysisValidationResult": { "$ref": "#/definitions/QueryAnalysisValidationResult", "description": "Results of some of the query execution result between source and target database", "readOnly": true }, "status": { "$ref": "#/definitions/ValidationStatus", "description": "Current status of validation at the database level", "readOnly": true } }, "allOf": [ { "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" } ], "x-ms-discriminator-value": "MigrationDatabaseLevelValidationOutput" }, "MigrateSqlServerSqlDbTaskOutputError": { "type": "object", "properties": { "error": { "$ref": "#/definitions/ReportableException", "description": "Migration error", "readOnly": true } }, "allOf": [ { "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" } ], "x-ms-discriminator-value": "ErrorOutput" }, "MigrateSqlServerSqlDbTaskOutputMigrationLevel": { "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": "#/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", "readOnly": true }, "databaseSummary": { "type": "string", "description": "Summary of database results in the migration", "readOnly": true }, "migrationValidationResult": { "$ref": "#/definitions/MigrationValidationResult", "description": "Migration Validation Results" }, "migrationReportResult": { "$ref": "#/definitions/MigrationReportResult", "description": "Migration Report Result, provides unique url for downloading your migration report." }, "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": { "type": "array", "description": "Migration exceptions and warnings.", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" } ], "x-ms-discriminator-value": "MigrationLevelOutput" }, "MigrateSqlServerSqlDbTaskOutputTableLevel": { "type": "object", "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": "#/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" } ], "x-ms-discriminator-value": "TableLevelOutput" }, "MigrateSqlServerSqlDbTaskOutputValidationResult": { "type": "object", "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 } }, "allOf": [ { "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" } ], "x-ms-discriminator-value": "MigrationValidationOutput" }, "MigrateSqlServerSqlDbTaskProperties": { "type": "object", "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database", "properties": { "input": { "$ref": "#/definitions/MigrateSqlServerSqlDbTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] }, "taskId": { "type": "string", "description": "task id" }, "isCloneable": { "type": "boolean", "description": "whether the task can be cloned or not" }, "createdOn": { "type": "string", "description": "DateTime in UTC when the task was created" } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "Migrate.SqlServer.SqlDb" }, "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" } }, "id": { "type": "string", "description": "id of the database" } }, "required": [ "name", "restoreDatabaseName" ] }, "MigrateSqlServerSqlMISyncTaskInput": { "type": "object", "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario.", "properties": { "numberOfParallelDatabaseMigrations": { "type": "number", "format": "float", "description": "Number of database migrations to start in parallel" } }, "allOf": [ { "$ref": "#/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": { "type": "string", "description": "Result type" } }, "discriminator": "resultType", "required": [ "resultType" ] }, "MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel": { "type": "object", "properties": { "sourceDatabaseName": { "type": "string", "description": "Name of the database", "readOnly": true }, "migrationState": { "$ref": "#/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": { "$ref": "#/definitions/BackupSetInfo", "description": "Details of full backup set", "readOnly": true }, "lastRestoredBackupSetInfo": { "$ref": "#/definitions/BackupSetInfo", "description": "Last applied backup set information", "readOnly": true }, "activeBackupSets": { "type": "array", "description": "Backup sets that are currently active (Either being uploaded or getting restored)", "items": { "$ref": "#/definitions/BackupSetInfo" }, "readOnly": true, "x-ms-identifiers": [] }, "containerName": { "type": "string", "description": "Name of container created in the Azure Storage account where backups are copied to", "readOnly": true }, "errorPrefix": { "type": "string", "description": "prefix string to use for querying errors for this database", "readOnly": true }, "isFullBackupRestored": { "type": "boolean", "description": "Whether full backup has been applied to the target database or not", "readOnly": true }, "exceptionsAndWarnings": { "type": "array", "description": "Migration exceptions and warnings", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskOutput" } ], "x-ms-discriminator-value": "DatabaseLevelOutput" }, "MigrateSqlServerSqlMISyncTaskOutputError": { "type": "object", "properties": { "error": { "$ref": "#/definitions/ReportableException", "description": "Migration error", "readOnly": true } }, "allOf": [ { "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskOutput" } ], "x-ms-discriminator-value": "ErrorOutput" }, "MigrateSqlServerSqlMISyncTaskOutputMigrationLevel": { "type": "object", "properties": { "databaseCount": { "type": "integer", "format": "int32", "description": "Count of databases", "readOnly": true }, "state": { "$ref": "#/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", "format": "int32", "description": "Number of database level errors", "readOnly": true } }, "allOf": [ { "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskOutput" } ], "x-ms-discriminator-value": "MigrationLevelOutput" }, "MigrateSqlServerSqlMISyncTaskProperties": { "type": "object", "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance sync scenario", "properties": { "input": { "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] }, "createdOn": { "type": "string", "description": "DateTime in UTC when the task was created" } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS" }, "MigrateSqlServerSqlMITaskInput": { "type": "object", "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance.", "properties": { "selectedDatabases": { "type": "array", "description": "Databases to migrate", "items": { "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" }, "x-ms-identifiers": [] }, "startedOn": { "type": "string", "description": "Date and time relative to UTC when the migration was started on" }, "selectedLogins": { "type": "array", "description": "Logins to migrate.", "items": { "type": "string" } }, "selectedAgentJobs": { "type": "array", "description": "Agent Jobs to migrate.", "items": { "type": "string" } }, "backupFileShare": { "$ref": "#/definitions/FileShare", "description": "Backup file share information for all selected databases." }, "backupBlobShare": { "$ref": "#/definitions/BlobShare", "description": "SAS URI of Azure Storage Account Container to be used for storing backup files." }, "backupMode": { "$ref": "#/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" }, "encryptedKeyForSecureFields": { "type": "string", "description": "encrypted key for secure fields" } }, "required": [ "selectedDatabases", "backupBlobShare" ], "allOf": [ { "$ref": "#/definitions/SqlMigrationTaskInput" } ] }, "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": { "type": "string", "description": "Result type" } }, "discriminator": "resultType", "required": [ "resultType" ] }, "MigrateSqlServerSqlMITaskOutputAgentJobLevel": { "type": "object", "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": "#/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": { "type": "array", "description": "Migration errors and warnings per job", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput" } ], "x-ms-discriminator-value": "AgentJobLevelOutput" }, "MigrateSqlServerSqlMITaskOutputDatabaseLevel": { "type": "object", "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": "#/definitions/MigrationState", "description": "Current state of migration", "readOnly": true }, "stage": { "$ref": "#/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": { "type": "array", "description": "Migration exceptions and warnings", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput" } ], "x-ms-discriminator-value": "DatabaseLevelOutput" }, "MigrateSqlServerSqlMITaskOutputError": { "type": "object", "properties": { "error": { "$ref": "#/definitions/ReportableException", "description": "Migration error", "readOnly": true } }, "allOf": [ { "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput" } ], "x-ms-discriminator-value": "ErrorOutput" }, "MigrateSqlServerSqlMITaskOutputLoginLevel": { "type": "object", "properties": { "loginName": { "type": "string", "description": "Login name.", "readOnly": true }, "state": { "$ref": "#/definitions/MigrationState", "description": "Current state of login", "readOnly": true }, "stage": { "$ref": "#/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": { "type": "array", "description": "Login migration errors and warnings per login", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput" } ], "x-ms-discriminator-value": "LoginLevelOutput" }, "MigrateSqlServerSqlMITaskOutputMigrationLevel": { "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 }, "status": { "$ref": "#/definitions/MigrationStatus", "description": "Current status of migration", "readOnly": true }, "state": { "$ref": "#/definitions/MigrationState", "description": "Current state of migration", "readOnly": true }, "agentJobs": { "type": "string", "description": "Selected agent jobs as a map from name to id", "readOnly": true }, "logins": { "type": "string", "description": "Selected logins as a map from name to id", "readOnly": true }, "message": { "type": "string", "description": "Migration progress message", "readOnly": true }, "serverRoleResults": { "type": "string", "description": "Map of server role migration results.", "readOnly": true }, "orphanedUsersInfo": { "type": "array", "description": "List of orphaned users.", "items": { "$ref": "#/definitions/OrphanedUserInfo" }, "readOnly": true, "x-ms-identifiers": [] }, "databases": { "type": "string", "description": "Selected databases as a map from database name to database id", "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": { "type": "array", "description": "Migration exceptions and warnings.", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput" } ], "x-ms-discriminator-value": "MigrationLevelOutput" }, "MigrateSqlServerSqlMITaskProperties": { "type": "object", "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance", "properties": { "input": { "$ref": "#/definitions/MigrateSqlServerSqlMITaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput" }, "readOnly": true, "x-ms-identifiers": [] }, "taskId": { "type": "string", "description": "task id" }, "createdOn": { "type": "string", "description": "DateTime in UTC when the task was created" }, "parentTaskId": { "type": "string", "description": "parent task id" }, "isCloneable": { "type": "boolean", "description": "whether the task can be cloned or not" } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "Migrate.SqlServer.AzureSqlDbMI" }, "MigrateSsisTaskInput": { "type": "object", "description": "Input for task that migrates SSIS packages from SQL Server to Azure SQL Database Managed Instance.", "properties": { "ssisMigrationInfo": { "$ref": "#/definitions/SsisMigrationInfo", "description": "SSIS package migration information." } }, "required": [ "ssisMigrationInfo" ], "allOf": [ { "$ref": "#/definitions/SqlMigrationTaskInput" } ] }, "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": { "type": "string", "description": "Result type" } }, "discriminator": "resultType", "required": [ "resultType" ] }, "MigrateSsisTaskOutputMigrationLevel": { "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 }, "status": { "$ref": "#/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": { "type": "array", "description": "Migration exceptions and warnings.", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] }, "stage": { "$ref": "#/definitions/SsisMigrationStage", "description": "Stage of SSIS migration.", "readOnly": true } }, "allOf": [ { "$ref": "#/definitions/MigrateSsisTaskOutput" } ], "x-ms-discriminator-value": "MigrationLevelOutput" }, "MigrateSsisTaskOutputProjectLevel": { "type": "object", "properties": { "folderName": { "type": "string", "description": "Name of the folder", "readOnly": true }, "projectName": { "type": "string", "description": "Name of the project", "readOnly": true }, "state": { "$ref": "#/definitions/MigrationState", "description": "Current state of migration", "readOnly": true }, "stage": { "$ref": "#/definitions/SsisMigrationStage", "description": "Stage of SSIS 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": { "type": "array", "description": "Migration exceptions and warnings", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/MigrateSsisTaskOutput" } ], "x-ms-discriminator-value": "SsisProjectLevelOutput" }, "MigrateSsisTaskProperties": { "type": "object", "description": "Properties for task that migrates SSIS packages from SQL Server databases to Azure SQL Database Managed Instance.", "properties": { "input": { "$ref": "#/definitions/MigrateSsisTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/MigrateSsisTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "Migrate.Ssis" }, "MigrateSyncCompleteCommandInput": { "type": "object", "description": "Input for command that completes sync migration for a database.", "properties": { "databaseName": { "type": "string", "description": "Name of database" }, "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": { "type": "array", "description": "List of errors that happened during the command execution", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } } }, "MigrateSyncCompleteCommandProperties": { "type": "object", "description": "Properties for the command that completes sync migration for a database.", "properties": { "input": { "$ref": "#/definitions/MigrateSyncCompleteCommandInput", "description": "Command input" }, "output": { "$ref": "#/definitions/MigrateSyncCompleteCommandOutput", "description": "Command output. This is ignored if submitted.", "readOnly": true }, "commandId": { "type": "string", "description": "Command id" } }, "allOf": [ { "$ref": "#/definitions/CommandProperties" } ], "x-ms-discriminator-value": "Migrate.Sync.Complete.Database" }, "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": { "type": "array", "description": "Information about eligibility failure for the server object.", "items": { "type": "string" }, "readOnly": true } } }, "MigrationOperationInput": { "type": "object", "description": "Migration Operation Input", "properties": { "migrationOperationId": { "type": "string", "format": "uuid", "description": "ID tracking migration operation." } } }, "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." } } }, "MigrationService": { "type": "object", "description": "A Migration Service.", "properties": { "properties": { "$ref": "#/definitions/MigrationServiceProperties", "description": "The Migration Service properties.", "x-ms-client-flatten": true } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" } ] }, "MigrationServiceListResult": { "type": "object", "description": "The response of a MigrationService list operation.", "properties": { "value": { "type": "array", "description": "The MigrationService items on this page", "items": { "$ref": "#/definitions/MigrationService" }, "readOnly": true }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "MigrationServiceProperties": { "type": "object", "description": "The Migration Service properties.", "properties": { "provisioningState": { "$ref": "#/definitions/ProvisioningState", "description": "Provisioning state to track the async operation status.", "readOnly": true }, "integrationRuntimeState": { "type": "string", "description": "Current state of the Integration runtime.", "readOnly": true } } }, "MigrationServiceUpdate": { "type": "object", "description": "An update to a Migration Service.", "properties": { "tags": { "type": "object", "description": "Dictionary of ", "additionalProperties": { "type": "string" } } } }, "MigrationState": { "type": "string", "description": "Current state of migration", "enum": [ "None", "InProgress", "Failed", "Warning", "Completed", "Skipped", "Stopped" ], "x-ms-enum": { "name": "MigrationState", "modelAsString": true, "values": [ { "name": "None", "value": "None", "description": "None" }, { "name": "InProgress", "value": "InProgress", "description": "InProgress" }, { "name": "Failed", "value": "Failed", "description": "Failed" }, { "name": "Warning", "value": "Warning", "description": "Warning" }, { "name": "Completed", "value": "Completed", "description": "Completed" }, { "name": "Skipped", "value": "Skipped", "description": "Skipped" }, { "name": "Stopped", "value": "Stopped", "description": "Stopped" } ] } }, "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, "values": [ { "name": "Default", "value": "Default", "description": "Default" }, { "name": "Connecting", "value": "Connecting", "description": "Connecting" }, { "name": "SourceAndTargetSelected", "value": "SourceAndTargetSelected", "description": "SourceAndTargetSelected" }, { "name": "SelectLogins", "value": "SelectLogins", "description": "SelectLogins" }, { "name": "Configured", "value": "Configured", "description": "Configured" }, { "name": "Running", "value": "Running", "description": "Running" }, { "name": "Error", "value": "Error", "description": "Error" }, { "name": "Stopped", "value": "Stopped", "description": "Stopped" }, { "name": "Completed", "value": "Completed", "description": "Completed" }, { "name": "CompletedWithWarnings", "value": "CompletedWithWarnings", "description": "CompletedWithWarnings" } ] } }, "MigrationStatusDetails": { "type": "object", "description": "Detailed status of current migration.", "properties": { "migrationState": { "type": "string", "description": "Current State of Migration.", "readOnly": true }, "fullBackupSetInfo": { "$ref": "#/definitions/SqlBackupSetInfo", "description": "Details of full backup set.", "readOnly": true }, "lastRestoredBackupSetInfo": { "$ref": "#/definitions/SqlBackupSetInfo", "description": "Last applied backup set information.", "readOnly": true }, "activeBackupSets": { "type": "array", "description": "Backup sets that are currently active.", "items": { "$ref": "#/definitions/SqlBackupSetInfo" }, "readOnly": true, "x-ms-identifiers": [] }, "invalidFiles": { "type": "array", "description": "Files that are not valid backup files.", "items": { "type": "string" }, "readOnly": true }, "blobContainerName": { "type": "string", "description": "Name of blob container.", "readOnly": true }, "isFullBackupRestored": { "type": "boolean", "description": "Whether full backup has been applied to the target database or not.", "readOnly": true }, "restoreBlockingReason": { "type": "string", "description": "Restore blocking reason, if any", "readOnly": true }, "completeRestoreErrorMessage": { "type": "string", "description": "Complete restore error message, if any", "readOnly": true }, "fileUploadBlockingErrors": { "type": "array", "description": "File upload blocking errors, if any.", "items": { "type": "string" }, "readOnly": true }, "currentRestoringFilename": { "type": "string", "description": "File name that is currently being restored.", "readOnly": true }, "lastRestoredFilename": { "type": "string", "description": "Last restored file name.", "readOnly": true }, "pendingLogBackupsCount": { "type": "integer", "format": "int32", "description": "Total pending log backups.", "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 } } }, "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." } } }, "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 } } }, "MongoConnectionInformation": { "type": "object", "description": "Mongo Connection", "properties": { "host": { "type": "string", "description": "Host of mongo connection." }, "port": { "type": "integer", "format": "int32", "description": "Port of mongo connection." }, "userName": { "type": "string", "description": "User name to connect to Mongo.", "x-ms-mutability": [ "update", "create" ] }, "password": { "type": "string", "format": "password", "description": "Password to connect to Mongo.", "x-ms-mutability": [ "update", "create" ], "x-ms-secret": true }, "useSsl": { "type": "boolean", "description": "Whether to UseSsl or UseTls to connect to Mongo. Default is true.", "x-ms-mutability": [ "update", "create" ] }, "connectionString": { "type": "string", "format": "password", "description": "ConnectionString to connect to Mongo.", "x-ms-mutability": [ "update", "create" ], "x-ms-secret": true } } }, "MongoDbCancelCommand": { "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": "#/definitions/CommandProperties" } ], "x-ms-discriminator-value": "cancel" }, "MongoDbClusterInfo": { "type": "object", "description": "Describes a MongoDB data source", "properties": { "databases": { "type": "array", "description": "A list of non-system databases in the cluster", "items": { "$ref": "#/definitions/MongoDbDatabaseInfo" }, "x-ms-identifiers": [] }, "supportsSharding": { "type": "boolean", "description": "Whether the cluster supports sharded collections" }, "type": { "$ref": "#/definitions/MongoDbClusterType", "description": "The type of data source" }, "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" ] }, "MongoDbClusterType": { "type": "string", "description": "The type of data source", "enum": [ "BlobContainer", "CosmosDb", "MongoDb" ], "x-ms-enum": { "name": "MongoDbClusterType", "modelAsString": true, "values": [ { "name": "BlobContainer", "value": "BlobContainer", "description": "BlobContainer" }, { "name": "CosmosDb", "value": "CosmosDb", "description": "CosmosDb" }, { "name": "MongoDb", "value": "MongoDb", "description": "MongoDb" } ] } }, "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" } }, "required": [ "databaseName", "isCapped", "isSystemCollection", "isView", "supportsSharding" ], "allOf": [ { "$ref": "#/definitions/MongoDbObjectInfo" } ] }, "MongoDbCollectionProgress": { "type": "object", "description": "Describes the progress of a collection", "allOf": [ { "$ref": "#/definitions/MongoDbProgress" } ], "x-ms-discriminator-value": "Collection" }, "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", "description": "Describes a MongoDB shard key" }, "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" } } }, "MongoDbConnectionInfo": { "type": "object", "description": "Describes a connection to a MongoDB data source", "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" }, "dataSource": { "type": "string", "description": "Data source" }, "encryptConnection": { "type": "boolean", "description": "Whether to encrypt the connection" }, "serverBrandVersion": { "type": "string", "description": "server brand version" }, "serverVersion": { "type": "string", "description": "server version" }, "serverName": { "type": "string", "description": "name of the server" }, "trustServerCertificate": { "type": "boolean", "description": "Whether to trust the server certificate" }, "enforceSSL": { "type": "boolean" }, "port": { "type": "integer", "format": "int32", "description": "port for server" }, "additionalSettings": { "type": "string", "description": "Additional connection settings" }, "authentication": { "$ref": "#/definitions/AuthenticationType", "description": "Authentication type to use for connection" } }, "required": [ "connectionString" ], "allOf": [ { "$ref": "#/definitions/ConnectionInfo" } ], "x-ms-discriminator-value": "MongoDbConnectionInfo" }, "MongoDbDatabaseInfo": { "type": "object", "description": "Describes a database within a MongoDB data source", "properties": { "collections": { "type": "array", "description": "A list of supported collections in a MongoDB database", "items": { "$ref": "#/definitions/MongoDbCollectionInfo" }, "x-ms-identifiers": [] }, "supportsSharding": { "type": "boolean", "description": "Whether the database has sharding enabled. Note that the migration task will enable sharding on the target if necessary." } }, "required": [ "collections", "supportsSharding" ], "allOf": [ { "$ref": "#/definitions/MongoDbObjectInfo" } ] }, "MongoDbDatabaseProgress": { "type": "object", "description": "Describes the progress of a database", "properties": { "collections": { "type": "object", "description": "The progress of the collections in the database. The keys are the unqualified names of the collections", "additionalProperties": { "$ref": "#/definitions/MongoDbCollectionProgress" } } }, "allOf": [ { "$ref": "#/definitions/MongoDbProgress" } ], "x-ms-discriminator-value": "Database" }, "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": { "$ref": "#/definitions/MongoDbErrorType", "description": "The type of error or warning" } } }, "MongoDbErrorType": { "type": "string", "description": "The type of error or warning", "enum": [ "Error", "ValidationError", "Warning" ], "x-ms-enum": { "name": "MongoDbErrorType", "modelAsString": true, "values": [ { "name": "Error", "value": "Error", "description": "Error" }, { "name": "ValidationError", "value": "ValidationError", "description": "ValidationError" }, { "name": "Warning", "value": "Warning", "description": "Warning" } ] } }, "MongoDbFinishCommand": { "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": "#/definitions/CommandProperties" } ], "x-ms-discriminator-value": "finish" }, "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." } }, "required": [ "immediate" ], "allOf": [ { "$ref": "#/definitions/MongoDbCommandInput" } ] }, "MongoDbMigrationProgress": { "type": "object", "description": "Describes the progress of the overall migration", "properties": { "databases": { "type": "object", "description": "The progress of the databases in the migration. The keys are the names of the databases", "additionalProperties": { "$ref": "#/definitions/MongoDbDatabaseProgress" } } }, "allOf": [ { "$ref": "#/definitions/MongoDbProgress" } ], "x-ms-discriminator-value": "Migration" }, "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": { "$ref": "#/definitions/MongoDbReplication", "description": "Describes how changes will be replicated from the source to the target. The default is OneTime." }, "source": { "$ref": "#/definitions/MongoDbConnectionInfo", "description": "Settings used to connect to the source cluster" }, "target": { "$ref": "#/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" ] }, "MongoDbMigrationState": { "type": "string", "enum": [ "NotStarted", "ValidatingInput", "Initializing", "Restarting", "Copying", "InitialReplay", "Replaying", "Finalizing", "Complete", "Canceled", "Failed" ], "x-ms-enum": { "name": "MongoDbMigrationState", "modelAsString": true, "values": [ { "name": "NotStarted", "value": "NotStarted", "description": "NotStarted" }, { "name": "ValidatingInput", "value": "ValidatingInput", "description": "ValidatingInput" }, { "name": "Initializing", "value": "Initializing", "description": "Initializing" }, { "name": "Restarting", "value": "Restarting", "description": "Restarting" }, { "name": "Copying", "value": "Copying", "description": "Copying" }, { "name": "InitialReplay", "value": "InitialReplay", "description": "InitialReplay" }, { "name": "Replaying", "value": "Replaying", "description": "Replaying" }, { "name": "Finalizing", "value": "Finalizing", "description": "Finalizing" }, { "name": "Complete", "value": "Complete", "description": "Complete" }, { "name": "Canceled", "value": "Canceled", "description": "Canceled" }, { "name": "Failed", "value": "Failed", "description": "Failed" } ] } }, "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" ] }, "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": { "$ref": "#/definitions/MongoDbProgressResultType", "description": "The type of progress object" }, "state": { "$ref": "#/definitions/MongoDbMigrationState" }, "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" } }, "discriminator": "resultType", "required": [ "bytesCopied", "documentsCopied", "elapsedTime", "errors", "eventsPending", "eventsReplayed", "resultType", "state", "totalBytes", "totalDocuments" ] }, "MongoDbProgressResultType": { "type": "string", "description": "The type of progress object", "enum": [ "Migration", "Database", "Collection" ], "x-ms-enum": { "name": "MongoDbProgressResultType", "modelAsString": true, "values": [ { "name": "Migration", "value": "Migration", "description": "Migration" }, { "name": "Database", "value": "Database", "description": "Database" }, { "name": "Collection", "value": "Collection", "description": "Collection" } ] } }, "MongoDbReplication": { "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, "values": [ { "name": "Disabled", "value": "Disabled", "description": "Disabled" }, { "name": "OneTime", "value": "OneTime", "description": "OneTime" }, { "name": "Continuous", "value": "Continuous", "description": "Continuous" } ] } }, "MongoDbRestartCommand": { "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": "#/definitions/CommandProperties" } ], "x-ms-discriminator-value": "restart" }, "MongoDbShardKeyField": { "type": "object", "description": "Describes a field reference within a MongoDB shard key", "properties": { "name": { "type": "string", "description": "The name of the field" }, "order": { "$ref": "#/definitions/MongoDbShardKeyOrder", "description": "The field ordering" } }, "required": [ "name", "order" ] }, "MongoDbShardKeyInfo": { "type": "object", "description": "Describes a MongoDB shard key", "properties": { "fields": { "type": "array", "description": "The fields within the shard key", "items": { "$ref": "#/definitions/MongoDbShardKeyField" }, "x-ms-identifiers": [] }, "isUnique": { "type": "boolean", "description": "Whether the shard key is unique" } }, "required": [ "fields", "isUnique" ] }, "MongoDbShardKeyOrder": { "type": "string", "description": "The field ordering", "enum": [ "Forward", "Reverse", "Hashed" ], "x-ms-enum": { "name": "MongoDbShardKeyOrder", "modelAsString": true, "values": [ { "name": "Forward", "value": "Forward", "description": "Forward" }, { "name": "Reverse", "value": "Reverse", "description": "Reverse" }, { "name": "Hashed", "value": "Hashed", "description": "Hashed" } ] } }, "MongoDbShardKeySetting": { "type": "object", "description": "Describes a MongoDB shard key", "properties": { "fields": { "type": "array", "description": "The fields within the shard key", "items": { "$ref": "#/definitions/MongoDbShardKeyField" }, "x-ms-identifiers": [] }, "isUnique": { "type": "boolean", "description": "Whether the shard key is unique" } }, "required": [ "fields" ] }, "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" } } }, "MongoMigrationCollection": { "type": "object", "description": "Mongo source and target database and collection details.", "properties": { "sourceDatabase": { "type": "string", "description": "Source database name." }, "sourceCollection": { "type": "string", "description": "Source collection name." }, "targetDatabase": { "type": "string", "description": "Target database name." }, "targetCollection": { "type": "string", "description": "Target collection name." }, "migrationProgressDetails": { "$ref": "#/definitions/MongoMigrationProgressDetails", "description": "Detailed migration status. Not included by default.", "readOnly": true } } }, "MongoMigrationProgressDetails": { "type": "object", "description": "Detailed status of collection migration.", "properties": { "migrationStatus": { "$ref": "#/definitions/MongoMigrationStatus", "description": "Migration Status", "readOnly": true }, "migrationError": { "type": "string", "description": "Migration Error", "readOnly": true }, "sourceDocumentCount": { "type": "integer", "format": "int64", "description": "Source Document Count", "readOnly": true }, "processedDocumentCount": { "type": "integer", "format": "int64", "description": "Processed Document Count", "readOnly": true }, "durationInSeconds": { "type": "integer", "format": "int32", "description": "Migration duration", "readOnly": true } } }, "MongoMigrationStatus": { "type": "string", "description": "Migration Status", "enum": [ "NotStarted", "InProgress", "Completed", "Failed", "Canceled" ], "x-ms-enum": { "name": "MongoMigrationStatus", "modelAsString": true, "values": [ { "name": "NotStarted", "value": "NotStarted", "description": "NotStarted" }, { "name": "InProgress", "value": "InProgress", "description": "InProgress" }, { "name": "Completed", "value": "Completed", "description": "Completed" }, { "name": "Failed", "value": "Failed", "description": "Failed" }, { "name": "Canceled", "value": "Canceled", "description": "Canceled" } ] } }, "MySqlConnectionInfo": { "type": "object", "description": "Information for connecting to MySQL server", "properties": { "serverName": { "type": "string", "description": "Name of the server" }, "dataSource": { "type": "string", "description": "Data source" }, "port": { "type": "integer", "format": "int32", "description": "Port for Server" }, "encryptConnection": { "type": "boolean", "description": "Whether to encrypt the connection", "default": true }, "authentication": { "$ref": "#/definitions/AuthenticationType", "description": "Authentication type to use for connection" }, "additionalSettings": { "type": "string", "description": "Additional connection settings" } }, "required": [ "serverName", "port" ], "allOf": [ { "$ref": "#/definitions/ConnectionInfo" } ], "x-ms-discriminator-value": "MySqlConnectionInfo" }, "MySqlTargetPlatformType": { "type": "string", "description": "An enumeration of possible target types when migrating from MySQL", "enum": [ "SqlServer", "AzureDbForMySQL" ], "x-ms-enum": { "name": "MySqlTargetPlatformType", "modelAsString": true, "values": [ { "name": "SqlServer", "value": "SqlServer", "description": "SqlServer" }, { "name": "AzureDbForMySQL", "value": "AzureDbForMySQL", "description": "AzureDbForMySQL" } ] } }, "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)" } } }, "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": { "$ref": "#/definitions/NameCheckFailureReason", "description": "The reason why the name is not available, if nameAvailable is false" }, "message": { "type": "string", "description": "The localized reason why the name is not available, if nameAvailable is false" } } }, "NameCheckFailureReason": { "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, "values": [ { "name": "AlreadyExists", "value": "AlreadyExists", "description": "AlreadyExists" }, { "name": "Invalid", "value": "Invalid", "description": "Invalid" } ] } }, "NodeMonitoringData": { "type": "object", "properties": { "additionalProperties": { "type": "object", "description": "Unmatched properties from the message are deserialized in this collection.", "additionalProperties": {}, "readOnly": true }, "nodeName": { "type": "string", "description": "Name of the integration runtime node.", "readOnly": true }, "availableMemoryInMB": { "type": "integer", "format": "int32", "description": "Available memory (MB) on the integration runtime node.", "readOnly": true }, "cpuUtilization": { "type": "integer", "format": "int32", "description": "CPU percentage on the integration runtime node.", "readOnly": true }, "concurrentJobsLimit": { "type": "integer", "format": "int32", "description": "Maximum concurrent jobs on the integration runtime node.", "readOnly": true }, "concurrentJobsRunning": { "type": "integer", "format": "int32", "description": "The number of jobs currently running on the integration runtime node.", "readOnly": true }, "maxConcurrentJobs": { "type": "integer", "format": "int32", "description": "The maximum concurrent jobs in this integration runtime.", "readOnly": true }, "sentBytes": { "type": "number", "format": "double", "description": "Sent bytes on the integration runtime node.", "readOnly": true }, "receivedBytes": { "type": "number", "format": "double", "description": "Received bytes on the integration runtime node.", "readOnly": true } } }, "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", "description": "Inner errors that caused this error", "items": { "$ref": "#/definitions/ODataError" }, "x-ms-identifiers": [] } } }, "ObjectType": { "type": "string", "description": "An enumeration of type of objects", "enum": [ "StoredProcedures", "Table", "User", "View", "Function" ], "x-ms-enum": { "name": "ObjectType", "modelAsString": true, "values": [ { "name": "StoredProcedures", "value": "StoredProcedures", "description": "StoredProcedures" }, { "name": "Table", "value": "Table", "description": "Table" }, { "name": "User", "value": "User", "description": "User" }, { "name": "View", "value": "View", "description": "View" }, { "name": "Function", "value": "Function", "description": "Function" } ] } }, "OfflineConfiguration": { "type": "object", "description": "Offline configuration", "properties": { "offline": { "type": "boolean", "description": "Offline migration" }, "lastBackupName": { "type": "string", "description": "Last backup name for offline migration. This is optional for migrations from file share. If it is not provided, then the service will determine the last backup file name based on latest backup files present in file share." } } }, "OperationListResult": { "type": "object", "description": "Paged collection of OperationsDefinition items", "properties": { "value": { "type": "array", "description": "The OperationsDefinition items on this page", "items": { "$ref": "#/definitions/OperationsDefinition" }, "readOnly": true }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "OperationOrigin": { "type": "string", "enum": [ "user", "system" ], "x-ms-enum": { "name": "OperationOrigin", "modelAsString": true, "values": [ { "name": "user", "value": "user", "description": "user" }, { "name": "system", "value": "system", "description": "system" } ] } }, "OperationsDefinition": { "type": "object", "properties": { "name": { "type": "string", "readOnly": true }, "isDataAction": { "type": "boolean", "description": "Indicates whether the operation is a data action" }, "display": { "$ref": "#/definitions/OperationsDisplayDefinition", "readOnly": true }, "origin": { "$ref": "#/definitions/OperationOrigin", "readOnly": true }, "properties": { "type": "object", "description": "Dictionary of ", "additionalProperties": {}, "readOnly": true } } }, "OperationsDisplayDefinition": { "type": "object", "properties": { "provider": { "type": "string", "readOnly": true }, "resource": { "type": "string", "readOnly": true }, "operation": { "type": "string", "readOnly": true }, "description": { "type": "string", "readOnly": true } } }, "OracleConnectionInfo": { "type": "object", "description": "Information for connecting to Oracle server", "properties": { "dataSource": { "type": "string", "description": "EZConnect or TNSName connection string." }, "serverName": { "type": "string", "description": "name of the server" }, "serverVersion": { "type": "string", "description": "server version" }, "port": { "type": "integer", "format": "int32", "description": "port for server" }, "authentication": { "$ref": "#/definitions/AuthenticationType", "description": "Authentication type to use for connection" } }, "required": [ "dataSource" ], "allOf": [ { "$ref": "#/definitions/ConnectionInfo" } ], "x-ms-discriminator-value": "OracleConnectionInfo" }, "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.", "items": { "type": "string" }, "readOnly": 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" } } }, "PostgreSqlConnectionInfo": { "type": "object", "description": "Information for connecting to PostgreSQL server", "properties": { "serverName": { "type": "string", "description": "Name of the server" }, "dataSource": { "type": "string", "description": "Data source" }, "serverVersion": { "type": "string", "description": "server version" }, "databaseName": { "type": "string", "description": "Name of the database" }, "port": { "type": "integer", "format": "int32", "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" }, "additionalSettings": { "type": "string", "description": "Additional connection settings" }, "serverBrandVersion": { "type": "string", "description": "server brand version" }, "authentication": { "$ref": "#/definitions/AuthenticationType", "description": "Authentication type to use for connection" } }, "required": [ "serverName", "port" ], "allOf": [ { "$ref": "#/definitions/ConnectionInfo" } ], "x-ms-discriminator-value": "PostgreSqlConnectionInfo" }, "Project": { "type": "object", "description": "A project resource", "properties": { "properties": { "$ref": "#/definitions/ProjectProperties", "description": "Project properties", "x-ms-client-flatten": true }, "etag": { "type": "string", "description": "HTTP strong entity tag value. This is ignored if submitted." }, "location": { "type": "string", "x-ms-mutability": [ "read", "create" ] }, "tags": { "type": "object", "additionalProperties": { "type": "string" } } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "ProjectFile": { "type": "object", "description": "A file resource", "properties": { "properties": { "$ref": "#/definitions/ProjectFileProperties", "description": "Custom file properties" }, "etag": { "type": "string", "description": "HTTP strong entity tag value. This is ignored if submitted." } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "ProjectFileProperties": { "type": "object", "description": "Base class for file properties.", "properties": { "extension": { "type": "string", "description": "Optional File extension. If submitted it should not have a leading period and must match the extension from filePath." }, "filePath": { "type": "string", "description": "Relative path of this file resource. This property can be set when creating or updating the file resource." }, "lastModified": { "type": "string", "format": "date-time", "description": "Modification DateTime.", "readOnly": true }, "mediaType": { "type": "string", "description": "File content type. This property can be modified to reflect the file content type." }, "size": { "type": "integer", "format": "int64", "description": "File size.", "readOnly": true } } }, "ProjectList": { "type": "object", "description": "OData page of project resources", "properties": { "value": { "type": "array", "description": "The Project items on this page", "items": { "$ref": "#/definitions/Project" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "ProjectProperties": { "type": "object", "description": "Project-specific properties", "properties": { "sourcePlatform": { "$ref": "#/definitions/ProjectSourcePlatform", "description": "Source platform for the project" }, "azureAuthenticationInfo": { "$ref": "#/definitions/AzureActiveDirectoryApp", "description": "Field that defines the Azure active directory application info, used to connect to the target Azure resource" }, "targetPlatform": { "$ref": "#/definitions/ProjectTargetPlatform", "description": "Target platform for the project" }, "creationTime": { "type": "string", "format": "date-time", "description": "UTC Date and time when project was created", "readOnly": true }, "sourceConnectionInfo": { "$ref": "#/definitions/ConnectionInfo", "description": "Information for connecting to source" }, "targetConnectionInfo": { "$ref": "#/definitions/ConnectionInfo", "description": "Information for connecting to target" }, "databasesInfo": { "type": "array", "description": "List of DatabaseInfo", "items": { "$ref": "#/definitions/DatabaseInfo" }, "x-ms-identifiers": [] }, "provisioningState": { "$ref": "#/definitions/ProjectProvisioningState", "description": "The project's provisioning state", "readOnly": true } }, "required": [ "sourcePlatform", "targetPlatform" ] }, "ProjectProvisioningState": { "type": "string", "description": "The project's provisioning state", "enum": [ "Deleting", "Succeeded" ], "x-ms-enum": { "name": "ProjectProvisioningState", "modelAsString": true, "values": [ { "name": "Deleting", "value": "Deleting", "description": "Deleting" }, { "name": "Succeeded", "value": "Succeeded", "description": "Succeeded" } ] } }, "ProjectSourcePlatform": { "type": "string", "description": "Source platform of the project", "enum": [ "SQL", "MySQL", "PostgreSql", "MongoDb", "Unknown" ], "x-ms-enum": { "name": "ProjectSourcePlatform", "modelAsString": true, "values": [ { "name": "SQL", "value": "SQL", "description": "SQL" }, { "name": "MySQL", "value": "MySQL", "description": "MySQL" }, { "name": "PostgreSql", "value": "PostgreSql", "description": "PostgreSql" }, { "name": "MongoDb", "value": "MongoDb", "description": "MongoDb" }, { "name": "Unknown", "value": "Unknown", "description": "Unknown" } ] } }, "ProjectTargetPlatform": { "type": "string", "description": "Target platform of the project", "enum": [ "SQLDB", "SQLMI", "AzureDbForMySql", "AzureDbForPostgreSql", "MongoDb", "Unknown" ], "x-ms-enum": { "name": "ProjectTargetPlatform", "modelAsString": true, "values": [ { "name": "SQLDB", "value": "SQLDB", "description": "SQLDB" }, { "name": "SQLMI", "value": "SQLMI", "description": "SQLMI" }, { "name": "AzureDbForMySql", "value": "AzureDbForMySql", "description": "AzureDbForMySql" }, { "name": "AzureDbForPostgreSql", "value": "AzureDbForPostgreSql", "description": "AzureDbForPostgreSql" }, { "name": "MongoDb", "value": "MongoDb", "description": "MongoDb" }, { "name": "Unknown", "value": "Unknown", "description": "Unknown" } ] } }, "ProjectTask": { "type": "object", "description": "A task resource", "properties": { "properties": { "$ref": "#/definitions/ProjectTaskProperties", "description": "Custom task properties" }, "etag": { "type": "string", "description": "HTTP strong entity tag value. This is ignored if submitted." } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "ProjectTaskProperties": { "type": "object", "description": "Base class for all types of DMS (classic) task properties. If task is not supported by current client, this object is returned.", "properties": { "taskType": { "$ref": "#/definitions/TaskType", "description": "Task type." }, "errors": { "type": "array", "description": "Array of errors. This is ignored if submitted.", "items": { "$ref": "#/definitions/ODataError" }, "readOnly": true, "x-ms-identifiers": [] }, "state": { "$ref": "#/definitions/TaskState", "description": "The state of the task. This is ignored if submitted.", "readOnly": true }, "commands": { "type": "array", "description": "Array of command properties.", "items": { "$ref": "#/definitions/CommandProperties" }, "readOnly": true, "x-ms-identifiers": [] }, "clientData": { "type": "object", "description": "Key value pairs of client data to attach meta data information to task", "additionalProperties": { "type": "string" } } }, "discriminator": "taskType", "required": [ "taskType" ] }, "ProvisioningState": { "type": "string", "description": "Provisioning State of migration. ProvisioningState as Succeeded implies that validations have been performed and migration has started.", "enum": [ "Provisioning", "Updating", "Succeeded", "Failed", "Canceled" ], "x-ms-enum": { "name": "ProvisioningState", "modelAsString": true, "values": [ { "name": "Provisioning", "value": "Provisioning", "description": "Provisioning" }, { "name": "Updating", "value": "Updating", "description": "Updating" }, { "name": "Succeeded", "value": "Succeeded", "description": "Succeeded" }, { "name": "Failed", "value": "Failed", "description": "Failed" }, { "name": "Canceled", "value": "Canceled", "description": "Canceled" } ] } }, "QueryAnalysisValidationResult": { "type": "object", "description": "Results for query analysis comparison between the source and target", "properties": { "queryResults": { "$ref": "#/definitions/QueryExecutionResult", "description": "List of queries executed and it's execution results in source and target" }, "validationErrors": { "$ref": "#/definitions/ValidationError", "description": "Errors that are part of the execution" } } }, "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": { "$ref": "#/definitions/ExecutionStatistics", "description": "Query analysis result from the source" }, "targetResult": { "$ref": "#/definitions/ExecutionStatistics", "description": "Query analysis result from the target" } } }, "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": { "$ref": "#/definitions/QuotaName", "description": "The name 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": "The Quota items on this page", "items": { "$ref": "#/definitions/Quota" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "QuotaName": { "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" } } }, "RegenAuthKeys": { "type": "object", "description": "An authentication key to regenerate.", "properties": { "keyName": { "type": "string", "description": "The name of authentication key to generate.", "x-ms-mutability": [ "read", "create" ] }, "authKey1": { "type": "string", "format": "password", "description": "The first authentication key.", "x-ms-mutability": [ "read", "create" ], "x-ms-secret": true }, "authKey2": { "type": "string", "format": "password", "description": "The second authentication key.", "x-ms-mutability": [ "read", "create" ], "x-ms-secret": 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, "values": [ { "name": "UNDEFINED", "value": "UNDEFINED", "description": "UNDEFINED" }, { "name": "VALIDATING", "value": "VALIDATING", "description": "VALIDATING" }, { "name": "PENDING", "value": "PENDING", "description": "PENDING" }, { "name": "COMPLETE", "value": "COMPLETE", "description": "COMPLETE" }, { "name": "ACTION_REQUIRED", "value": "ACTION_REQUIRED", "description": "ACTION_REQUIRED" }, { "name": "FAILED", "value": "FAILED", "description": "FAILED" } ] } }, "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", "format": "int32", "description": "Coded numerical value that is assigned to a specific exception" }, "stackTrace": { "type": "string", "description": "Stack trace" } } }, "ResourceSku": { "type": "object", "description": "Describes an available DMS (classic) SKU.", "properties": { "resourceType": { "type": "string", "description": "The type of resource the SKU applies to.", "readOnly": true }, "name": { "type": "string", "description": "The name of SKU.", "readOnly": true }, "tier": { "type": "string", "description": "Specifies the tier of DMS (classic) in a scale set.", "readOnly": true }, "size": { "type": "string", "description": "The Size of the SKU.", "readOnly": true }, "family": { "type": "string", "description": "The Family of this particular SKU.", "readOnly": true }, "kind": { "type": "string", "description": "The Kind of resources that are supported in this SKU.", "readOnly": true }, "capacity": { "$ref": "#/definitions/ResourceSkuCapacity", "description": "Not used.", "readOnly": true }, "locations": { "type": "array", "description": "The set of locations that the SKU is available.", "items": { "type": "string" }, "readOnly": true }, "apiVersions": { "type": "array", "description": "The api versions that support this SKU.", "items": { "type": "string" }, "readOnly": true }, "costs": { "type": "array", "description": "Metadata for retrieving price info.", "items": { "$ref": "#/definitions/ResourceSkuCosts" }, "readOnly": true, "x-ms-identifiers": [] }, "capabilities": { "type": "array", "description": "A name value pair to describe the capability.", "items": { "$ref": "#/definitions/ResourceSkuCapabilities" }, "readOnly": true, "x-ms-identifiers": [] }, "restrictions": { "type": "array", "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions.", "items": { "$ref": "#/definitions/ResourceSkuRestrictions" }, "readOnly": true, "x-ms-identifiers": [] } } }, "ResourceSkuCapabilities": { "type": "object", "description": "Describes The SKU capabilities object.", "properties": { "name": { "type": "string", "description": "An invariant to describe the feature.", "readOnly": true }, "value": { "type": "string", "description": "An invariant if the feature is measured by quantity.", "readOnly": true } } }, "ResourceSkuCapacity": { "type": "object", "description": "Describes scaling information of a SKU.", "properties": { "minimum": { "type": "integer", "format": "int64", "description": "The minimum capacity.", "readOnly": true }, "maximum": { "type": "integer", "format": "int64", "description": "The maximum capacity.", "readOnly": true }, "default": { "type": "integer", "format": "int64", "description": "The default capacity.", "readOnly": true }, "scaleType": { "$ref": "#/definitions/ResourceSkuCapacityScaleType", "description": "The scale type applicable to the SKU.", "readOnly": true } } }, "ResourceSkuCapacityScaleType": { "type": "string", "description": "The scale type applicable to the SKU.", "enum": [ "Automatic", "Manual", "None" ], "x-ms-enum": { "name": "ResourceSkuCapacityScaleType", "modelAsString": true, "values": [ { "name": "Automatic", "value": "Automatic", "description": "Automatic" }, { "name": "Manual", "value": "Manual", "description": "Manual" }, { "name": "None", "value": "None", "description": "None" } ] } }, "ResourceSkuCosts": { "type": "object", "description": "Describes metadata for retrieving price info.", "properties": { "meterID": { "type": "string", "description": "Used for querying price from commerce.", "readOnly": true }, "quantity": { "type": "integer", "format": "int64", "description": "The multiplier is needed to extend the base metered cost.", "readOnly": true }, "extendedUnit": { "type": "string", "description": "An invariant to show the extended unit.", "readOnly": true } } }, "ResourceSkuRestrictions": { "type": "object", "description": "Describes scaling information of a SKU.", "properties": { "type": { "$ref": "#/definitions/ResourceSkuRestrictionsType", "description": "The type of restrictions.", "readOnly": true }, "values": { "type": "array", "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted.", "items": { "type": "string" }, "readOnly": true }, "reasonCode": { "$ref": "#/definitions/ResourceSkuRestrictionsReasonCode", "description": "The reason code for restriction.", "readOnly": true } } }, "ResourceSkuRestrictionsReasonCode": { "type": "string", "description": "The reason code for restriction.", "enum": [ "QuotaId", "NotAvailableForSubscription" ], "x-ms-enum": { "name": "ResourceSkuRestrictionsReasonCode", "modelAsString": true, "values": [ { "name": "QuotaId", "value": "QuotaId", "description": "QuotaId" }, { "name": "NotAvailableForSubscription", "value": "NotAvailableForSubscription", "description": "NotAvailableForSubscription" } ] } }, "ResourceSkuRestrictionsType": { "type": "string", "description": "The type of restrictions.", "enum": [ "location" ], "x-ms-enum": { "name": "ResourceSkuRestrictionsType", "modelAsString": true, "values": [ { "name": "location", "value": "location", "description": "location" } ] } }, "ResourceSkusResult": { "type": "object", "description": "The DMS (classic) List SKUs operation response.", "properties": { "value": { "type": "array", "description": "The ResourceSku items on this page", "items": { "$ref": "#/definitions/ResourceSku" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "ResourceType": { "type": "string", "enum": [ "SqlMi", "SqlVm", "SqlDb", "MongoToCosmosDbMongo", "DatabaseMigrationProperties" ], "x-ms-enum": { "name": "ResourceType", "modelAsString": true, "values": [ { "name": "SqlMi", "value": "SqlMi", "description": "SqlMi" }, { "name": "SqlVm", "value": "SqlVm", "description": "SqlVm" }, { "name": "SqlDb", "value": "SqlDb", "description": "SqlDb" }, { "name": "MongoToCosmosDbMongo", "value": "MongoToCosmosDbMongo", "description": "MongoToCosmosDbMongo" }, { "name": "DatabaseMigrationProperties", "value": "DatabaseMigrationProperties", "description": "DatabaseMigrationProperties" } ] } }, "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, "values": [ { "name": "Access", "value": "Access", "description": "Access" }, { "name": "DB2", "value": "DB2", "description": "DB2" }, { "name": "MySQL", "value": "MySQL", "description": "MySQL" }, { "name": "Oracle", "value": "Oracle", "description": "Oracle" }, { "name": "SQL", "value": "SQL", "description": "SQL" }, { "name": "Sybase", "value": "Sybase", "description": "Sybase" }, { "name": "PostgreSQL", "value": "PostgreSQL", "description": "PostgreSQL" }, { "name": "MongoDB", "value": "MongoDB", "description": "MongoDB" }, { "name": "SQLRDS", "value": "SQLRDS", "description": "SQLRDS" }, { "name": "MySQLRDS", "value": "MySQLRDS", "description": "MySQLRDS" }, { "name": "PostgreSQLRDS", "value": "PostgreSQLRDS", "description": "PostgreSQLRDS" } ] } }, "ScenarioTarget": { "type": "string", "description": "An enumeration of target type", "enum": [ "SQLServer", "SQLDB", "SQLDW", "SQLMI", "AzureDBForMySql", "AzureDBForPostgresSQL", "MongoDB" ], "x-ms-enum": { "name": "ScenarioTarget", "modelAsString": true, "values": [ { "name": "SQLServer", "value": "SQLServer", "description": "SQLServer" }, { "name": "SQLDB", "value": "SQLDB", "description": "SQLDB" }, { "name": "SQLDW", "value": "SQLDW", "description": "SQLDW" }, { "name": "SQLMI", "value": "SQLMI", "description": "SQLMI" }, { "name": "AzureDBForMySql", "value": "AzureDBForMySql", "description": "AzureDBForMySql" }, { "name": "AzureDBForPostgresSQL", "value": "AzureDBForPostgresSQL", "description": "AzureDBForPostgresSQL" }, { "name": "MongoDB", "value": "MongoDB", "description": "MongoDB" } ] } }, "SchemaComparisonValidationResult": { "type": "object", "description": "Results for schema comparison between the source and target", "properties": { "schemaDifferences": { "$ref": "#/definitions/SchemaComparisonValidationResultType", "description": "List of schema differences between the source and target databases" }, "validationErrors": { "$ref": "#/definitions/ValidationError", "description": "List of errors that happened while performing schema compare validation" }, "sourceDatabaseObjectCount": { "type": "object", "description": "Count of source database objects", "additionalProperties": { "format": "int64", "type": "integer" } }, "targetDatabaseObjectCount": { "type": "object", "description": "Count of target database objects", "additionalProperties": { "format": "int64", "type": "integer" } } } }, "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": { "$ref": "#/definitions/ObjectType", "description": "Type of the object that has the difference. e.g (Table/View/StoredProcedure)" }, "updateAction": { "$ref": "#/definitions/UpdateActionType", "description": "Update action type with respect to target" } } }, "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, "values": [ { "name": "None", "value": "None", "description": "None" }, { "name": "ExtractFromSource", "value": "ExtractFromSource", "description": "ExtractFromSource" }, { "name": "UseStorageFile", "value": "UseStorageFile", "description": "UseStorageFile" } ] } }, "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" }, "fileName": { "type": "string", "description": "Name of the file resource containing the uploaded schema file" } } }, "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, "values": [ { "name": "NotStarted", "value": "NotStarted", "description": "NotStarted" }, { "name": "ValidatingInputs", "value": "ValidatingInputs", "description": "ValidatingInputs" }, { "name": "CollectingObjects", "value": "CollectingObjects", "description": "CollectingObjects" }, { "name": "DownloadingScript", "value": "DownloadingScript", "description": "DownloadingScript" }, { "name": "GeneratingScript", "value": "GeneratingScript", "description": "GeneratingScript" }, { "name": "UploadingScript", "value": "UploadingScript", "description": "UploadingScript" }, { "name": "DeployingSchema", "value": "DeployingSchema", "description": "DeployingSchema" }, { "name": "Completed", "value": "Completed", "description": "Completed" }, { "name": "CompletedWithWarnings", "value": "CompletedWithWarnings", "description": "CompletedWithWarnings" }, { "name": "Failed", "value": "Failed", "description": "Failed" } ] } }, "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" ] }, "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", "MigrationFromSqlServerToAzureVM" ], "x-ms-enum": { "name": "ServerLevelPermissionsGroup", "modelAsString": false, "values": [ { "name": "Default", "value": "Default", "description": "Default" }, { "name": "MigrationFromSqlServerToAzureDB", "value": "MigrationFromSqlServerToAzureDB", "description": "MigrationFromSqlServerToAzureDB" }, { "name": "MigrationFromSqlServerToAzureMI", "value": "MigrationFromSqlServerToAzureMI", "description": "MigrationFromSqlServerToAzureMI" }, { "name": "MigrationFromMySQLToAzureDBForMySQL", "value": "MigrationFromMySQLToAzureDBForMySQL", "description": "MigrationFromMySQLToAzureDBForMySQL" }, { "name": "MigrationFromSqlServerToAzureVM", "value": "MigrationFromSqlServerToAzureVM", "description": "MigrationFromSqlServerToAzureVM" } ] } }, "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", "format": "int32", "description": "Number of databases in the server", "readOnly": true } } }, "ServiceProvisioningState": { "type": "string", "description": "The resource's provisioning state", "enum": [ "Accepted", "Deleting", "Deploying", "Stopped", "Stopping", "Starting", "FailedToStart", "FailedToStop", "Succeeded", "Failed" ], "x-ms-enum": { "name": "ServiceProvisioningState", "modelAsString": true, "values": [ { "name": "Accepted", "value": "Accepted", "description": "Accepted" }, { "name": "Deleting", "value": "Deleting", "description": "Deleting" }, { "name": "Deploying", "value": "Deploying", "description": "Deploying" }, { "name": "Stopped", "value": "Stopped", "description": "Stopped" }, { "name": "Stopping", "value": "Stopping", "description": "Stopping" }, { "name": "Starting", "value": "Starting", "description": "Starting" }, { "name": "FailedToStart", "value": "FailedToStart", "description": "FailedToStart" }, { "name": "FailedToStop", "value": "FailedToStop", "description": "FailedToStop" }, { "name": "Succeeded", "value": "Succeeded", "description": "Succeeded" }, { "name": "Failed", "value": "Failed", "description": "Failed" } ] } }, "ServiceScalability": { "type": "string", "description": "The scalability approach", "enum": [ "none", "manual", "automatic" ], "x-ms-enum": { "name": "ServiceScalability", "modelAsString": true, "values": [ { "name": "none", "value": "none", "description": "none" }, { "name": "manual", "value": "manual", "description": "manual" }, { "name": "automatic", "value": "automatic", "description": "automatic" } ] } }, "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", "format": "int32", "description": "The capacity of the SKU, if it supports scaling" } } }, "ServiceSkuList": { "type": "object", "description": "OData page of available SKUs", "properties": { "value": { "type": "array", "description": "The AvailableServiceSku items on this page", "items": { "$ref": "#/definitions/AvailableServiceSku" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "Severity": { "type": "string", "description": "Severity of the validation error", "enum": [ "Message", "Warning", "Error" ], "x-ms-enum": { "name": "Severity", "modelAsString": true, "values": [ { "name": "Message", "value": "Message", "description": "Message" }, { "name": "Warning", "value": "Warning", "description": "Warning" }, { "name": "Error", "value": "Error", "description": "Error" } ] } }, "SourceLocation": { "type": "object", "description": "Source Location details of backups.", "properties": { "fileShare": { "$ref": "#/definitions/SqlFileShare", "description": "Source File share." }, "azureBlob": { "$ref": "#/definitions/AzureBlob", "description": "Source Azure Blob." }, "fileStorageType": { "type": "string", "description": "Backup storage Type.", "readOnly": true } } }, "SqlBackupFileInfo": { "type": "object", "description": "Information of backup file", "properties": { "fileName": { "type": "string", "description": "File name.", "readOnly": true }, "status": { "type": "string", "description": "Status of the file. (Initial, Uploading, Uploaded, Restoring, Restored or Skipped)", "readOnly": true }, "totalSize": { "type": "integer", "format": "int64", "description": "File size in bytes", "readOnly": true }, "dataRead": { "type": "integer", "format": "int64", "description": "Bytes read", "readOnly": true }, "dataWritten": { "type": "integer", "format": "int64", "description": "Bytes written", "readOnly": true }, "copyThroughput": { "type": "number", "format": "double", "description": "Copy throughput in KBps", "readOnly": true }, "copyDuration": { "type": "integer", "format": "int32", "description": "Copy Duration in seconds", "readOnly": true }, "familySequenceNumber": { "type": "integer", "format": "int32", "description": "Media family sequence number", "readOnly": true } } }, "SqlBackupSetInfo": { "type": "object", "description": "Information of backup set", "properties": { "backupSetId": { "type": "string", "format": "uuid", "description": "Backup set id.", "readOnly": true }, "firstLSN": { "type": "string", "description": "First LSN of the backup set.", "readOnly": true }, "lastLSN": { "type": "string", "description": "Last LSN of the backup set.", "readOnly": true }, "backupType": { "type": "string", "description": "Backup type.", "readOnly": true }, "listOfBackupFiles": { "type": "array", "description": "List of files in the backup set.", "items": { "$ref": "#/definitions/SqlBackupFileInfo" }, "readOnly": true, "x-ms-identifiers": [] }, "backupStartDate": { "type": "string", "format": "date-time", "description": "Backup start date.", "readOnly": true }, "backupFinishDate": { "type": "string", "format": "date-time", "description": "Backup end time.", "readOnly": true }, "isBackupRestored": { "type": "boolean", "description": "Whether this backup set has been restored or not.", "readOnly": true }, "hasBackupChecksums": { "type": "boolean", "description": "Has Backup Checksums", "readOnly": true }, "familyCount": { "type": "integer", "format": "int32", "description": "Media family count", "readOnly": true }, "ignoreReasons": { "type": "array", "description": "The reasons why the backup set is ignored", "items": { "type": "string" }, "readOnly": true } } }, "SqlConnectionInfo": { "type": "object", "description": "Information for connecting to SQL database server", "properties": { "dataSource": { "type": "string", "description": "Data source in the format Protocol:MachineName\\SQLServerInstanceName,PortNumber" }, "serverName": { "type": "string", "description": "name of the server" }, "port": { "type": "integer", "format": "int32", "description": "Port for Server" }, "serverVersion": { "type": "string", "description": "server version" }, "serverBrandVersion": { "type": "string", "description": "server brand version" }, "resourceId": { "type": "string", "description": "Represents the ID of an HTTP resource represented by an Azure resource provider." }, "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" }, "platform": { "$ref": "#/definitions/SqlSourcePlatform", "description": "Server platform type for connection" } }, "required": [ "dataSource" ], "allOf": [ { "$ref": "#/definitions/ConnectionInfo" } ], "x-ms-discriminator-value": "SqlConnectionInfo" }, "SqlConnectionInformation": { "type": "object", "description": "Source SQL Connection", "properties": { "dataSource": { "type": "string", "description": "Data source." }, "authentication": { "type": "string", "description": "Authentication type." }, "userName": { "type": "string", "description": "User name to connect to source SQL." }, "password": { "type": "string", "format": "password", "description": "Password to connect to source SQL.", "x-ms-secret": true }, "encryptConnection": { "type": "boolean", "description": "Whether to encrypt connection or not." }, "trustServerCertificate": { "type": "boolean", "description": "Whether to trust server certificate or not." } } }, "SqlDbMigrationStatusDetails": { "type": "object", "description": "Detailed status of current Sql Db migration.", "properties": { "migrationState": { "type": "string", "description": "Current State of Migration.", "readOnly": true }, "sqlDataCopyErrors": { "type": "array", "description": "Sql Data Copy errors, if any.", "items": { "type": "string" }, "readOnly": true }, "listOfCopyProgressDetails": { "type": "array", "description": "Details on progress of ADF copy activities.", "items": { "$ref": "#/definitions/CopyProgressDetails" }, "readOnly": true, "x-ms-identifiers": [] } } }, "SqlDbOfflineConfiguration": { "type": "object", "description": "Offline configuration", "properties": { "offline": { "type": "boolean", "description": "Offline migration", "readOnly": true } } }, "SqlFileShare": { "type": "object", "description": "File share", "properties": { "path": { "type": "string", "description": "Location as SMB share or local drive where backups are placed." }, "username": { "type": "string", "description": "Username to access the file share location for backups." }, "password": { "type": "string", "format": "password", "description": "Password for username to access file share location.", "x-ms-mutability": [ "update", "create" ], "x-ms-secret": true } } }, "SqlMigrationListResult": { "type": "object", "description": "A list of SQL Migration Service.", "properties": { "value": { "type": "array", "description": "The SqlMigrationService items on this page", "items": { "$ref": "#/definitions/SqlMigrationService" }, "readOnly": true }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "SqlMigrationService": { "type": "object", "description": "A SQL Migration Service.", "properties": { "properties": { "$ref": "#/definitions/SqlMigrationServiceProperties", "description": "The SQL Migration Service properties.", "x-ms-client-flatten": true }, "location": { "type": "string", "x-ms-mutability": [ "read", "create" ] }, "tags": { "type": "object", "additionalProperties": { "type": "string" } } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "SqlMigrationServiceProperties": { "type": "object", "description": "The SQL Migration Service properties.", "properties": { "provisioningState": { "type": "string", "description": "Provisioning state to track the async operation status.", "readOnly": true }, "integrationRuntimeState": { "type": "string", "description": "Current state of the Integration runtime.", "readOnly": true } } }, "SqlMigrationServiceUpdate": { "type": "object", "description": "An update to a SQL Migration Service.", "properties": { "tags": { "type": "object", "description": "Dictionary of ", "additionalProperties": { "type": "string" } } } }, "SqlMigrationTaskInput": { "type": "object", "description": "Base class for migration task input", "properties": { "sourceConnectionInfo": { "$ref": "#/definitions/SqlConnectionInfo", "description": "Information for connecting to source" }, "targetConnectionInfo": { "$ref": "#/definitions/SqlConnectionInfo", "description": "Information for connecting to target" } }, "required": [ "sourceConnectionInfo", "targetConnectionInfo" ] }, "SqlServerSqlMISyncTaskInput": { "type": "object", "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario.", "properties": { "selectedDatabases": { "type": "array", "description": "Databases to migrate", "items": { "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" }, "x-ms-identifiers": [] }, "backupFileShare": { "$ref": "#/definitions/FileShare", "description": "Backup file share information for all selected databases." }, "storageResourceId": { "type": "string", "description": "Fully qualified resourceId of storage" }, "sourceConnectionInfo": { "$ref": "#/definitions/SqlConnectionInfo", "description": "Connection information for source SQL Server" }, "targetConnectionInfo": { "$ref": "#/definitions/MiSqlConnectionInfo", "description": "Connection information for Azure SQL Database Managed Instance" }, "azureApp": { "$ref": "#/definitions/AzureActiveDirectoryApp", "description": "Azure Active Directory Application the DMS (classic) instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account" } }, "required": [ "selectedDatabases", "storageResourceId", "sourceConnectionInfo", "targetConnectionInfo", "azureApp" ] }, "SqlSourcePlatform": { "type": "string", "description": "An enumeration of source platform types", "enum": [ "SqlOnPrem" ], "x-ms-enum": { "name": "SqlSourcePlatform", "modelAsString": true, "values": [ { "name": "SqlOnPrem", "value": "SqlOnPrem", "description": "SqlOnPrem" } ] } }, "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 (classic)" }, "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" } } }, "SsisMigrationOverwriteOption": { "type": "string", "description": "The overwrite option for SSIS object migration, only ignore and overwrite are supported in DMS (classic) now and future may add Reuse option for container object", "enum": [ "Ignore", "Overwrite" ], "x-ms-enum": { "name": "SsisMigrationOverwriteOption", "modelAsString": true, "values": [ { "name": "Ignore", "value": "Ignore", "description": "Ignore" }, { "name": "Overwrite", "value": "Overwrite", "description": "Overwrite" } ] } }, "SsisMigrationStage": { "type": "string", "description": "Current stage of SSIS migration", "enum": [ "None", "Initialize", "InProgress", "Completed" ], "x-ms-enum": { "name": "SsisMigrationStage", "modelAsString": true, "values": [ { "name": "None", "value": "None", "description": "None" }, { "name": "Initialize", "value": "Initialize", "description": "Initialize" }, { "name": "InProgress", "value": "InProgress", "description": "InProgress" }, { "name": "Completed", "value": "Completed", "description": "Completed" } ] } }, "SsisStoreType": { "type": "string", "description": "An enumeration of supported source SSIS store type in DMS (classic)", "enum": [ "SsisCatalog" ], "x-ms-enum": { "name": "SsisStoreType", "modelAsString": true, "values": [ { "name": "SsisCatalog", "value": "SsisCatalog", "description": "SsisCatalog" } ] } }, "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, "values": [ { "name": "UNDEFINED", "value": "UNDEFINED", "description": "UNDEFINED" }, { "name": "CONFIGURING", "value": "CONFIGURING", "description": "CONFIGURING" }, { "name": "INITIALIAZING", "value": "INITIALIAZING", "description": "INITIALIAZING" }, { "name": "STARTING", "value": "STARTING", "description": "STARTING" }, { "name": "RUNNING", "value": "RUNNING", "description": "RUNNING" }, { "name": "READY_TO_COMPLETE", "value": "READY_TO_COMPLETE", "description": "READY_TO_COMPLETE" }, { "name": "COMPLETING", "value": "COMPLETING", "description": "COMPLETING" }, { "name": "COMPLETE", "value": "COMPLETE", "description": "COMPLETE" }, { "name": "CANCELLING", "value": "CANCELLING", "description": "CANCELLING" }, { "name": "CANCELLED", "value": "CANCELLED", "description": "CANCELLED" }, { "name": "FAILED", "value": "FAILED", "description": "FAILED" }, { "name": "VALIDATING", "value": "VALIDATING", "description": "VALIDATING" }, { "name": "VALIDATION_COMPLETE", "value": "VALIDATION_COMPLETE", "description": "VALIDATION_COMPLETE" }, { "name": "VALIDATION_FAILED", "value": "VALIDATION_FAILED", "description": "VALIDATION_FAILED" }, { "name": "RESTORE_IN_PROGRESS", "value": "RESTORE_IN_PROGRESS", "description": "RESTORE_IN_PROGRESS" }, { "name": "RESTORE_COMPLETED", "value": "RESTORE_COMPLETED", "description": "RESTORE_COMPLETED" }, { "name": "BACKUP_IN_PROGRESS", "value": "BACKUP_IN_PROGRESS", "description": "BACKUP_IN_PROGRESS" }, { "name": "BACKUP_COMPLETED", "value": "BACKUP_COMPLETED", "description": "BACKUP_COMPLETED" } ] } }, "SyncMigrationDatabaseErrorEvent": { "type": "object", "description": "Database migration errors for online migration", "properties": { "timestampString": { "type": "string", "description": "String value of timestamp.", "readOnly": true }, "eventTypeString": { "type": "string", "description": "Event type.", "readOnly": true }, "eventText": { "type": "string", "description": "Event text.", "readOnly": 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, "values": [ { "name": "BEFORE_LOAD", "value": "BEFORE_LOAD", "description": "BEFORE_LOAD" }, { "name": "FULL_LOAD", "value": "FULL_LOAD", "description": "FULL_LOAD" }, { "name": "COMPLETED", "value": "COMPLETED", "description": "COMPLETED" }, { "name": "CANCELED", "value": "CANCELED", "description": "CANCELED" }, { "name": "ERROR", "value": "ERROR", "description": "ERROR" }, { "name": "FAILED", "value": "FAILED", "description": "FAILED" } ] } }, "TargetLocation": { "type": "object", "description": "Target Location details for optional copy of backups", "properties": { "storageAccountResourceId": { "type": "string", "description": "Resource Id of the storage account copying backups." }, "accountKey": { "type": "string", "description": "Storage Account Key." } } }, "TaskList": { "type": "object", "description": "OData page of tasks", "properties": { "value": { "type": "array", "description": "The ProjectTask items on this page", "items": { "$ref": "#/definitions/ProjectTask" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "TaskState": { "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, "values": [ { "name": "Unknown", "value": "Unknown", "description": "Unknown" }, { "name": "Queued", "value": "Queued", "description": "Queued" }, { "name": "Running", "value": "Running", "description": "Running" }, { "name": "Canceled", "value": "Canceled", "description": "Canceled" }, { "name": "Succeeded", "value": "Succeeded", "description": "Succeeded" }, { "name": "Failed", "value": "Failed", "description": "Failed" }, { "name": "FailedInputValidation", "value": "FailedInputValidation", "description": "FailedInputValidation" }, { "name": "Faulted", "value": "Faulted", "description": "Faulted" } ] } }, "TaskType": { "type": "string", "description": "Task type.", "enum": [ "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", "ConnectToTarget.AzureDbForPostgreSql.Sync", "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", "MigrateSchemaSqlServerSqlDb" ], "x-ms-enum": { "name": "TaskType", "modelAsString": true, "values": [ { "name": "Connect.MongoDb", "value": "Connect.MongoDb", "description": "Connect.MongoDb" }, { "name": "ConnectToSource.SqlServer", "value": "ConnectToSource.SqlServer", "description": "ConnectToSource.SqlServer" }, { "name": "ConnectToSource.SqlServer.Sync", "value": "ConnectToSource.SqlServer.Sync", "description": "ConnectToSource.SqlServer.Sync" }, { "name": "ConnectToSource.PostgreSql.Sync", "value": "ConnectToSource.PostgreSql.Sync", "description": "ConnectToSource.PostgreSql.Sync" }, { "name": "ConnectToSource.MySql", "value": "ConnectToSource.MySql", "description": "ConnectToSource.MySql" }, { "name": "ConnectToSource.Oracle.Sync", "value": "ConnectToSource.Oracle.Sync", "description": "ConnectToSource.Oracle.Sync" }, { "name": "ConnectToTarget.SqlDb", "value": "ConnectToTarget.SqlDb", "description": "ConnectToTarget.SqlDb" }, { "name": "ConnectToTarget.SqlDb.Sync", "value": "ConnectToTarget.SqlDb.Sync", "description": "ConnectToTarget.SqlDb.Sync" }, { "name": "ConnectToTarget.AzureDbForPostgreSql.Sync", "value": "ConnectToTarget.AzureDbForPostgreSql.Sync", "description": "ConnectToTarget.AzureDbForPostgreSql.Sync" }, { "name": "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "value": "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "description": "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync" }, { "name": "ConnectToTarget.AzureSqlDbMI", "value": "ConnectToTarget.AzureSqlDbMI", "description": "ConnectToTarget.AzureSqlDbMI" }, { "name": "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "value": "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "description": "ConnectToTarget.AzureSqlDbMI.Sync.LRS" }, { "name": "ConnectToTarget.AzureDbForMySql", "value": "ConnectToTarget.AzureDbForMySql", "description": "ConnectToTarget.AzureDbForMySql" }, { "name": "GetUserTables.Sql", "value": "GetUserTables.Sql", "description": "GetUserTables.Sql" }, { "name": "GetUserTables.AzureSqlDb.Sync", "value": "GetUserTables.AzureSqlDb.Sync", "description": "GetUserTables.AzureSqlDb.Sync" }, { "name": "GetUserTablesOracle", "value": "GetUserTablesOracle", "description": "GetUserTablesOracle" }, { "name": "GetUserTablesPostgreSql", "value": "GetUserTablesPostgreSql", "description": "GetUserTablesPostgreSql" }, { "name": "GetUserTablesMySql", "value": "GetUserTablesMySql", "description": "GetUserTablesMySql" }, { "name": "Migrate.MongoDb", "value": "Migrate.MongoDb", "description": "Migrate.MongoDb" }, { "name": "Migrate.SqlServer.AzureSqlDbMI", "value": "Migrate.SqlServer.AzureSqlDbMI", "description": "Migrate.SqlServer.AzureSqlDbMI" }, { "name": "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", "value": "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", "description": "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS" }, { "name": "Migrate.SqlServer.SqlDb", "value": "Migrate.SqlServer.SqlDb", "description": "Migrate.SqlServer.SqlDb" }, { "name": "Migrate.SqlServer.AzureSqlDb.Sync", "value": "Migrate.SqlServer.AzureSqlDb.Sync", "description": "Migrate.SqlServer.AzureSqlDb.Sync" }, { "name": "Migrate.MySql.AzureDbForMySql.Sync", "value": "Migrate.MySql.AzureDbForMySql.Sync", "description": "Migrate.MySql.AzureDbForMySql.Sync" }, { "name": "Migrate.MySql.AzureDbForMySql", "value": "Migrate.MySql.AzureDbForMySql", "description": "Migrate.MySql.AzureDbForMySql" }, { "name": "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "value": "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "description": "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2" }, { "name": "Migrate.Oracle.AzureDbForPostgreSql.Sync", "value": "Migrate.Oracle.AzureDbForPostgreSql.Sync", "description": "Migrate.Oracle.AzureDbForPostgreSql.Sync" }, { "name": "ValidateMigrationInput.SqlServer.SqlDb.Sync", "value": "ValidateMigrationInput.SqlServer.SqlDb.Sync", "description": "ValidateMigrationInput.SqlServer.SqlDb.Sync" }, { "name": "ValidateMigrationInput.SqlServer.AzureSqlDbMI", "value": "ValidateMigrationInput.SqlServer.AzureSqlDbMI", "description": "ValidateMigrationInput.SqlServer.AzureSqlDbMI" }, { "name": "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "value": "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "description": "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS" }, { "name": "Validate.MongoDb", "value": "Validate.MongoDb", "description": "Validate.MongoDb" }, { "name": "Validate.Oracle.AzureDbPostgreSql.Sync", "value": "Validate.Oracle.AzureDbPostgreSql.Sync", "description": "Validate.Oracle.AzureDbPostgreSql.Sync" }, { "name": "GetTDECertificates.Sql", "value": "GetTDECertificates.Sql", "description": "GetTDECertificates.Sql" }, { "name": "Migrate.Ssis", "value": "Migrate.Ssis", "description": "Migrate.Ssis" }, { "name": "Service.Check.OCI", "value": "Service.Check.OCI", "description": "Service.Check.OCI" }, { "name": "Service.Upload.OCI", "value": "Service.Upload.OCI", "description": "Service.Upload.OCI" }, { "name": "Service.Install.OCI", "value": "Service.Install.OCI", "description": "Service.Install.OCI" }, { "name": "MigrateSchemaSqlServerSqlDb", "value": "MigrateSchemaSqlServerSqlDb", "description": "MigrateSchemaSqlServerSqlDb" } ] } }, "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, "values": [ { "name": "DeletedOnTarget", "value": "DeletedOnTarget", "description": "DeletedOnTarget" }, { "name": "ChangedOnTarget", "value": "ChangedOnTarget", "description": "ChangedOnTarget" }, { "name": "AddedOnTarget", "value": "AddedOnTarget", "description": "AddedOnTarget" } ] } }, "UploadOCIDriverTaskInput": { "type": "object", "description": "Input for the service task to upload an OCI driver.", "properties": { "driverShare": { "$ref": "#/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": { "type": "array", "description": "Validation errors", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } } }, "UploadOCIDriverTaskProperties": { "type": "object", "description": "Properties for the task that uploads an OCI driver.", "properties": { "input": { "$ref": "#/definitions/UploadOCIDriverTaskInput", "description": "Input for the service task to upload an OCI driver." }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/UploadOCIDriverTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "Service.Upload.OCI" }, "ValidateMigrationInputSqlServerSqlDbSyncTaskProperties": { "type": "object", "description": "Properties for task that validates migration input for SQL to Azure SQL DB sync migrations", "properties": { "input": { "$ref": "#/definitions/ValidateSyncMigrationInputSqlServerTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/ValidateSyncMigrationInputSqlServerTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "ValidateMigrationInput.SqlServer.SqlDb.Sync" }, "ValidateMigrationInputSqlServerSqlMISyncTaskInput": { "type": "object", "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario.", "allOf": [ { "$ref": "#/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": { "type": "array", "description": "Errors associated with a selected database object", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } } }, "ValidateMigrationInputSqlServerSqlMISyncTaskProperties": { "type": "object", "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance sync scenario", "properties": { "input": { "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS" }, "ValidateMigrationInputSqlServerSqlMITaskInput": { "type": "object", "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance", "properties": { "sourceConnectionInfo": { "$ref": "#/definitions/SqlConnectionInfo", "description": "Information for connecting to source" }, "targetConnectionInfo": { "$ref": "#/definitions/SqlConnectionInfo", "description": "Information for connecting to target" }, "selectedDatabases": { "type": "array", "description": "Databases to migrate", "items": { "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" }, "x-ms-identifiers": [] }, "selectedLogins": { "type": "array", "description": "Logins to migrate", "items": { "type": "string" } }, "backupFileShare": { "$ref": "#/definitions/FileShare", "description": "Backup file share information for all selected databases." }, "backupBlobShare": { "$ref": "#/definitions/BlobShare", "description": "SAS URI of Azure Storage Account Container to be used for storing backup files." }, "backupMode": { "$ref": "#/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": { "type": "array", "description": "Errors associated with the RestoreDatabaseName", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] }, "backupFolderErrors": { "type": "array", "description": "Errors associated with the BackupFolder path", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] }, "backupShareCredentialsErrors": { "type": "array", "description": "Errors associated with backup share user name and password credentials", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] }, "backupStorageAccountErrors": { "type": "array", "description": "Errors associated with the storage account provided.", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] }, "existingBackupErrors": { "type": "array", "description": "Errors associated with existing backup files.", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] }, "databaseBackupInfo": { "$ref": "#/definitions/DatabaseBackupInfo", "description": "Information about backup files when existing backup mode is used." } } }, "ValidateMigrationInputSqlServerSqlMITaskProperties": { "type": "object", "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance", "properties": { "input": { "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskInput", "description": "Task input" }, "output": { "type": "array", "description": "Task output. This is ignored if submitted.", "items": { "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "ValidateMigrationInput.SqlServer.AzureSqlDbMI" }, "ValidateMongoDbTaskProperties": { "type": "object", "description": "Properties for the task that validates a migration between MongoDB data sources", "properties": { "input": { "$ref": "#/definitions/MongoDbMigrationSettings", "description": "Describes how a MongoDB data migration should be performed" }, "output": { "type": "array", "description": "An array containing a single MongoDbMigrationProgress object", "items": { "$ref": "#/definitions/MongoDbMigrationProgress" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "Validate.MongoDb" }, "ValidateOracleAzureDbForPostgreSqlSyncTaskProperties": { "type": "object", "description": "Properties for the task that validates a migration for Oracle to Azure Database for PostgreSQL for online migrations", "properties": { "input": { "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskInput", "description": "Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations" }, "output": { "type": "array", "description": "An array containing a single validation error response object", "items": { "$ref": "#/definitions/ValidateOracleAzureDbPostgreSqlSyncTaskOutput" }, "readOnly": true, "x-ms-identifiers": [] } }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" } ], "x-ms-discriminator-value": "Validate.Oracle.AzureDbPostgreSql.Sync" }, "ValidateOracleAzureDbPostgreSqlSyncTaskOutput": { "type": "object", "description": "Output for task that validates migration input for Oracle to Azure Database for PostgreSQL for online migrations", "properties": { "validationErrors": { "type": "array", "description": "Errors associated with a selected database object", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } } }, "ValidateSyncMigrationInputSqlServerTaskInput": { "type": "object", "description": "Input for task that validates migration input for SQL sync migrations", "properties": { "sourceConnectionInfo": { "$ref": "#/definitions/SqlConnectionInfo", "description": "Information for connecting to source SQL server" }, "targetConnectionInfo": { "$ref": "#/definitions/SqlConnectionInfo", "description": "Information for connecting to target" }, "selectedDatabases": { "type": "array", "description": "Databases to migrate", "items": { "$ref": "#/definitions/MigrateSqlServerSqlDbSyncDatabaseInput" }, "x-ms-identifiers": [] } }, "required": [ "sourceConnectionInfo", "targetConnectionInfo", "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": { "type": "array", "description": "Errors associated with a selected database object", "items": { "$ref": "#/definitions/ReportableException" }, "readOnly": true, "x-ms-identifiers": [] } } }, "ValidationError": { "type": "object", "description": "Description about the errors happen while performing migration validation", "properties": { "text": { "type": "string", "description": "Error Text" }, "severity": { "$ref": "#/definitions/Severity", "description": "Severity of the error" } } }, "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, "values": [ { "name": "Default", "value": "Default", "description": "Default" }, { "name": "NotStarted", "value": "NotStarted", "description": "NotStarted" }, { "name": "Initialized", "value": "Initialized", "description": "Initialized" }, { "name": "InProgress", "value": "InProgress", "description": "InProgress" }, { "name": "Completed", "value": "Completed", "description": "Completed" }, { "name": "CompletedWithIssues", "value": "CompletedWithIssues", "description": "CompletedWithIssues" }, { "name": "Stopped", "value": "Stopped", "description": "Stopped" }, { "name": "Failed", "value": "Failed", "description": "Failed" } ] } }, "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", "description": "Total wait time in millisecond(s)", "default": 0 }, "waitCount": { "type": "integer", "format": "int64", "description": "Total no. of waits" } } }, "deleteNode": { "type": "object", "description": "Details of node to be deleted.", "properties": { "nodeName": { "type": "string", "description": "The name of node to delete.", "x-ms-mutability": [ "read", "create" ] }, "integrationRuntimeName": { "type": "string", "description": "The name of integration runtime.", "x-ms-mutability": [ "read", "create" ] } } } }, "parameters": {} }