diff --git a/profiles/ResourceSchemas.md b/profiles/ResourceSchemas.md index 7c0b7f6de217..5caaf6137a06 100644 --- a/profiles/ResourceSchemas.md +++ b/profiles/ResourceSchemas.md @@ -106,6 +106,7 @@ batch: - ../specification/datalake-store/resource-manager/Microsoft.DataLakeStore/2016-11-01/account.json - ../specification/datalake-store/resource-manager/Microsoft.DataLakeStore/2016-11-01/filesystem.json - ../specification/datamigration/resource-manager/Microsoft.DataMigration/2017-11-15-preview/datamigration.json + - ../specification/datamigration/resource-manager/Microsoft.DataMigration/2018-03-15-preview/datamigration.json - ../specification/devtestlabs/resource-manager/Microsoft.DevTestLab/2015-05-21-preview/DTL.json - ../specification/devtestlabs/resource-manager/Microsoft.DevTestLab/2016-05-15/DTL.json - ../specification/dns/resource-manager/Microsoft.Network/2015-05-04-preview/dns.json diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/datamigration.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/datamigration.json new file mode 100644 index 000000000000..6734fd03c8cb --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/datamigration.json @@ -0,0 +1,1239 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Data Migration Service Resource Provider", + "version": "2018-03-15-preview", + "description": "The Data Migration Service helps people migrate their data from on-premise database servers to Azure, or from older database software to newer software. The service manages one or more workers that are joined to a customer's virtual network, which is assumed to provide connectivity to their databases. To avoid frequent updates to the resource provider, data migration tasks are implemented by the resource provider in a generic way as task resources, each of which has a task type (which identifies the type of work to run), input, and output. The client is responsible for providing appropriate task type and inputs, which will be passed through unexamined to the machines that implement the functionality, and for understanding the output, which is passed back unexamined to the client.", + "x-ms-code-generation-settings": { + "name": "DataMigrationServiceClient", + "useDateTimeOffset": true + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/skus": { + "get": { + "summary": "Get supported SKUs", + "description": "The skus action returns the list of SKUs that DMS supports.", + "tags": [ + "Standard operation", + "GET" + ], + "operationId": "ResourceSkus_ListSkus", + "x-ms-examples": { + "ListSkus": { "$ref": "./examples/ResourceSkus_ListSkus.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Got SKUs", + "schema": { + "$ref": "./definitions/ResourceSkus.json#/definitions/ResourceSkusResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}": { + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "put": { + "summary": "Create or update DMS Instance", + "description": "The services resource is the top-level resource that represents the Data Migration Service. The PUT method creates a new service or updates an existing one. When a service is updated, existing child resources (i.e. tasks) are unaffected. Services currently support a single kind, \"vm\", which refers to a VM-based service, although other kinds may be added in the future. This method can change the kind, SKU, and network of the service, but if tasks are currently running (i.e. the service is busy), this will fail with 400 Bad Request (\"ServiceIsBusy\"). The provider will reply when successful with 200 OK or 201 Created. Long-running operations use the provisioningState property.", + "tags": [ + "Service resource", + "Standard operation", + "PUT" + ], + "operationId": "Services_CreateOrUpdate", + "x-ms-examples": { + "Services_CreateOrUpdate": { "$ref": "./examples/Services_CreateOrUpdate.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/service" + } + ], + "x-ms-long-running-operation": true, + "responses": { + "200": { + "description": "Service updated", + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationService" + } + }, + "201": { + "description": "Service created (use provisioningState)", + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationService" + } + }, + "202": { + "description": "Update accepted" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "get": { + "summary": "Get DMS Service Instance", + "description": "The services resource is the top-level resource that represents the Data Migration Service. The GET method retrieves information about a service instance.", + "tags": [ + "Service resource", + "Standard operation", + "GET" + ], + "operationId": "Services_Get", + "x-ms-examples": { + "Services_CreateOrUpdate": { "$ref": "./examples/Services_Get.json" } + }, + "responses": { + "200": { + "description": "A service instance resource", + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationService" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "delete": { + "summary": "Delete DMS Service Instance", + "description": "The services resource is the top-level resource that represents the Data Migration Service. The DELETE method deletes a service. Any running tasks will be canceled.", + "tags": [ + "Service resource", + "Standard operation", + "DELETE" + ], + "parameters": [ + { + "$ref": "#/parameters/deleteRunningTasks" + } + ], + "operationId": "Services_Delete", + "x-ms-examples": { + "Services_CreateOrUpdate": { "$ref": "./examples/Services_Delete.json" } + }, + "x-ms-long-running-operation": true, + "responses": { + "200": { + "description": "Service resource deleted" + }, + "202": { + "description": "Deletion accepted" + }, + "204": { + "description": "Service not found" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "patch": { + "summary": "Create or update DMS Service Instance", + "description": "The services resource is the top-level resource that represents the Data Migration Service. The PATCH method updates an existing service. This method can change the kind, SKU, and network of the service, but if tasks are currently running (i.e. the service is busy), this will fail with 400 Bad Request (\"ServiceIsBusy\").", + "tags": [ + "Service resource", + "Standard operation", + "PATCH" + ], + "operationId": "Services_Update", + "x-ms-examples": { + "Services_CreateOrUpdate": { "$ref": "./examples/Services_Update.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/service" + } + ], + "x-ms-long-running-operation": true, + "responses": { + "200": { + "description": "Service resource updated", + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationService" + } + }, + "202": { + "description": "Update accepted" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkStatus": { + "post": { + "summary": "Check service health status", + "description": "The services resource is the top-level resource that represents the Data Migration Service. This action performs a health check and returns the status of the service and virtual machine size.", + "tags": [ + "Service resource", + "Custom operation", + "POST" + ], + "operationId": "Services_CheckStatus", + "x-ms-examples": { + "Services_CheckStatus": { "$ref": "./examples/Services_CheckStatus.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Health checked", + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationServiceStatusResponse" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/start": { + "post": { + "summary": "Start service", + "description": "The services resource is the top-level resource that represents the Data Migration Service. This action starts the service and the service can be used for data migration.", + "tags": [ + "Service resource", + "Custom operation", + "POST" + ], + "operationId": "Services_Start", + "x-ms-examples": { + "Services_Start": { "$ref": "./examples/Services_Start.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-long-running-operation": true, + "responses": { + "200": { + "description": "The service has already been started." + }, + "202": { + "description": "The request to start service is accepted." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/stop": { + "post": { + "summary": "Stop service", + "description": "The services resource is the top-level resource that represents the Data Migration Service. This action stops the service and the service cannot be used for data migration. The service owner won't be billed when the service is stopped.", + "tags": [ + "Service resource", + "Custom operation", + "POST" + ], + "operationId": "Services_Stop", + "x-ms-examples": { + "Services_Stop": { "$ref": "./examples/Services_Stop.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-long-running-operation": true, + "responses": { + "200": { + "description": "The service has already been stopped." + }, + "202": { + "description": "The request to stop service is accepted." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/skus": { + "get": { + "summary": "Get compatible SKUs", + "description": "The services resource is the top-level resource that represents the Data Migration Service. The skus action returns the list of SKUs that a service resource can be updated to.", + "tags": [ + "Service resource", + "Standard operation", + "GET" + ], + "operationId": "Services_ListSkus", + "x-ms-examples": { + "Services_ListSkus": { "$ref": "./examples/Services_ListSkus.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Got SKUs", + "schema": { + "$ref": "./definitions/Services.json#/definitions/ServiceSkuList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks": { + "get": { + "summary": "Get tasks in a service", + "description": "The services resource is the top-level resource that represents the Data Migration Service. This method returns a list of tasks owned by a service resource. Some tasks may have a status of Unknown, which indicates that an error occurred while querying the status of that task.", + "tags": [ + "Service resource", + "Standard operation", + "GET" + ], + "operationId": "Tasks_List", + "x-ms-examples": { + "Tasks_List": { "$ref": "./examples/Tasks_List.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/taskType" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Got tasks", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/TaskList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkNameAvailability": { + "post": { + "summary": "Check nested resource name validity and availability", + "description": "This method checks whether a proposed nested resource name is valid and available.", + "tags": [ + "Custom operation", + "POST" + ], + "operationId": "Services_CheckChildrenNameAvailability", + "x-ms-examples": { + "Services_CheckChildrenNameAvailability": { "$ref": "./examples/Services_CheckChildrenNameAvailability.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/requestedName" + } + ], + "responses": { + "200": { + "description": "Name checked", + "schema": { + "$ref": "./definitions/Common.json#/definitions/NameAvailabilityResponse" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services": { + "get": { + "summary": "Get services in resource group", + "description": "The Services resource is the top-level resource that represents the Data Migration Service. This method returns a list of service resources in a resource group.", + "tags": [ + "Service resource", + "Standard operation", + "GET" + ], + "operationId": "Services_ListByResourceGroup", + "x-ms-examples": { + "Services_ListByResourceGroup": { "$ref": "./examples/Services_ListByResourceGroup.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Got services", + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationServiceList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/services": { + "get": { + "summary": "Get services in subscription", + "description": "The services resource is the top-level resource that represents the Data Migration Service. This method returns a list of service resources in a subscription.", + "tags": [ + "Service resource", + "Standard operation", + "GET" + ], + "operationId": "Services_List", + "x-ms-examples": { + "Services_List": { "$ref": "./examples/Services_List.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Got services", + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationServiceList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}": { + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/taskName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "put": { + "summary": "Create or update task", + "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The PUT method creates a new task or updates an existing one, although since tasks have no mutable custom properties, there is little reason to update an exising one.", + "tags": [ + "Task resource", + "Standard operation", + "PUT" + ], + "operationId": "Tasks_CreateOrUpdate", + "x-ms-examples": { + "Tasks_CreateOrUpdate": { "$ref": "./examples/Tasks_CreateOrUpdate.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/projectTask" + } + ], + "responses": { + "200": { + "description": "Task updated", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "201": { + "description": "Task created", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "get": { + "summary": "Get task information", + "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The GET method retrieves information about a task.", + "tags": [ + "Task resource", + "Standard operation", + "GET" + ], + "operationId": "Tasks_Get", + "x-ms-examples": { + "Tasks_Get": { "$ref": "./examples/Tasks_Get.json" } + }, + "parameters": [ + { + "name": "$expand", + "description": "Expand the response", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "A task resource", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "delete": { + "summary": "Delete task", + "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The DELETE method deletes a task, canceling it first if it's running.", + "tags": [ + "Task resource", + "Standard operation", + "DELETE" + ], + "parameters": [ + { + "$ref": "#/parameters/deleteRunningTasks" + } + ], + "operationId": "Tasks_Delete", + "x-ms-examples": { + "Tasks_Delete": { "$ref": "./examples/Tasks_Delete.json" } + }, + "responses": { + "200": { + "description": "Task resource deleted" + }, + "204": { + "description": "Not found" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "patch": { + "summary": "Create or update task", + "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The PATCH method updates an existing task, but since tasks have no mutable custom properties, there is little reason to do so.", + "tags": [ + "Task resource", + "Standard operation", + "PATCH" + ], + "operationId": "Tasks_Update", + "x-ms-examples": { + "Tasks_Update": { "$ref": "./examples/Tasks_Update.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/projectTask" + } + ], + "responses": { + "200": { + "description": "Task resource updated", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/cancel": { + "post": { + "summary": "Cancel a task", + "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. This method cancels a task if it's currently queued or running.", + "tags": [ + "Task resource", + "Custom operation", + "POST" + ], + "operationId": "Tasks_Cancel", + "x-ms-examples": { + "Tasks_Cancel": { "$ref": "./examples/Tasks_Cancel.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/taskName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Task canceled", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects": { + "get": { + "summary": "Get projects in a service", + "description": "The project resource is a nested resource representing a stored migration project. This method returns a list of projects owned by a service resource.", + "tags": [ + "Project resource", + "Standard operation", + "GET" + ], + "operationId": "Projects_List", + "x-ms-examples": { + "Projects_List": { "$ref": "./examples/Projects_List.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "List of projects", + "schema": { + "$ref": "./definitions/Projects.json#/definitions/ProjectList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}": { + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "put": { + "summary": "Create or update project", + "description": "The project resource is a nested resource representing a stored migration project. The PUT method creates a new project or updates an existing one.", + "tags": [ + "Project resource", + "Standard operation", + "PUT" + ], + "operationId": "Projects_CreateOrUpdate", + "x-ms-examples": { + "Projects_CreateOrUpdate": { "$ref": "./examples/Projects_CreateOrUpdate.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/project" + } + ], + "responses": { + "200": { + "description": "Project updated", + "schema": { + "$ref": "./definitions/Projects.json#/definitions/Project" + } + }, + "201": { + "description": "Project created", + "schema": { + "$ref": "./definitions/Projects.json#/definitions/Project" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "get": { + "summary": "Get project information", + "description": "The project resource is a nested resource representing a stored migration project. The GET method retrieves information about a project.", + "tags": [ + "Project resource", + "Standard operation", + "GET" + ], + "operationId": "Projects_Get", + "x-ms-examples": { + "Projects_Get": { "$ref": "./examples/Projects_Get.json" } + }, + "responses": { + "200": { + "description": "A project resource", + "schema": { + "$ref": "./definitions/Projects.json#/definitions/Project" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "delete": { + "summary": "Delete project", + "description": "The project resource is a nested resource representing a stored migration project. The DELETE method deletes a project.", + "tags": [ + "Project resource", + "Standard operation", + "DELETE" + ], + "parameters": [ + { + "$ref": "#/parameters/deleteRunningTasks" + } + ], + "operationId": "Projects_Delete", + "x-ms-examples": { + "Projects_Delete": { "$ref": "./examples/Projects_Delete.json" } + }, + "responses": { + "200": { + "description": "Project resource deleted" + }, + "204": { + "description": "Not found" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "patch": { + "summary": "Update project", + "description": "The project resource is a nested resource representing a stored migration project. The PATCH method updates an existing project.", + "tags": [ + "Project resource", + "Standard operation", + "PATCH" + ], + "operationId": "Projects_Update", + "x-ms-examples": { + "Projects_Update": { "$ref": "./examples/Projects_Update.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/project" + } + ], + "responses": { + "200": { + "description": "Project resource updated", + "schema": { + "$ref": "./definitions/Projects.json#/definitions/Project" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/checkNameAvailability": { + "post": { + "summary": "Check name validity and availability", + "description": "This method checks whether a proposed top-level resource name is valid and available.", + "tags": [ + "Standard operation", + "POST" + ], + "operationId": "Services_CheckNameAvailability", + "x-ms-examples": { + "Services_CheckNameAvailability": { "$ref": "./examples/Services_CheckNameAvailability.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/requestedName" + } + ], + "responses": { + "200": { + "description": "Name checked", + "schema": { + "$ref": "./definitions/Common.json#/definitions/NameAvailabilityResponse" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/usages": { + "get": { + "summary": "Get resource quotas and usage information", + "description": "This method returns region-specific quotas and resource usage information for the Data Migration Service.", + "tags": [ + "Standard operation", + "GET" + ], + "operationId": "Usages_List", + "x-ms-examples": { + "Services_Usages": { "$ref": "./examples/Usages_List.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Quotas returned", + "schema": { + "$ref": "./definitions/Common.json#/definitions/QuotaList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/providers/Microsoft.DataMigration/operations": { + "get": { + "summary": "Get available resource provider actions (operations)", + "description": "Lists all available actions exposed by the Data Migration Service resource provider.", + "tags": [ + "Standard operation", + "GET" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "Operations_List": { "$ref": "./examples/Operations_List.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Got action list", + "schema": { + "$ref": "./definitions/Services.json#/definitions/ServiceOperationList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + } + }, + "parameters": { + "apiVersion": { + "name": "api-version", + "description": "Version of the API", + "in": "query", + "required": true, + "type": "string" + }, + "deleteRunningTasks": { + "name": "deleteRunningTasks", + "description": "Delete the resource even if it contains running tasks", + "in": "query", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "groupName": { + "name": "groupName", + "description": "Name of the resource group", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "location": { + "name": "location", + "description": "The Azure region of the operation", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "project": { + "name": "parameters", + "description": "Information about the project", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions/Projects.json#/definitions/Project" + }, + "x-ms-parameter-location": "method" + }, + "projectName": { + "name": "projectName", + "description": "Name of the project", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "requestedName": { + "name": "parameters", + "description": "Requested name to validate", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions/Common.json#/definitions/NameAvailabilityRequest" + }, + "x-ms-parameter-location": "method" + }, + "taskName": { + "name": "taskName", + "description": "Name of the Task", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "taskType": { + "name": "taskType", + "description": "Filter tasks by task type", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "service": { + "name": "parameters", + "description": "Information about the service", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationService" + }, + "x-ms-parameter-location": "method" + }, + "serviceName": { + "name": "serviceName", + "description": "Name of the service", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "subscriptionId": { + "name": "subscriptionId", + "description": "Identifier of the subscription", + "in": "path", + "required": true, + "type": "string" + }, + "projectTask": { + "name": "parameters", + "description": "Information about the task", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + }, + "x-ms-parameter-location": "method" + }, + "timeoutMs": { + "name": "timeoutMs", + "description": "The number of milliseconds the task is allowed to run, up to 20000", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Common.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Common.json new file mode 100644 index 000000000000..5e38e8ce4a00 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Common.json @@ -0,0 +1,310 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Data Migration Service Resource Provider", + "version": "2018-03-15-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ApiError": { + "type": "object", + "description": "Error information.", + "properties": { + "error": { + "description": "Error information in OData format", + "$ref": "#/definitions/ODataError" + } + } + }, + "NameAvailabilityResponse": { + "type": "object", + "description": "Indicates whether a proposed resource name is available", + "properties": { + "nameAvailable": { + "type": "boolean", + "description": "If true, the name is valid and available. If false, 'reason' describes why not." + }, + "reason": { + "type": "string", + "description": "The reason why the name is not available, if nameAvailable is false", + "enum": [ + "AlreadyExists", + "Invalid" + ], + "x-ms-enum": { + "name": "NameCheckFailureReason", + "modelAsString": true + } + }, + "message": { + "type": "string", + "description": "The localized reason why the name is not available, if nameAvailable is false" + } + } + }, + "NameAvailabilityRequest": { + "type": "object", + "description": "A resource type and proposed name", + "properties": { + "name": { + "type": "string", + "description": "The proposed resource name" + }, + "type": { + "type": "string", + "description": "The resource type chain (e.g. virtualMachines/extensions)" + } + } + }, + "ODataError": { + "type": "object", + "description": "Error information in OData format.", + "properties": { + "code": { + "type": "string", + "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'" + }, + "message": { + "type": "string", + "description": "The human-readable description of the error" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ODataError" + }, + "description": "Inner errors that caused this error" + } + } + }, + "Quota": { + "type": "object", + "description": "Describes a quota for or usage details about a resource", + "properties": { + "currentValue": { + "type": "number", + "format": "double", + "description": "The current value of the quota. If null or missing, the current value cannot be determined in the context of the request." + }, + "id": { + "type": "string", + "description": "The resource ID of the quota object" + }, + "limit": { + "type": "number", + "format": "double", + "description": "The maximum value of the quota. If null or missing, the quota has no maximum, in which case it merely tracks usage." + }, + "name": { + "type": "object", + "description": "The name of the quota", + "properties": { + "localizedValue": { + "type": "string", + "description": "The localized name of the quota" + }, + "value": { + "type": "string", + "description": "The unlocalized name (or ID) of the quota" + } + } + }, + "unit": { + "type": "string", + "description": "The unit for the quota, such as Count, Bytes, BytesPerSecond, etc." + } + } + }, + "QuotaList": { + "type": "object", + "description": "OData page of quota objects", + "properties": { + "value": { + "type": "array", + "description": "List of quotas", + "items": { + "$ref": "#/definitions/Quota" + } + }, + "nextLink": { + "type": "string", + "description": "URL to load the next page of quotas, or null or missing if this is the last page" + } + } + }, + "ReportableException": { + "type": "object", + "description": "Exception object for all custom exceptions", + "properties": { + "message": { + "type": "string", + "description": "Error message" + }, + "filePath": { + "type": "string", + "description": "The path to the file where exception occurred" + }, + "lineNumber": { + "type": "string", + "description": "The line number where exception occurred" + }, + "hResult": { + "type": "integer", + "description": "Coded numerical value that is assigned to a specific exception" + }, + "stackTrace": { + "type": "string", + "description": "Stack trace" + } + } + }, + "Resource": { + "description": "ARM resource.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource ID." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "x-ms-azure-resource": true + }, + "TrackedResource": { + "description": "ARM tracked top level resource.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "Resource location." + } + }, + "required": [ + "location" + ], + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "ConnectionInfo": { + "type": "object", + "description": "Defines the connection properties of a server", + "x-ms-discriminator-value": "Unknown", + "properties": { + "type": { + "type": "string", + "description": "Type of connection info" + }, + "userName": { + "type": "string", + "description": "User name" + }, + "password": { + "type": "string", + "description": "Password credential." + } + }, + "required": [ "type" ], + "discriminator": "type" + }, + "AuthenticationType": { + "type": "string", + "description": "An enumeration of possible authentication types when connecting", + "enum": [ + "None", + "WindowsAuthentication", + "SqlAuthentication", + "ActiveDirectoryIntegrated", + "ActiveDirectoryPassword" + ], + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + }, + "SqlConnectionInfo": { + "x-ms-discriminator-value": "SqlConnectionInfo", + "type": "object", + "description": "Information for connecting to SQL database server", + "allOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + } + ], + "properties": { + "dataSource": { + "type": "string", + "description": "Data source in the format Protocol:MachineName\\SQLServerInstanceName,PortNumber" + }, + "authentication": { + "$ref": "#/definitions/AuthenticationType", + "description": "Authentication type to use for connection" + }, + "encryptConnection": { + "type": "boolean", + "description": "Whether to encrypt the connection", + "default": true + }, + "additionalSettings": { + "type": "string", + "description": "Additional connection settings" + }, + "trustServerCertificate": { + "type": "boolean", + "description": "Whether to trust the server certificate", + "default": false + } + }, + "required": [ "dataSource" ] + }, + "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" + ], + "x-ms-enum": { + "name": "ServerLevelPermissionsGroup", + "modelAsString": true + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToSourceSqlServerTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToSourceSqlServerTask.json new file mode 100644 index 000000000000..78b3551bb4c6 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToSourceSqlServerTask.json @@ -0,0 +1,134 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Data Migration Service Resource Provider", + "version": "2018-03-15-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToSourceSqlServerTaskInput": { + "type": "object", + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements", + "properties": { + "sourceConnectionInfo": { + "description": "Connection information for Source SQL Server", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + }, + "checkPermissionsGroup": { + "$ref": "./Common.json#/definitions/ServerLevelPermissionsGroup", + "description": "Permission group for validations" + } + }, + "required": [ + "sourceConnectionInfo" + ] + }, + "ConnectToSourceSqlServerTaskOutput": { + "type": "object", + "description": "Output for the task that validates connection to SQL Server and also validates source server requirements", + "properties": { + "resultType": { + "description": "Type of result - database level or task level", + "type": "string" + } + }, + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/TaskOutput" + } + ], + "required": [ "resultType" ], + "discriminator": "resultType" + }, + "ConnectToSourceSqlServerTaskOutputTaskLevel": { + "x-ms-discriminator-value": "TaskLevelOutput", + "type": "object", + "description": "Task level output for the task that validates connection to SQL Server and also validates source server requirements", + "properties": { + "databases": { + "type": "string", + "description": "Source databases as a map from database name to database id", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "sourceServerVersion": { + "type": "string", + "description": "Source server version", + "readOnly": true + }, + "sourceServerBrandVersion": { + "type": "string", + "description": "Source server brand version", + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskOutput" + } + ] + }, + "ConnectToSourceSqlServerTaskOutputDatabaseLevel": { + "x-ms-discriminator-value": "DatabaseLevelOutput", + "type": "object", + "description": "Database level output for the task that validates connection to SQL Server and also validates source server requirements", + "properties": { + "name": { + "type": "string", + "description": "Database name", + "readOnly": true + }, + "sizeMB": { + "type": "number", + "format": "double", + "description": "Size of the file in megabytes", + "readOnly": true + }, + "databaseFiles": { + "type": "array", + "description": "The list of database files", + "items": { + "$ref": "./TasksCommon.json#/definitions/DatabaseFileInfo" + }, + "readOnly": true + }, + "compatibilityLevel": { + "$ref": "./TasksCommon.json#/definitions/DatabaseCompatLevel", + "description": "SQL Server compatibility level of database", + "readOnly": true + }, + "databaseState": { + "$ref": "./TasksCommon.json#/definitions/DatabaseState", + "description": "State of the database", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskOutput" + } + ] + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToTargetSqlDbTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToTargetSqlDbTask.json new file mode 100644 index 000000000000..a6da8b38ef4a --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToTargetSqlDbTask.json @@ -0,0 +1,63 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Data Migration Service Resource Provider", + "version": "2018-03-15-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToTargetSqlDbTaskInput": { + "type": "object", + "description": "Input for the task that validates connection to SQL DB and target server requirements", + "properties": { + "targetConnectionInfo": { + "description": "Connection information for target SQL DB", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + } + }, + "required": [ + "targetConnectionInfo" + ] + }, + "ConnectToTargetSqlDbTaskOutput": { + "type": "object", + "description": "Output for the task that validates connection to SQL DB and target server requirements", + "properties": { + "databases": { + "type": "string", + "description": "Source databases as a map from database name to database id", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Version of the target server", + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/TaskOutput" + } + ] + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToTargetSqlMITask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToTargetSqlMITask.json new file mode 100644 index 000000000000..578ddf9a8e05 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToTargetSqlMITask.json @@ -0,0 +1,63 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Data Migration Service Resource Provider", + "version": "2018-03-15-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToTargetSqlMITaskInput": { + "type": "object", + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance.", + "properties": { + "targetConnectionInfo": { + "description": "Connection information for target SQL Server", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + } + }, + "required": [ + "targetConnectionInfo" + ] + }, + "ConnectToTargetSqlMITaskOutput": { + "type": "object", + "description": "Output for the task that validates connection to Azure SQL Database Managed Instance.", + "properties": { + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/TaskOutput" + } + ] + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/GetUserTablesSqlTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/GetUserTablesSqlTask.json new file mode 100644 index 000000000000..bef3b25403ba --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/GetUserTablesSqlTask.json @@ -0,0 +1,88 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Data Migration Service Resource Provider", + "version": "2018-03-15-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "GetUserTablesSqlTaskInput": { + "type": "object", + "description": "Input for the task that collects user tables for the given list of databases", + "properties": { + "connectionInfo": { + "description": "Connection information for SQL Server", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + }, + "selectedDatabases": { + "type": "array", + "description": "List of database names to collect tables for", + "items": { + "type": "string" + } + } + }, + "required": [ + "connectionInfo", + "selectedDatabases" + ] + }, + "GetUserTablesSqlTaskOutput": { + "type": "object", + "description": "Output of the task that collects user tables for the given list of databases", + "properties": { + "databasesToTables": { + "type": "string", + "description": "Mapping from database name to list of tables", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseTable" + } + }, + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/TaskOutput" + } + ] + }, + "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 + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrateSqlServerSqlDbTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrateSqlServerSqlDbTask.json new file mode 100644 index 000000000000..975df49e559a --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrateSqlServerSqlDbTask.json @@ -0,0 +1,391 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Data Migration Service Resource Provider", + "version": "2018-03-15-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "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" + } + }, + "validationOptions": { + "description": "Options for enabling various post migration validations. Available options, \n 1.) Data Integrity Check: Performs a checksum based comparison on source and target tables after the migration to ensure the correctness of the data. \n 2.) Schema Validation: Performs a thorough schema comparison between the source and target tables and provides a list of differences between the source and target database, 3.) Query Analysis: Executes a set of queries picked up automatically either from the Query Plan Cache or Query Store and execute them and compares the execution time between the source and target database.", + "$ref": "./MigrationValidation.json#/definitions/MigrationValidationOptions" + } + }, + "required": [ + "selectedDatabases" + ], + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/SqlMigrationTaskInput" + } + ] + }, + "MigrateSqlServerSqlDbTaskOutput": { + "type": "object", + "description": "Output for the task that migrates on-prem SQL Server databases to Azure SQL Database", + "properties": { + "resultType": { + "description": "Result type", + "type": "string" + } + }, + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/TaskOutput" + } + ], + "required": [ "resultType" ], + "discriminator": "resultType" + }, + "MigrateSqlServerSqlDbTaskOutputMigrationLevel": { + "x-ms-discriminator-value": "MigrationLevelOutput", + "type": "object", + "properties": { + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "durationInSeconds": { + "type": "integer", + "format": "int64", + "description": "Duration of task execution in seconds.", + "readOnly": true + }, + "status": { + "$ref": "./TasksCommon.json#/definitions/MigrationStatus", + "description": "Current status of migration", + "readOnly": true + }, + "statusMessage": { + "type": "string", + "description": "Migration status message", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Migration progress message", + "readOnly": true + }, + "databases": { + "type": "string", + "description": "Selected databases as a map from database name to database id", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "databaseSummary": { + "type": "string", + "description": "Summary of database results in the migration", + "additionalProperties": { + "$ref": "#/definitions/DatabaseSummaryResult" + }, + "readOnly": true + }, + "migrationReportResult": { + "type": "object", + "description": "Migration Report Result, provides unique url for downloading your migration report.", + "$ref": "./MigrationValidation.json#/definitions/MigrationReportResult" + }, + "sourceServerVersion": { + "type": "string", + "description": "Source server version", + "readOnly": true + }, + "sourceServerBrandVersion": { + "type": "string", + "description": "Source server brand version", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Migration exceptions and warnings.", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" + } + ] + }, + "MigrateSqlServerSqlDbTaskOutputDatabaseLevel": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelOutput", + "properties": { + "databaseName": { + "type": "string", + "description": "Name of the item", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "stage": { + "$ref": "./TasksCommon.json#/definitions/DatabaseMigrationStage", + "description": "Migration stage that this database is in", + "readOnly": true + }, + "statusMessage": { + "type": "string", + "description": "Status message", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Migration progress message", + "readOnly": true + }, + "numberOfObjects": { + "type": "integer", + "format": "int64", + "description": "Number of objects", + "readOnly": true + }, + "numberOfObjectsCompleted": { + "type": "integer", + "format": "int64", + "description": "Number of successfully completed objects", + "readOnly": true + }, + "errorCount": { + "type": "integer", + "format": "int64", + "description": "Number of database/object errors.", + "readOnly": true + }, + "errorPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all errors of the item", + "readOnly": true + }, + "resultPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all sub-tem results of the item", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Migration exceptions and warnings.", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + }, + "objectSummary": { + "type": "string", + "description": "Summary of object results in the migration", + "additionalProperties": { + "$ref": "./TasksCommon.json#/definitions/DataItemMigrationSummaryResult" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" + } + ] + }, + "MigrateSqlServerSqlDbTaskOutputTableLevel": { + "type": "object", + "x-ms-discriminator-value": "TableLevelOutput", + "properties": { + "objectName": { + "type": "string", + "description": "Name of the item", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "statusMessage": { + "type": "string", + "description": "Status message", + "readOnly": true + }, + "itemsCount": { + "type": "integer", + "format": "int64", + "description": "Number of items", + "readOnly": true + }, + "itemsCompletedCount": { + "type": "integer", + "format": "int64", + "description": "Number of successfully completed items", + "readOnly": true + }, + "errorPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all errors of the item", + "readOnly": true + }, + "resultPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all sub-tem results of the item", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" + } + ] + }, + "MigrateSqlServerSqlDbTaskOutputError": { + "type": "object", + "x-ms-discriminator-value": "ErrorOutput", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the exception", + "readOnly": true + }, + "error": { + "$ref": "./Common.json#/definitions/ReportableException", + "description": "Migration error", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" + } + ] + }, + "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" + } + } + } + }, + "DatabaseSummaryResult": { + "type": "object", + "description": "Summary of database results in the migration", + "properties": { + "sizeMB": { + "type": "number", + "format": "double", + "description": "Size of the database in megabytes", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/DataItemMigrationSummaryResult" + } + ] + }, + "MigrateSqlServerSqlDbTaskOutputValidationResult": { + "x-ms-discriminator-value": "MigrationValidationOutput", + "type": "object", + "$ref": "./MigrationValidation.json#/definitions/MigrationValidationResult", + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" + } + ] + }, + "MigrateSqlServerSqlDbTaskOutputDatabaseLevelValidationResult": { + "x-ms-discriminator-value": "MigrationDatabaseLevelValidationOutput", + "type": "object", + "$ref": "./MigrationValidation.json#/definitions/MigrationValidationDatabaseLevelResult", + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" + } + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrateSqlServerSqlMITask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrateSqlServerSqlMITask.json new file mode 100644 index 000000000000..3c6040d13942 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrateSqlServerSqlMITask.json @@ -0,0 +1,214 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Data Migration Service Resource Provider", + "version": "2018-03-15-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "MigrateSqlServerSqlMITaskInput": { + "type": "object", + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance.", + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/SqlMigrationTaskInput" + } + ], + "properties": { + "selectedDatabases": { + "description": "Databases to migrate", + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + "backupFileShare": { + "$ref": "./TasksCommon.json#/definitions/FileShare", + "description": "Backup file share information for all selected databases." + }, + "backupBlobShare": { + "$ref": "./TasksCommon.json#/definitions/BlobShare", + "description": "SAS URI of Azure Storage Account Container to be used for storing backup files." + } + }, + "required": [ + "selectedDatabases", + "backupBlobShare" + ] + }, + "MigrateSqlServerSqlMITaskOutput": { + "type": "object", + "description": "Output for task that migrates SQL Server databases to Azure SQL Database Managed Instance.", + "properties": { + "resultType": { + "description": "Result type", + "type": "string" + } + }, + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/TaskOutput" + } + ], + "required": [ "resultType" ], + "discriminator": "resultType" + }, + "MigrateSqlServerSqlMITaskOutputMigrationLevel": { + "type": "object", + "x-ms-discriminator-value": "MigrationLevelOutput", + "properties": { + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "status": { + "$ref": "TasksCommon.json#/definitions/MigrationStatus", + "description": "Current status of migration", + "readOnly": true + }, + "state": { + "$ref": "TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Migration progress message", + "readOnly": true + }, + "databases": { + "type": "string", + "description": "Selected databases as a map from database name to database id", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "sourceServerVersion": { + "type": "string", + "description": "Source server version", + "readOnly": true + }, + "sourceServerBrandVersion": { + "type": "string", + "description": "Source server brand version", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Migration exceptions and warnings.", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput" + } + ] + }, + "MigrateSqlServerSqlMITaskOutputDatabaseLevel": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelOutput", + "properties": { + "databaseName": { + "type": "string", + "description": "Name of the database", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "stage": { + "$ref": "./TasksCommon.json#/definitions/DatabaseMigrationStage", + "description": "Current stage of migration", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Migration progress message", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Migration exceptions and warnings", + "type": "array", + "items": { + "$ref": "Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput" + } + ] + }, + "MigrateSqlServerSqlMITaskOutputError": { + "type": "object", + "x-ms-discriminator-value": "ErrorOutput", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the exception", + "readOnly": true + }, + "error": { + "$ref": "Common.json#/definitions/ReportableException", + "description": "Migration error", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput" + } + ] + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrationValidation.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrationValidation.json new file mode 100644 index 000000000000..ac34c05bd422 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrationValidation.json @@ -0,0 +1,415 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Data Migration Service Resource Provider", + "version": "2018-03-15-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "MigrationValidationOptions": { + "type": "object", + "description": "Types of validations to run after the migration", + "properties": { + "enableSchemaValidation": { + "type": "boolean", + "description": "Allows to compare the schema information between source and target." + }, + "enableDataIntegrityValidation": { + "type": "boolean", + "description": "Allows to perform a checksum based data integrity validation between source and target for the selected database / tables ." + }, + "enableQueryAnalysisValidation": { + "type": "boolean", + "description": "Allows to perform a quick and intelligent query analysis by retrieving queries from the source database and executes them in the target. The result will have execution statistics for executions in source and target databases for the extracted queries." + } + } + }, + "MigrationReportResult": { + "type": "object", + "description": "Migration validation report result, contains the url for downloading the generated report.", + "properties": { + "id": { + "type": "string", + "description": "Migration validation result identifier" + }, + "reportUrl": { + "type": "string", + "description": "The url of the report." + } + } + }, + "MigrationValidationResult": { + "type": "object", + "description": "Migration Validation Result", + "properties": { + "id": { + "type": "string", + "description": "Migration validation result identifier", + "readOnly": true + }, + "migrationId": { + "type": "string", + "description": "Migration Identifier", + "readOnly": true + }, + "summaryResults": { + "type": "object", + "description": "Validation summary results for each database", + "additionalProperties": { + "$ref": "#/definitions/MigrationValidationDatabaseSummaryResult" + } + }, + "status": { + "$ref": "#/definitions/ValidationStatus", + "description": "Current status of validation at the migration level. Status from the database validation result status will be aggregated here.", + "readOnly": true + } + } + }, + "MigrationValidationDatabaseSummaryResult": { + "type": "object", + "description": "Migration Validation Database level summary result", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "migrationId": { + "type": "string", + "description": "Migration Identifier", + "readOnly": true + }, + "sourceDatabaseName": { + "type": "string", + "description": "Name of the source database", + "readOnly": true + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of the target database", + "readOnly": true + }, + + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Validation start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Validation end time", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/ValidationStatus", + "description": "Current status of validation at the database level", + "readOnly": true + } + } + }, + "MigrationValidationDatabaseLevelResult": { + "type": "object", + "description": "Database level validation results", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "migrationId": { + "type": "string", + "description": "Migration Identifier", + "readOnly": true + }, + "sourceDatabaseName": { + "type": "string", + "description": "Name of the source database", + "readOnly": true + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of the target database", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Validation start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Validation end time", + "readOnly": true + }, + "dataIntegrityValidationResult": { + "description": "Provides data integrity validation result between the source and target tables that are migrated.", + "$ref": "#/definitions/DataIntegrityValidationResult", + "readOnly": true + }, + "schemaValidationResult": { + "description": "Provides schema comparison result between source and target database", + "$ref": "#/definitions/SchemaComparisonValidationResult", + "readOnly": true + }, + + "queryAnalysisValidationResult": { + "description": "Results of some of the query execution result between source and target database", + "$ref": "#/definitions/QueryAnalysisValidationResult", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/ValidationStatus", + "description": "Current status of validation at the database level", + "readOnly": true + } + } + }, + "DataIntegrityValidationResult": { + "type": "object", + "description": "Results for checksum based Data Integrity validation results", + "properties": { + "failedObjects": { + "type": "object", + "description": "List of failed table names of source and target pair", + "additionalProperties": { + "type": "string" + } + }, + "validationErrors": { + "type": "array", + "description": "List of errors that happened while performing data integrity validation", + "$ref": "#/definitions/ValidationError" + } + } + }, + "SchemaComparisonValidationResult": { + "type": "object", + "description": "Results for schema comparison between the source and target", + "properties": { + "schemaDifferences": { + "type": "array", + "description": "List of schema differences between the source and target databases", + "$ref": "#/definitions/SchemaComparisonValidationResultType" + }, + "validationErrors": { + "type": "array", + "description": "List of errors that happened while performing schema compare validation", + "$ref": "#/definitions/ValidationError" + }, + "sourceDatabaseObjectCount": { + "type": "object", + "description": "Count of source database objects", + "additionalProperties": { + "type": "integer", + "format": "int64" + } + }, + "targetDatabaseObjectCount": { + "type": "object", + "description": "Count of target database objects", + "additionalProperties": { + "type": "integer", + "format": "int64" + } + } + } + }, + "SchemaComparisonValidationResultType": { + "type": "object", + "description": "Description about the errors happen while performing migration validation", + "properties": { + "objectName": { + "type": "string", + "description": "Name of the object that has the difference" + }, + "objectType": { + "type": "object", + "$ref": "./TasksCommon.json#/definitions/DatabaseObjectType", + "description": "Type of the object that has the difference. e.g (Table/View/StoredProcedure)" + }, + "updateAction": { + "type": "string", + "description": "Update action type with respect to target", + "$ref": "#/definitions/UpdateActionType" + } + } + }, + "UpdateActionType": { + "type": "string", + "description": "Type of the actual difference for the compared object, while performing schema comparison", + "enum": [ + "DeletedOnTarget", + "ChangedOnTarget", + "AddedOnTarget" + ], + "x-ms-enum": { + "name": "UpdateActionType", + "modelAsString": true + } + }, + "QueryAnalysisValidationResult": { + "type": "object", + "description": "Results for query analysis comparison between the source and target", + "properties": { + "queryResults": { + "type": "array", + "description": "List of queries executed and it's execution results in source and target", + "$ref": "#/definitions/QueryExecutionResult" + }, + "validationErrors": { + "type": "array", + "description": "Errors that are part of the execution", + "$ref": "#/definitions/ValidationError" + } + } + }, + "QueryExecutionResult": { + "type": "object", + "description": "Describes query analysis results for execution in source and target", + "properties": { + "queryText": { + "type": "string", + "description": "Query text retrieved from the source server" + }, + "statementsInBatch": { + "type": "integer", + "format": "int64", + "description": "Total no. of statements in the batch" + }, + "sourceResult": { + "type": "object", + "description": "Query analysis result from the source", + "$ref": "#/definitions/ExecutionStatistics" + }, + "targetResult": { + "type": "object", + "description": "Query analysis result from the target", + "$ref": "#/definitions/ExecutionStatistics" + } + } + }, + "ExecutionStatistics": { + "type": "object", + "description": "Description about the errors happen while performing migration validation", + "properties": { + "executionCount": { + "type": "integer", + "format": "int64", + "description": "No. of query executions" + }, + "cpuTimeMs": { + "type": "number", + "format": "float", + "description": "CPU Time in millisecond(s) for the query execution" + }, + "elapsedTimeMs": { + "type": "number", + "format": "float", + "description": "Time taken in millisecond(s) for executing the query" + }, + "waitStats": { + "type": "object", + "description": "Dictionary of sql query execution wait types and the respective statistics", + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/WaitStatistics" + } + }, + "hasErrors": { + "type": "boolean", + "description": "Indicates whether the query resulted in an error" + }, + "sqlErrors": { + "type": "array", + "description": "List of sql Errors", + "items": { + "type": "string" + } + } + } + }, + "WaitStatistics": { + "type": "object", + "description": "Wait statistics gathered during query batch execution", + "properties": { + "waitType": { + "type": "string", + "description": "Type of the Wait" + }, + "waitTimeMs": { + "type": "number", + "format": "float", + "default": 0, + "description": "Total wait time in millisecond(s) " + }, + "waitCount": { + "type": "integer", + "format": "int64", + "description": "Total no. of waits" + } + } + }, + "Severity": { + "type": "string", + "description": "Severity of the validation error", + "enum": [ + "Message", + "Warning", + "Error" + ], + "x-ms-enum": { + "name": "Severity", + "modelAsString": true + } + }, + "ValidationError": { + "type": "object", + "description": "Description about the errors happen while performing migration validation", + "properties": { + "text": { + "type": "string", + "description": "Error Text" + }, + "severity": { + "type": "string", + "description": "Severity of the error", + "$ref": "#/definitions/Severity" + } + } + }, + "ValidationStatus": { + "type": "string", + "description": "Current status of the validation", + "enum": [ + "Default", + "NotStarted", + "Initialized", + "InProgress", + "Completed", + "CompletedWithIssues", + "Failed", + "Stopped" + ], + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsString": true + } + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Projects.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Projects.json new file mode 100644 index 000000000000..6a25354e4a93 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Projects.json @@ -0,0 +1,138 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Data Migration Service Resource Provider", + "version": "2018-03-15-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "Project": { + "type": "object", + "description": "A project resource", + "properties": { + "properties": { + "description": "Project properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProjectProperties" + } + }, + "allOf": [ + { + "$ref": "./Common.json#/definitions/TrackedResource" + } + ] + }, + "ProjectList": { + "type": "object", + "description": "OData page of project resources", + "properties": { + "value": { + "type": "array", + "description": "List of projects", + "items": { + "$ref": "#/definitions/Project" + } + }, + "nextLink": { + "type": "string", + "description": "URL to load the next page of projects" + } + } + }, + "ProjectProperties": { + "type": "object", + "description": "Project-specific properties", + "properties": { + "sourcePlatform": { + "description": "Source platform for the project", + "$ref": "#/definitions/ProjectSourcePlatform" + }, + "targetPlatform": { + "description": "Target platform for the project", + "$ref": "#/definitions/ProjectTargetPlatform" + }, + "creationTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "UTC Date and time when project was created" + }, + "sourceConnectionInfo": { + "$ref": "./Common.json#/definitions/ConnectionInfo", + "description": "Information for connecting to source" + }, + "targetConnectionInfo": { + "$ref": "./Common.json#/definitions/ConnectionInfo", + "description": "Information for connecting to target" + }, + "databasesInfo": { + "type": "array", + "description": "List of DatabaseInfo", + "items": { + "$ref": "#/definitions/DatabaseInfo" + } + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The project's provisioning state", + "enum": [ + "Deleting", + "Succeeded" + ], + "x-ms-enum": { + "name": "ProjectProvisioningState", + "modelAsString": true + } + } + }, + "required": [ "sourcePlatform", "targetPlatform" ] + }, + "DatabaseInfo": { + "type": "object", + "description": "Project Database Details", + "properties": { + "sourceDatabaseName": { + "type": "string", + "description": "Name of the database" + } + }, + "required": [ "sourceDatabaseName" ] + }, + "ProjectSourcePlatform": { + "type": "string", + "description": "Source platform of the project", + "enum": [ + "SQL", + "Unknown" + ], + "x-ms-enum": { + "name": "ProjectSourcePlatform", + "modelAsString": true + } + }, + "ProjectTargetPlatform": { + "type": "string", + "description": "Target platform of the project", + "enum": [ + "SQLDB", + "Unknown" + ], + "x-ms-enum": { + "name": "ProjectTargetPlatform", + "modelAsString": true + } + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ResourceSkus.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ResourceSkus.json new file mode 100644 index 000000000000..3ab6f31d0e24 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ResourceSkus.json @@ -0,0 +1,231 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Data Migration Service Resource Provider", + "version": "2018-03-15-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ResourceSku": { + "properties": { + "resourceType": { + "readOnly": true, + "type": "string", + "description": "The type of resource the SKU applies to." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of SKU." + }, + "tier": { + "readOnly": true, + "type": "string", + "description": "Specifies the tier of DMS in a scale set." + }, + "size": { + "readOnly": true, + "type": "string", + "description": "The Size of the SKU." + }, + "family": { + "readOnly": true, + "type": "string", + "description": "The Family of this particular SKU." + }, + "kind": { + "readOnly": true, + "type": "string", + "description": "The Kind of resources that are supported in this SKU." + }, + "capacity": { + "$ref": "#/definitions/ResourceSkuCapacity", + "readOnly": true, + "description": "Not used." + }, + "locations": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "The set of locations that the SKU is available." + }, + "apiVersions": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "The api versions that support this SKU." + }, + "costs": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ResourceSkuCosts" + }, + "description": "Metadata for retrieving price info." + }, + "capabilities": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ResourceSkuCapabilities" + }, + "description": "A name value pair to describe the capability." + }, + "restrictions": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ResourceSkuRestrictions" + }, + "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions." + } + }, + "description": "Describes an available DMS SKU." + }, + "ResourceSkuCapacity": { + "properties": { + "minimum": { + "type": "integer", + "readOnly": true, + "format": "int64", + "description": "The minimum capacity." + }, + "maximum": { + "type": "integer", + "readOnly": true, + "format": "int64", + "description": "The maximum capacity." + }, + "default": { + "type": "integer", + "readOnly": true, + "format": "int64", + "description": "The default capacity." + }, + "scaleType": { + "type": "string", + "readOnly": true, + "description": "The scale type applicable to the SKU.", + "enum": [ + "Automatic", + "Manual", + "None" + ], + "x-ms-enum": { + "name": "ResourceSkuCapacityScaleType", + "modelAsString": true + } + } + }, + "description": "Describes scaling information of a SKU." + }, + "ResourceSkuCosts": { + "properties": { + "meterID": { + "type": "string", + "readOnly": true, + "description": "Used for querying price from commerce." + }, + "quantity": { + "type": "integer", + "readOnly": true, + "format": "int64", + "description": "The multiplier is needed to extend the base metered cost." + }, + "extendedUnit": { + "type": "string", + "readOnly": true, + "description": "An invariant to show the extended unit." + } + }, + "description": "Describes metadata for retrieving price info." + }, + "ResourceSkuCapabilities": { + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "An invariant to describe the feature." + }, + "value": { + "type": "string", + "readOnly": true, + "description": "An invariant if the feature is measured by quantity." + } + }, + "description": "Describes The SKU capabilites object." + }, + "ResourceSkuRestrictions": { + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of restrictions.", + "enum": [ + "location" + ], + "x-ms-enum": { + "name": "ResourceSkuRestrictionsType", + "modelAsString": true + } + }, + "values": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted." + }, + "reasonCode": { + "type": "string", + "readOnly": true, + "description": "The reason code for restriction.", + "enum": [ + "QuotaId", + "NotAvailableForSubscription" + ], + "x-ms-enum": { + "name": "ResourceSkuRestrictionsReasonCode", + "modelAsString": true + } + } + }, + "description": "Describes scaling information of a SKU." + }, + "ResourceSkusResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSku" + }, + "description": "The list of SKUs available for the subscription." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of DMS SKUs. Call ListNext() with this to fetch the next page of DMS SKUs." + } + }, + "required": [ + "value" + ], + "description": "The DMS List SKUs operation response." + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Services.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Services.json new file mode 100644 index 000000000000..a6e0b5d4ccc6 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Services.json @@ -0,0 +1,283 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Data Migration Service Resource Provider", + "version": "2018-03-15-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "AvailableServiceSku": { + "type": "object", + "description": "Describes the available service SKU.", + "properties": { + "resourceType": { + "type": "string", + "description": "The resource type, including the provider namespace" + }, + "sku": { + "type": "object", + "description": "SKU name, tier, etc.", + "properties": { + "name": { + "type": "string", + "description": "The name of the SKU" + }, + "family": { + "type": "string", + "description": "SKU family" + }, + "size": { + "type": "string", + "description": "SKU size" + }, + "tier": { + "type": "string", + "description": "The tier of the SKU, such as \"Free\", \"Basic\", \"Standard\", or \"Premium\"" + } + } + }, + "capacity": { + "type": "object", + "description": "A description of the scaling capacities of the SKU", + "properties": { + "minimum": { + "type": "integer", + "description": "The minimum capacity, usually 0 or 1." + }, + "maximum": { + "type": "integer", + "description": "The maximum capacity" + }, + "default": { + "type": "integer", + "description": "The default capacity" + }, + "scaleType": { + "type": "string", + "description": "The scalability approach", + "enum": [ + "none", + "manual", + "automatic" + ], + "x-ms-enum": { + "name": "ServiceScalability", + "modelAsString": true + } + } + } + } + } + }, + "DataMigrationService": { + "type": "object", + "description": "A Data Migration Service resource", + "properties": { + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. Ignored if submitted" + }, + "kind": { + "type": "string", + "description": "The resource kind. Only 'vm' (the default) is supported." + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Custom service properties", + "$ref": "#/definitions/DataMigrationServiceProperties" + }, + "sku": { + "description": "Service SKU", + "$ref": "#/definitions/ServiceSku" + } + }, + "allOf": [ + { + "$ref": "./Common.json#/definitions/TrackedResource" + } + ] + }, + "DataMigrationServiceList": { + "type": "object", + "description": "OData page of service objects", + "properties": { + "value": { + "type": "array", + "description": "List of services", + "items": { + "$ref": "#/definitions/DataMigrationService" + } + }, + "nextLink": { + "type": "string", + "description": "URL to load the next page of services" + } + } + }, + "DataMigrationServiceProperties": { + "type": "object", + "description": "Properties of the Data Migration service instance", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The resource's provisioning state", + "enum": [ + "Accepted", + "Deleting", + "Deploying", + "Stopped", + "Stopping", + "Starting", + "FailedToStart", + "FailedToStop", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "ServiceProvisioningState", + "modelAsString": true + } + }, + "publicKey": { + "type": "string", + "description": "The public key of the service, used to encrypt secrets sent to the service" + }, + "virtualSubnetId": { + "type": "string", + "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined" + } + }, + "required": [ "virtualSubnetId" ] + }, + "DataMigrationServiceStatusResponse": { + "type": "object", + "description": "Service health status", + "properties": { + "agentVersion": { + "type": "string", + "description": "The DMS instance agent version" + }, + "status": { + "type": "string", + "description": "The machine-readable status, such as 'Initializing', 'Offline', 'Online', 'Deploying', 'Deleting', 'Stopped', 'Stopping', 'Starting', 'FailedToStart', 'FailedToStop' or 'Failed'" + }, + "vmSize": { + "type": "string", + "description": "The services virtual machine size, such as 'Standard_D2_v2'" + }, + "supportedTaskTypes": { + "type": "array", + "description": "The list of supported task types", + "items": { + "type": "string", + "description": "Migration task type" + } + } + } + }, + "ServiceOperation": { + "type": "object", + "description": "Description of an action supported by the Data Migration Service", + "properties": { + "name": { + "type": "string", + "description": "The fully qualified action name, e.g. Microsoft.DataMigration/services/read" + }, + "display": { + "type": "object", + "description": "Localized display text", + "properties": { + "provider": { + "type": "string", + "description": "The localized resource provider name" + }, + "resource": { + "type": "string", + "description": "The localized resource type name" + }, + "operation": { + "type": "string", + "description": "The localized operation name" + }, + "description": { + "type": "string", + "description": "The localized operation description" + } + } + } + } + }, + "ServiceOperationList": { + "type": "object", + "description": "OData page of action (operation) objects", + "properties": { + "value": { + "type": "array", + "description": "List of actions", + "items": { + "$ref": "#/definitions/ServiceOperation" + } + }, + "nextLink": { + "type": "string", + "description": "URL to load the next page of actions" + } + } + }, + "ServiceSku": { + "type": "object", + "description": "An Azure SKU instance", + "properties": { + "name": { + "type": "string", + "description": "The unique name of the SKU, such as 'P3'" + }, + "tier": { + "type": "string", + "description": "The tier of the SKU, such as 'Free', 'Basic', 'Standard', or 'Premium'" + }, + "family": { + "type": "string", + "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines" + }, + "size": { + "type": "string", + "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines" + }, + "capacity": { + "type": "integer", + "description": "The capacity of the SKU, if it supports scaling" + } + } + }, + "ServiceSkuList": { + "type": "object", + "description": "OData page of available SKUs", + "properties": { + "value": { + "type": "array", + "description": "List of service SKUs", + "items": { + "$ref": "#/definitions/AvailableServiceSku" + } + }, + "nextLink": { + "type": "string", + "description": "URL to load the next page of service SKUs" + } + } + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Tasks.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Tasks.json new file mode 100644 index 000000000000..e340ee4bf773 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Tasks.json @@ -0,0 +1,265 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Data Migration Service Resource Provider", + "version": "2018-03-15-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ProjectTaskProperties": { + "type": "object", + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned.", + "x-ms-discriminator-value": "Unknown", + "properties": { + "taskType": { + "description": "Task type.", + "type": "string" + }, + "errors": { + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ODataError" + }, + "description": "Array of errors. This is ignored if submitted.", + "readOnly": true + }, + "state": { + "type": "string", + "description": "The state of the task. This is ignored if submitted.", + "enum": [ + "Unknown", + "Queued", + "Running", + "Canceled", + "Succeeded", + "Failed", + "FailedInputValidation", + "Faulted" + ], + "x-ms-enum": { + "name": "TaskState", + "modelAsString": true + }, + "readOnly": true + } + }, + "required": [ "taskType" ], + "discriminator": "taskType" + }, + "ProjectTask": { + "type": "object", + "description": "A task resource", + "properties": { + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "properties": { + "description": "Custom task properties", + "$ref": "#/definitions/ProjectTaskProperties" + } + }, + "allOf": [ + { + "$ref": "./Common.json#/definitions/Resource" + } + ] + }, + "TaskList": { + "type": "object", + "description": "OData page of tasks", + "properties": { + "value": { + "type": "array", + "description": "List of tasks", + "items": { + "$ref": "#/definitions/ProjectTask" + } + }, + "nextLink": { + "type": "string", + "description": "URL to load the next page of tasks" + } + } + }, + "ConnectToSourceSqlServerTaskProperties": { + "x-ms-discriminator-value": "ConnectToSource.SqlServer", + "type": "object", + "description": "Properties for the task that validates connection to SQL Server and also validates source server requirements", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToSourceSqlServerTask.json#/definitions/ConnectToSourceSqlServerTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ConnectToSourceSqlServerTask.json#/definitions/ConnectToSourceSqlServerTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ConnectToTargetSqlMITaskProperties": { + "x-ms-discriminator-value": "ConnectToTarget.AzureSqlDbMI", + "type": "object", + "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToTargetSqlMITask.json#/definitions/ConnectToTargetSqlMITaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ConnectToTargetSqlMITask.json#/definitions/ConnectToTargetSqlMITaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ConnectToTargetSqlDbTaskProperties": { + "x-ms-discriminator-value": "ConnectToTarget.SqlDb", + "type": "object", + "description": "Properties for the task that validates connection to SQL DB and target server requirements", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToTargetSqlDbTask.json#/definitions/ConnectToTargetSqlDbTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ConnectToTargetSqlDbTask.json#/definitions/ConnectToTargetSqlDbTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "GetUserTablesSqlTaskProperties": { + "x-ms-discriminator-value": "GetUserTables.Sql", + "type": "object", + "description": "Properties for the task that collects user tables for the given list of databases", + "properties": { + "input": { + "description": "Task input", + "$ref": "./GetUserTablesSqlTask.json#/definitions/GetUserTablesSqlTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./GetUserTablesSqlTask.json#/definitions/GetUserTablesSqlTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "MigrateSqlServerSqlMITaskProperties": { + "x-ms-discriminator-value": "Migrate.SqlServer.AzureSqlDbMI", + "type": "object", + "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance", + "properties": { + "input": { + "description": "Task input", + "$ref": "./MigrateSqlServerSqlMITask.json#/definitions/MigrateSqlServerSqlMITaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./MigrateSqlServerSqlMITask.json#/definitions/MigrateSqlServerSqlMITaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "MigrateSqlServerSqlDbTaskProperties": { + "x-ms-discriminator-value": "Migrate.SqlServer.SqlDb", + "type": "object", + "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database", + "properties": { + "input": { + "description": "Task input", + "$ref": "./MigrateSqlServerSqlDbTask.json#/definitions/MigrateSqlServerSqlDbTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./MigrateSqlServerSqlDbTask.json#/definitions/MigrateSqlServerSqlDbTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ValidateMigrationInputSqlServerSqlMITaskProperties": { + "x-ms-discriminator-value": "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "type": "object", + "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ValidateMigrationInputSqlServerSqlMITask.json#/definitions/ValidateMigrationInputSqlServerSqlMITaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ValidateMigrationInputSqlServerSqlMITask.json#/definitions/ValidateMigrationInputSqlServerSqlMITaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/TasksCommon.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/TasksCommon.json new file mode 100644 index 000000000000..e0bd2898a9a2 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/TasksCommon.json @@ -0,0 +1,557 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Data Migration Service Resource Provider", + "version": "2018-03-15-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "TaskOutput": { + "type": "object", + "description": "Base class for all DMS task outputs", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + } + } + }, + "Database": { + "type": "object", + "description": "Information about a single database", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the database" + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "compatibilityLevel": { + "$ref": "#/definitions/DatabaseCompatLevel", + "description": "SQL Server compatibility level of database" + }, + "collation": { + "type": "string", + "description": "Collation name of the database" + }, + "serverName": { + "type": "string", + "description": "Name of the server" + }, + "fqdn": { + "type": "string", + "description": "Fully qualified name" + }, + "installId": { + "type": "string", + "description": "Install id of the database" + }, + "serverVersion": { + "type": "string", + "description": "Version of the server" + }, + "serverEdition": { + "type": "string", + "description": "Edition of the server" + }, + "serverLevel": { + "type": "string", + "description": "Product level of the server (RTM, SP, CTP)." + }, + "serverDefaultDataPath": { + "type": "string", + "description": "Default path of the data files" + }, + "serverDefaultLogPath": { + "type": "string", + "description": "Default path of the log files" + }, + "serverDefaultBackupPath": { + "type": "string", + "description": "Default path of the backup folder" + }, + "serverCoreCount": { + "type": "integer", + "description": "Number of cores on the server" + }, + "serverVisibleOnlineCoreCount": { + "type": "integer", + "description": "Number of cores on the server that have VISIBLE ONLINE status" + }, + "databaseState": { + "$ref": "#/definitions/DatabaseState", + "description": "State of the database" + }, + "serverId": { + "type": "string", + "description": "The unique Server Id" + } + } + }, + "DatabaseCompatLevel": { + "type": "string", + "description": "An enumeration of SQL Server database compatibility levels", + "enum": [ + "CompatLevel80", + "CompatLevel90", + "CompatLevel100", + "CompatLevel110", + "CompatLevel120", + "CompatLevel130", + "CompatLevel140" + ], + "x-ms-enum": { + "name": "DatabaseCompatLevel", + "modelAsString": true + } + }, + "DatabaseState": { + "type": "string", + "description": "An enumeration of SQL Server Database states", + "enum": [ + "Online", + "Restoring", + "Recovering", + "RecoveryPending", + "Suspect", + "Emergency", + "Offline", + "Copying", + "OfflineSecondary" + ], + "x-ms-enum": { + "name": "DatabaseState", + "modelAsString": true + } + }, + "DatabaseObjectType": { + "type": "string", + "description": "An enumeration of type of objects", + "enum": [ + "StoredProcedures", + "Table", + "User", + "View", + "Function" + ], + "x-ms-enum": { + "name": "ObjectType", + "modelAsString": true + } + }, + "DatabaseObjectName": { + "type": "object", + "description": "A representation of the name of an object in a database", + "properties": { + "databaseName": { + "type": "string", + "description": "The unescaped name of the database containing the object", + "readOnly": true + }, + "objectName": { + "type": "string", + "description": "The unescaped name of the object", + "readOnly": true + }, + "schemaName": { + "type": "string", + "description": "The unescaped name of the schema containing the object", + "readOnly": true + }, + "objectType": { + "$ref": "#/definitions/DatabaseObjectType", + "description": "Type of the object in the database" + } + } + }, + "DataItemMigrationSummaryResult": { + "type": "object", + "description": "Basic summary of a data item migration", + "properties": { + "name": { + "type": "string", + "description": "Name of the item", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "state": { + "$ref": "#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "statusMessage": { + "type": "string", + "description": "Status message", + "readOnly": true + }, + "itemsCount": { + "type": "integer", + "format": "int64", + "description": "Number of items", + "readOnly": true + }, + "itemsCompletedCount": { + "type": "integer", + "format": "int64", + "description": "Number of successfully completed items", + "readOnly": true + }, + "errorPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all errors of the item", + "readOnly": true + }, + "resultPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all sub-tem results of the item", + "readOnly": true + } + } + }, + "DataMigrationProjectMetadata": { + "type": "object", + "description": "Common metadata for migration projects", + "properties": { + "sourceServerName": { + "type": "string", + "description": "Source server name", + "readOnly": true + }, + "sourceServerPort": { + "type": "string", + "description": "Source server port number", + "readOnly": true + }, + "sourceUsername": { + "type": "string", + "description": "Source username", + "readOnly": true + }, + "targetServerName": { + "type": "string", + "description": "Target server name", + "readOnly": true + }, + "targetUsername": { + "type": "string", + "description": "Target username", + "readOnly": true + }, + "targetDbName": { + "type": "string", + "description": "Target database name", + "readOnly": true + }, + "targetUsingWinAuth": { + "type": "boolean", + "description": "Whether target connection is Windows authentication", + "readOnly": true + }, + "selectedMigrationTables": { + "type": "array", + "description": "List of tables selected for migration", + "readOnly": true, + "items": { + "$ref": "#/definitions/MigrationTableMetadata" + } + } + } + }, + "MigrationState": { + "type": "string", + "description": "Current state of migration", + "enum": [ + "None", + "InProgress", + "Failed", + "Warning", + "Completed", + "Skipped", + "Stopped" + ], + "x-ms-enum": { + "name": "MigrationState", + "modelAsString": true + } + }, + "MigrationStatus": { + "type": "string", + "description": "Current status of migration", + "enum": [ + "Default", + "Connecting", + "SourceAndTargetSelected", + "SelectLogins", + "Configured", + "Running", + "Error", + "Stopped", + "Completed", + "CompletedWithWarnings" + ], + "x-ms-enum": { + "name": "MigrationStatus", + "modelAsString": true + } + }, + "SqlMigrationTaskInput": { + "type": "object", + "description": "Base class for migration task input", + "properties": { + "sourceConnectionInfo": { + "$ref": "./Common.json#/definitions/SqlConnectionInfo", + "description": "Information for connecting to source" + }, + "targetConnectionInfo": { + "$ref": "./Common.json#/definitions/SqlConnectionInfo", + "description": "Information for connecting to target" + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo" + ] + }, + "MigrationTableMetadata": { + "type": "object", + "description": "Metadata for tables selected in migration project", + "properties": { + "sourceTableName": { + "type": "string", + "description": "Source table name", + "readOnly": true + }, + "targetTableName": { + "type": "string", + "description": "Target table name", + "readOnly": true + } + } + }, + "DataMigrationError": { + "type": "object", + "description": "Migration Task errors", + "properties": { + "message": { + "type": "string", + "description": "Error description", + "readOnly": true + }, + "type": { + "$ref": "#/definitions/ErrorType" + } + } + }, + "ErrorType": { + "type": "string", + "description": "Error type", + "enum": [ + "Default", + "Warning", + "Error" + ], + "x-ms-enum": { + "name": "ErrorType", + "modelAsString": true + } + }, + "MigrateSqlServerSqlMIDatabaseInput": { + "type": "object", + "description": "Database specific information for SQL to Azure SQL DB Managed Instance migration task inputs", + "properties": { + "name": { + "type": "string", + "description": "Name of the database" + }, + "restoreDatabaseName": { + "type": "string", + "description": "Name of the database at destination" + }, + "backupFileShare": { + "$ref": "#/definitions/FileShare", + "description": "Backup file share information for backing up this database." + } + }, + "required": [ + "name", + "restoreDatabaseName" + ] + }, + "MigrateSqlServerSqlServerDatabaseInput": { + "type": "object", + "description": "Database specific information for SQL to SQL migration task inputs", + "properties": { + "name": { + "type": "string", + "description": "Name of the database" + }, + "restoreDatabaseName": { + "type": "string", + "description": "Name of the database at destination" + }, + "backupFileShare": { + "$ref": "#/definitions/FileShare", + "description": "Backup file share information for this database." + }, + "databaseFiles": { + "type": "array", + "description": "The list of database files", + "items": { + "$ref": "#/definitions/DatabaseFileInput" + } + } + } + }, + "DatabaseFileInput": { + "type": "object", + "description": "Database file specific information for input", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for database file" + }, + "logicalName": { + "type": "string", + "description": "Logical name of the file" + }, + "physicalFullName": { + "type": "string", + "description": "Operating-system full path of the file" + }, + "restoreFullName": { + "type": "string", + "description": "Suggested full path of the file for restoring" + }, + "fileType": { + "$ref": "#/definitions/DatabaseFileType", + "description": "Database file type" + } + } + }, + "DatabaseFileInfo": { + "type": "object", + "description": "Database file specific information", + "properties": { + "databaseName": { + "type": "string", + "description": "Name of the database" + }, + "id": { + "type": "string", + "description": "Unique identifier for database file" + }, + "logicalName": { + "type": "string", + "description": "Logical name of the file" + }, + "physicalFullName": { + "type": "string", + "description": "Operating-system full path of the file" + }, + "restoreFullName": { + "type": "string", + "description": "Suggested full path of the file for restoring" + }, + "fileType": { + "$ref": "#/definitions/DatabaseFileType", + "description": "Database file type" + }, + "sizeMB": { + "type": "number", + "format": "double", + "description": "Size of the file in megabytes" + } + } + }, + "DatabaseFileType": { + "type": "string", + "description": "An enumeration of SQL Server database file types", + "enum": [ + "Rows", + "Log", + "Filestream", + "NotSupported", + "Fulltext" + ], + "x-ms-enum": { + "name": "DatabaseFileType", + "modelAsString": true + } + }, + "DatabaseMigrationStage": { + "type": "string", + "description": "Current stage of migration", + "enum": [ + "None", + "Initialize", + "Backup", + "FileCopy", + "Restore", + "Completed" + ], + "x-ms-enum": { + "name": "DatabaseMigrationStage", + "modelAsString": true + } + }, + "BlobShare": { + "type": "object", + "description": "Blob container storage information.", + "properties": { + "sasUri": { + "type": "string", + "description": "SAS URI of Azure Storage Account Container." + } + }, + "required": [ + "sasUri" + ] + }, + "FileShare": { + "type": "object", + "description": "File share information with Path, Username, and Password.", + "properties": { + "userName": { + "type": "string", + "description": "User name credential to connect to the share location" + }, + "password": { + "type": "string", + "description": "Password credential used to connect to the share location." + }, + "path": { + "type": "string", + "description": "The folder path for this share." + } + }, + "required": [ + "path" + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ValidateMigrationInputSqlServerSqlMITask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ValidateMigrationInputSqlServerSqlMITask.json new file mode 100644 index 000000000000..e5bdb8e2d857 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ValidateMigrationInputSqlServerSqlMITask.json @@ -0,0 +1,99 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Data Migration Service Resource Provider", + "version": "2018-03-15-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ValidateMigrationInputSqlServerSqlMITaskInput": { + "type": "object", + "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance", + "properties": { + "targetConnectionInfo": { + "$ref": "./Common.json#/definitions/SqlConnectionInfo", + "description": "Information for connecting to target" + }, + "selectedDatabases": { + "type": "array", + "description": "Databases to migrate", + "items": { + "$ref": "./TasksCommon.json#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + "backupFileShare": { + "$ref": "./TasksCommon.json#/definitions/FileShare", + "description": "Backup file share information for all selected databases." + }, + "backupBlobShare": { + "$ref": "./TasksCommon.json#/definitions/BlobShare", + "description": "SAS URI of Azure Storage Account Container to be used for storing backup files." + } + }, + "required": [ + "targetConnectionInfo", + "selectedDatabases", + "backupBlobShare" + ] + }, + "ValidateMigrationInputSqlServerSqlMITaskOutput": { + "type": "object", + "description": "Output for task that validates migration input for SQL to Azure SQL Managed Instance migrations", + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/TaskOutput" + } + ], + "properties": { + "name": { + "type": "string", + "description": "Name of database", + "readOnly": true + }, + "restoreDatabaseNameErrors": { + "description": "Errors associated with the RestoreDatabaseName", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + }, + "backupFolderErrors": { + "description": "Errors associated with the BackupFolder path", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + }, + "backupShareCredentialsErrors": { + "description": "Errors associated with backup share user name and password credentials", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + }, + "backupStorageAccountErrors" : { + "description": "Errors associated with the storage account provided.", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Operations_List.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Operations_List.json new file mode 100644 index 000000000000..328675e6afd6 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Operations_List.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2018-03-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DataMigration/services/read", + "display": { + "provider": "Data Migration Service", + "resource": "Data Migration Service", + "operation": "Read", + "description": "Read information about services." + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Projects_CreateOrUpdate.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Projects_CreateOrUpdate.json new file mode 100644 index 000000000000..c35042afffec --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Projects_CreateOrUpdate.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "api-version": "2018-03-15-preview", + "parameters": { + "location": "southcentralus", + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB", + "creationTime": "2017-11-03T02:14:54.2458282-07:00", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject", + "location": "southcentralus", + "name": "DmsSdkProject", + "type": "Microsoft.DataMigration/services/projects" + } + }, + "201": { + "body": { + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB", + "creationTime": "2017-11-03T02:14:54.2458282-07:00", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject", + "location": "southcentralus", + "name": "DmsSdkProject", + "type": "Microsoft.DataMigration/services/projects" + } + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Projects_Delete.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Projects_Delete.json new file mode 100644 index 000000000000..f697952f4c9b --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Projects_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "api-version": "2018-03-15-preview" + }, + "responses": { + "200": { + "body": "" + }, + "204": { + "body": "" + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Projects_Get.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Projects_Get.json new file mode 100644 index 000000000000..644bb75d1146 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Projects_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "api-version": "2018-03-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB", + "creationTime": "2017-11-03T02:35:11.6561001-07:00", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject", + "location": "southcentralus", + "name": "DmsSdkProject", + "type": "Microsoft.DataMigration/services/projects" + } + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Projects_List.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Projects_List.json new file mode 100644 index 000000000000..5ab8cafc15be --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Projects_List.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2018-03-15-preview" + }, + "responses":{ + "200": { + "body": { + "value": [ + { + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB", + "creationTime": "2017-11-14T01:29:56.3049263+00:00", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/project1", + "location": "southcentralus", + "name": "project1", + "type": "Microsoft.DataMigration/services/projects" + }, + { + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB", + "creationTime": "2017-11-14T01:30:05.6185148+00:00", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/project2", + "location": "southcentralus", + "name": "project2", + "type": "Microsoft.DataMigration/services/projects" + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Projects_Update.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Projects_Update.json new file mode 100644 index 000000000000..9dea0cc3126a --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Projects_Update.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "api-version": "2018-03-15-preview", + "parameters": { + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB", + "creationTime": "2017-11-03T02:14:54.2458282-07:00", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject", + "location": "southcentralus", + "name": "DmsSdkProject", + "type": "Microsoft.DataMigration/services/projects" + } + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/ResourceSkus_ListSkus.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/ResourceSkus_ListSkus.json new file mode 100644 index 000000000000..b2cf64adf928 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/ResourceSkus_ListSkus.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2018-03-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "services", + "name": "PP1", + "locations": [ "East Asia", "Southeast Asia", "Australia East", "Australia Southeast", "Brazil South", "Canada Central", "Canada East", "North Europe", "West Europe", "Central India", "South India", "West India", "Japan East", "Japan West", "Korea South", "Korea Central", "UK South", "UK South 2", "UK North", "UK West", "East US 2 EUAP", "Central US", "East US", "East US 2", "North Central US", "South Central US", "West Central US", "West US", "West US 2" ], + "restrictions": [] + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_CheckChildrenNameAvailability.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_CheckChildrenNameAvailability.json new file mode 100644 index 000000000000..e2b08c3cb47e --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_CheckChildrenNameAvailability.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2018-03-15-preview", + "parameters": { + "requestedName": { + "name": "Task1", + "type": "tasks" + } + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_CheckNameAvailability.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_CheckNameAvailability.json new file mode 100644 index 000000000000..72b7791d3900 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_CheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "api-version": "2018-03-15-preview", + "location": "eastus", + "parameters": { + "requestedName": { + "name": "DmsSdkService", + "type": "services" + } + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_CheckStatus.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_CheckStatus.json new file mode 100644 index 000000000000..9c4c2aeae55c --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_CheckStatus.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2018-03-15-preview" + }, + "responses": { + "200": { + "body": { + "agentVersion": "3.3.3871.6", + "status": "Online", + "vmSize": "Standard_A1_v2", + "supportedTaskTypes": [ + "diagnostic.count", + "diagnostic.echo", + "diagnostic.error", + "diagnostic.fastCount", + "DataMigration.CompleteAzureSqlDbMIMigration", + "ConnectToSource.SqlServer", + "GetUserTables.Sql", + "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.SqlDb", + "Migrate.SqlServer.SqlDb", + "Migrate.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI" + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_CreateOrUpdate.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_CreateOrUpdate.json new file mode 100644 index 000000000000..1ece62b5f83a --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_CreateOrUpdate.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2018-03-15-preview", + "parameters": { + "properties": { + "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default" + }, + "sku": { + "name": "Basic_1vCore" + }, + "location": "southcentralus" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Accepted", + "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default" + }, + "etag": "9QuK/U0GvTJpjIrlOzITXVy68+bmmQ3bFkHudLxmkUw=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService", + "location": "southcentralus", + "name": "DmsSdkService", + "sku": { + "name": "Basic_1vCore", + "size": "1 vCore", + "tier": "Basic" + }, + "type": "Microsoft.DataMigration/services" + } + }, + "201": { + "body": { + "properties": { + "provisioningState": "Accepted", + "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default" + }, + "etag": "9QuK/U0GvTJpjIrlOzITXVy68+bmmQ3bFkHudLxmkUw=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService", + "location": "southcentralus", + "name": "DmsSdkService", + "sku": { + "name": "Basic_1vCore", + "size": "1 vCore", + "tier": "Basic" + }, + "type": "Microsoft.DataMigration/services" + } + }, + "202": {} + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_Delete.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_Delete.json new file mode 100644 index 000000000000..aabc4dfe5048 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2018-03-15-preview" + }, + "responses":{ + "200":{}, + "202": { + "body": "" + }, + "204":{} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_Get.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_Get.json new file mode 100644 index 000000000000..ffce94661deb --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2018-03-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "publicKey": "0;AQAB;kkQk9TqKG6+ZP2DDr0yjdnlHsZjJFBbL++2eSJvTDzIJFE98nGSA3RNX4EC65oSmsaNhKZi7y6v+cuU6/7q08uom5IfTK0CxmjRnKdoOHnZnP9TShaFLiZPv7H/FXoUIzHKuaOxg+/35AlhDXLVFjKmwfScLC+g6sEWDhlfWzcN7c34yVOGF+BQyZHIeqBcf9HDcwgFfjvAlEh0x4sTeLUNdpjLEv74ce3A/kJMBdFUoxVXvHcMjVVGXC4gS1VLb7Ykoihx+/c5qbhKMNff21v5lwxzNLfIMGzL+T8vKab+3Cpmusk2JaBJ+6glIIuhrpaX5X9fgmvenzzluUWMX9w==", + "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default" + }, + "etag": "VVFgsiFIruaTduI4hoNOUXLMXr5Y79qytW2cotz4viI=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService", + "location": "southcentralus", + "name": "DmsSdkService", + "sku": { + "name": "Basic_1vCore", + "size": "1 vCore", + "tier": "Basic" + }, + "type": "Microsoft.DataMigration/services" + } + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_List.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_List.json new file mode 100644 index 000000000000..099802e99f81 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_List.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "api-version": "2018-03-15-preview" + }, + "responses":{ + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg1/providers/Microsoft.DataMigration/services/DmsSdkService1", + "name": "DmsSdkService1", + "type": "Microsoft.DataMigration/services", + "sku": { + "name": "GeneralPurpose_4vCores", + "tier": "General Purpose", + "size": "4 vCores" + }, + "location": "southcentralus" + }, + { + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg2/providers/Microsoft.DataMigration/services/DmsSdkService2", + "name": "DmsSdkService2", + "type": "Microsoft.DataMigration/services", + "sku": { + "name": "Basic_2vCores", + "tier": "Basic", + "size": "2 vCores" + }, + "location": "centralus" + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_ListByResourceGroup.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_ListByResourceGroup.json new file mode 100644 index 000000000000..d2036568435f --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_ListByResourceGroup.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "api-version": "2018-03-15-preview" + }, + "responses":{ + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService1", + "name": "DmsSdkService1", + "type": "Microsoft.DataMigration/services", + "sku": { + "name": "GeneralPurpose_4vCores", + "tier": "General Purpose", + "size": "4 vCores" + }, + "location": "southcentralus" + }, + { + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService2", + "name": "DmsSdkService2", + "type": "Microsoft.DataMigration/services", + "sku": { + "name": "Basic_2vCores", + "tier": "Basic", + "size": "2 vCores" + }, + "location": "southcentralus" + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_ListSkus.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_ListSkus.json new file mode 100644 index 000000000000..defebaea1322 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_ListSkus.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2018-03-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.DataMigration/services", + "sku": { + "name": "Basic_1vCore", + "size": "1 vCore", + "tier": "Basic" + } + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_Start.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_Start.json new file mode 100644 index 000000000000..b26857596ae4 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_Start.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2018-03-15-preview" + }, + "responses": { + "202": { + "body": "" + }, + "200": { + "body": "" + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_Stop.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_Stop.json new file mode 100644 index 000000000000..b26857596ae4 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_Stop.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2018-03-15-preview" + }, + "responses": { + "202": { + "body": "" + }, + "200": { + "body": "" + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_Update.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_Update.json new file mode 100644 index 000000000000..4cd37692ee4d --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Services_Update.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2018-03-15-preview", + "parameters": { + "properties": { + "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default" + } + } + }, + "responses":{ + "200": { + "body": { + "properties": { + "provisioningState": "Accepted", + "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default" + }, + "etag": "9QuK/U0GvTJpjIrlOzITXVy68+bmmQ3bFkHudLxmkUw=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService", + "location": "southcentralus", + "name": "DmsSdkService", + "sku": { + "name": "Basic_1vCore", + "size": "1 vCore", + "tier": "Basic" + }, + "type": "Microsoft.DataMigration/services" + } + }, + "202":{} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Tasks_Cancel.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Tasks_Cancel.json new file mode 100644 index 000000000000..60afffd628d0 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Tasks_Cancel.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "taskName": "DmsSdkTask", + "api-version": "2018-03-15-preview" + }, + "responses":{ + "200": { + "body": { + "properties": { + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser" + } + }, + "taskType": "ConnectToTarget.SqlDb", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/projects/tasks" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Tasks_CreateOrUpdate.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Tasks_CreateOrUpdate.json new file mode 100644 index 000000000000..8a9712c4e005 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Tasks_CreateOrUpdate.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "projectName": "DmsSdkProject", + "serviceName": "DmsSdkService", + "taskName": "DmsSdkTask", + "api-version": "2018-03-15-preview", + "parameters": { + "properties": { + "taskType": "ConnectToTarget.SqlDb", + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser", + "password": "testpassword" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser" + } + }, + "taskType": "ConnectToTarget.SqlDb", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/projects/tasks" + } + }, + "201": { + "body": { + "properties": { + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser" + } + }, + "taskType": "ConnectToTarget.SqlDb", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/projects/tasks" + } + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Tasks_Delete.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Tasks_Delete.json new file mode 100644 index 000000000000..39b2cd7d5d54 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Tasks_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "taskName": "DmsSdkTask", + "api-version": "2018-03-15-preview" + }, + "responses": { + "200": { + "body": "" + }, + "204": { + "body": "" + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Tasks_Get.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Tasks_Get.json new file mode 100644 index 000000000000..b306aa753ff0 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Tasks_Get.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "taskName": "DmsSdkTask", + "api-version": "2018-03-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser" + } + }, + "taskType": "ConnectToTarget.SqlDb", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/projects/tasks" + } + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Tasks_List.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Tasks_List.json new file mode 100644 index 000000000000..7d8c18fee003 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Tasks_List.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "api-version": "2018-03-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser" + } + }, + "taskType": "ConnectToTarget.SqlDb", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/projects/tasks" + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Tasks_Update.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Tasks_Update.json new file mode 100644 index 000000000000..57792f46ad2c --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Tasks_Update.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "projectName": "DmsSdkProject", + "serviceName": "DmsSdkService", + "taskName": "DmsSdkTask", + "api-version": "2018-03-15-preview", + "parameters": { + "properties": { + "taskType": "ConnectToTarget.SqlDb", + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser", + "password": "testpassword" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser" + } + }, + "taskType": "ConnectToTarget.SqlDb", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/projects/tasks" + } + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Usages_List.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Usages_List.json new file mode 100644 index 000000000000..8fbfeaf91215 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-03-15-preview/examples/Usages_List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "90fb80a6-0f71-4761-8f03-921e7396f3c0", + "location": "westus", + "api-version": "2018-03-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "currentValue": 1.0, + "id": "/subscriptions/90fb80a6-0f71-4761-8f03-921e7396f3c0/providers/Microsoft.DataMigration/locations/westus/usages/Services", + "limit": 2.0, + "name": { + "localizedValue": "DMS service instances per region", + "value": "Services" + }, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/readme.md b/specification/datamigration/resource-manager/readme.md index aab8c80b26c2..b7ad870b05e4 100644 --- a/specification/datamigration/resource-manager/readme.md +++ b/specification/datamigration/resource-manager/readme.md @@ -2,7 +2,7 @@ > see https://aka.ms/autorest -This is the AutoRest configuration file for Data Migration Service. +This is the AutoRest configuration file for Database Migration Service. The Data Migration RP comprises of APIs that enable a customer to manage the service instances that help migrate databases from a source to target. @@ -28,7 +28,7 @@ These are the global settings for the Data Migration Service API. title: DataMigrationManagementClient description: Data Migration Client openapi-type: arm -tag: package-2017-11-15-preview +tag: package-2018-03-15-preview ``` ### Tag: package-2017-11-15-preview @@ -49,6 +49,29 @@ input-file: - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/TasksCommon.json - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/MigrationValidation.json ``` + +### Tag: package-2018-03-15-preview + +These settings apply only when `--tag=package-2018-03-15-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2018-03-15-preview' +input-file: +- Microsoft.DataMigration/preview/2018-03-15-preview/datamigration.json +- Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Common.json +- Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToSourceSqlServerTask.json +- Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToTargetSqlDbTask.json +- Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToTargetSqlMITask.json +- Microsoft.DataMigration/preview/2018-03-15-preview/definitions/GetUserTablesSqlTask.json +- Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrateSqlServerSqlDbTask.json +- Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrateSqlServerSqlMITask.json +- Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Projects.json +- Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Services.json +- Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Tasks.json +- Microsoft.DataMigration/preview/2018-03-15-preview/definitions/TasksCommon.json +- Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrationValidation.json +- Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ValidateMigrationInputSqlServerSqlMITask.json +``` + --- # Code Generation