diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/datamigration.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/datamigration.json index 0b2034341334..cfd3ddd118c0 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/datamigration.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/datamigration.json @@ -483,6 +483,55 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks": { + "get": { + "summary": "Get service level tasks for a service", + "description": "The services resource is the top-level resource that represents the Database Migration Service. This method returns a list of service level tasks owned by a service resource. Some tasks may have a status of Unknown, which indicates that an error occurred while querying the status of that task.", + "tags": [ + "Service resource", + "Standard operation", + "GET" + ], + "operationId": "ServiceTasks_List", + "x-ms-examples": { + "ServiceTasks_List": { "$ref": "./examples/ServiceTasks_List.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/taskType" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Got service tasks", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/TaskList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkNameAvailability": { "post": { "summary": "Check nested resource name validity and availability", @@ -785,6 +834,163 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}": { + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/taskName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "put": { + "summary": "Create or update service task", + "description": "The service tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The PUT method creates a new service task or updates an existing one, although since service tasks have no mutable custom properties, there is little reason to update an existing one.", + "tags": [ + "Service Task resource", + "Standard operation", + "PUT" + ], + "operationId": "ServiceTasks_CreateOrUpdate", + "x-ms-examples": { + "Tasks_CreateOrUpdate": { "$ref": "./examples/ServiceTasks_CreateOrUpdate.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/projectTask" + } + ], + "responses": { + "200": { + "description": "Service task updated", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "201": { + "description": "Service task created", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "get": { + "summary": "Get service task information", + "description": "The service tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The GET method retrieves information about a service task.", + "tags": [ + "Service Task resource", + "Standard operation", + "GET" + ], + "operationId": "ServiceTasks_Get", + "x-ms-examples": { + "Tasks_Get": { "$ref": "./examples/ServiceTasks_Get.json" } + }, + "parameters": [ + { + "name": "$expand", + "description": "Expand the response", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "A service task resource", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "delete": { + "summary": "Delete service task", + "description": "The service tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The DELETE method deletes a service task, canceling it first if it's running.", + "tags": [ + "Service Task resource", + "Standard operation", + "DELETE" + ], + "parameters": [ + { + "$ref": "#/parameters/deleteRunningTasks" + } + ], + "operationId": "ServiceTasks_Delete", + "x-ms-examples": { + "Tasks_Delete": { "$ref": "./examples/ServiceTasks_Delete.json" } + }, + "responses": { + "200": { + "description": "Service Task resource deleted" + }, + "204": { + "description": "Not found" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "patch": { + "summary": "Create or update service task", + "description": "The service tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The PATCH method updates an existing service task, but since service tasks have no mutable custom properties, there is little reason to do so.", + "tags": [ + "Service Task resource", + "Standard operation", + "PATCH" + ], + "operationId": "ServiceTasks_Update", + "x-ms-examples": { + "Tasks_Update": { "$ref": "./examples/ServiceTasks_Update.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/projectTask" + } + ], + "responses": { + "200": { + "description": "Service Task resource updated", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/cancel": { "post": { "summary": "Cancel a task", @@ -836,6 +1042,52 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}/cancel": { + "post": { + "summary": "Cancel a service task", + "description": "The service tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. This method cancels a service task if it's currently queued or running.", + "tags": [ + "Service Task resource", + "Custom operation", + "POST" + ], + "operationId": "ServiceTasks_Cancel", + "x-ms-examples": { + "Tasks_Cancel": { "$ref": "./examples/ServiceTasks_Cancel.json" } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/taskName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Service Task canceled", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/command": { "post": { "summary": "Execute a command on a task", diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Common.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Common.json index 9194e70deeeb..962a5b8cf42d 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Common.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Common.json @@ -359,6 +359,25 @@ "port" ] }, + "OracleConnectionInfo": { + "x-ms-discriminator-value": "OracleConnectionInfo", + "type": "object", + "description": "Information for connecting to Oracle server", + "properties": { + "dataSource": { + "type": "string", + "description": "EZConnect or TNSName connection string." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + } + ], + "required": [ + "dataSource" + ] + }, "PostgreSqlConnectionInfo": { "x-ms-discriminator-value": "PostgreSqlConnectionInfo", "type": "object", diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/OracleAzureDbPostgreSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/OracleAzureDbPostgreSqlSyncTask.json new file mode 100644 index 000000000000..2e189177cf3c --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/OracleAzureDbPostgreSqlSyncTask.json @@ -0,0 +1,479 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-07-15-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToSourceOracleSyncTaskInput": { + "type": "object", + "description": "Input for the task that validates Oracle database connection", + "properties": { + "sourceConnectionInfo": { + "$ref": "./Common.json#/definitions/OracleConnectionInfo", + "description": "Information for connecting to Oracle source" + } + }, + "required": [ + "sourceConnectionInfo" + ] + }, + "ConnectToSourceOracleSyncTaskOutput": { + "type": "object", + "description": "Output for the task that validates Oracle database connection", + "properties": { + "sourceServerVersion": { + "type": "string", + "description": "Version of the source server", + "readOnly": true + }, + "databases": { + "type": "array", + "description": "List of schemas on source server", + "items": { + "type": "string" + }, + "readOnly": true + }, + "sourceServerBrandVersion": { + "type": "string", + "description": "Source server brand version", + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors associated with the task", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput": { + "type": "object", + "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements for Oracle source.", + "properties": { + "targetConnectionInfo": { + "description": "Connection information for target Azure Database for PostgreSQL server", + "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo" + } + }, + "required": [ + "targetConnectionInfo" + ] + }, + "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput": { + "type": "object", + "description": "Output for the task that validates connection to Azure Database for PostgreSQL and target server requirements for Oracle source.", + "properties": { + "targetServerVersion": { + "type": "string", + "description": "Version of the target server", + "readOnly": true + }, + "databases": { + "type": "array", + "description": "List of databases on target server", + "items": { + "type": "string" + }, + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors associated with the task", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "ValidateOracleAzureDbPostgreSqlSyncTaskOutput": { + "type": "object", + "description": "Output for task that validates migration input for Oracle to Azure Database for PostgreSQL for online migrations", + "properties": { + "validationErrors": { + "description": "Errors associated with a selected database object", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "MigrateOracleAzureDbPostgreSqlSyncTaskInput": { + "type": "object", + "description": "Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations", + "properties": { + "selectedDatabases": { + "type": "array", + "description": "Databases to migrate", + "items": { + "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncDatabaseInput" + } + }, + "targetConnectionInfo": { + "description": "Connection information for target Azure Database for PostgreSQL", + "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo" + }, + "sourceConnectionInfo": { + "description": "Connection information for source Oracle", + "$ref": "./Common.json#/definitions/OracleConnectionInfo" + } + }, + "required": [ + "targetConnectionInfo", + "sourceConnectionInfo", + "selectedDatabases" + ] + }, + "MigrateOracleAzureDbPostgreSqlSyncTaskOutput": { + "type": "object", + "description": "Output for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Result type", + "type": "string", + "readOnly": true + } + }, + "discriminator": "resultType" + }, + "MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel": { + "x-ms-discriminator-value": "MigrationLevelOutput", + "type": "object", + "properties": { + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "sourceServerVersion": { + "type": "string", + "description": "Source server version", + "readOnly": true + }, + "sourceServer": { + "type": "string", + "description": "Source server name", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServer": { + "type": "string", + "description": "Target server name", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskOutput" + } + ] + }, + "MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelOutput", + "properties": { + "databaseName": { + "type": "string", + "description": "Name of the database", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "migrationState": { + "$ref": "./TasksCommon.json#/definitions/SyncDatabaseMigrationReportingState", + "description": "Migration state that this database is in", + "readOnly": true + }, + "incomingChanges": { + "type": "integer", + "format": "int64", + "description": "Number of incoming changes", + "readOnly": true + }, + "appliedChanges": { + "type": "integer", + "format": "int64", + "description": "Number of applied changes", + "readOnly": true + }, + "cdcInsertCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc inserts", + "readOnly": true + }, + "cdcDeleteCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc deletes", + "readOnly": true + }, + "cdcUpdateCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc updates", + "readOnly": true + }, + "fullLoadCompletedTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables completed in full load", + "readOnly": true + }, + "fullLoadLoadingTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables loading in full load", + "readOnly": true + }, + "fullLoadQueuedTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables queued in full load", + "readOnly": true + }, + "fullLoadErroredTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables errored in full load", + "readOnly": true + }, + "initializationCompleted": { + "type": "boolean", + "description": "Indicates if initial load (full load) has been completed", + "readOnly": true + }, + "latency": { + "type": "integer", + "format": "int64", + "description": "CDC apply latency", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskOutput" + } + ] + }, + "MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel": { + "type": "object", + "x-ms-discriminator-value": "TableLevelOutput", + "properties": { + "tableName": { + "type": "string", + "description": "Name of the table", + "readOnly": true + }, + "databaseName": { + "type": "string", + "description": "Name of the database", + "readOnly": true + }, + "cdcInsertCounter": { + "type": "integer", + "format": "int64", + "description": "Number of applied inserts", + "readOnly": true + }, + "cdcUpdateCounter": { + "type": "integer", + "format": "int64", + "description": "Number of applied updates", + "readOnly": true + }, + "cdcDeleteCounter": { + "type": "integer", + "format": "int64", + "description": "Number of applied deletes", + "readOnly": true + }, + "fullLoadEstFinishTime": { + "type": "string", + "format": "date-time", + "description": "Estimate to finish full load", + "readOnly": true + }, + "fullLoadStartedOn": { + "type": "string", + "format": "date-time", + "description": "Full load start time", + "readOnly": true + }, + "fullLoadEndedOn": { + "type": "string", + "format": "date-time", + "description": "Full load end time", + "readOnly": true + }, + "fullLoadTotalRows": { + "type": "integer", + "format": "int64", + "description": "Number of rows applied in full load", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/SyncTableMigrationState", + "description": "Current state of the table migration", + "readOnly": true + }, + "totalChangesApplied": { + "type": "integer", + "format": "int64", + "description": "Total number of applied changes", + "readOnly": true + }, + "dataErrorsCounter": { + "type": "integer", + "format": "int64", + "description": "Number of data errors occurred", + "readOnly": true + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Last modified time on target", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskOutput" + } + ] + }, + "MigrateOracleAzureDbPostgreSqlSyncTaskOutputError": { + "type": "object", + "x-ms-discriminator-value": "ErrorOutput", + "properties": { + "error": { + "$ref": "./Common.json#/definitions/ReportableException", + "description": "Migration error", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskOutput" + } + ] + }, + "MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelErrorOutput", + "properties": { + "errorMessage": { + "type": "string", + "description": "Error message" + }, + "events": { + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/SyncMigrationDatabaseErrorEvent" + }, + "description": "List of error events." + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskOutput" + } + ] + }, + "MigrateOracleAzureDbPostgreSqlSyncDatabaseInput": { + "type": "object", + "description": "Database specific information for Oracle to Azure Database for PostgreSQL migration task inputs", + "properties": { + "name": { + "type": "string", + "description": "Name of the migration pipeline" + }, + "schemaName": { + "type": "string", + "description": "Name of the source schema" + }, + "tableMap": { + "type": "object", + "description": "Mapping of source to target tables", + "additionalProperties": { + "type": "string" + } + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + }, + "migrationSetting": { + "type": "object", + "description": "Migration settings which tune the migration behavior", + "additionalProperties": { + "type": "string" + } + }, + "sourceSetting": { + "type": "object", + "description": "Source settings to tune source endpoint migration behavior", + "additionalProperties": { + "type": "string" + } + }, + "targetSetting": { + "type": "object", + "description": "Target settings to tune target endpoint migration behavior", + "additionalProperties": { + "type": "string" + } + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ServiceFeatureOCITask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ServiceFeatureOCITask.json new file mode 100644 index 000000000000..d04650db15cb --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ServiceFeatureOCITask.json @@ -0,0 +1,148 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-07-15-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "OracleOCIDriverInfo": { + "type": "object", + "description": "Information about an Oracle OCI driver.", + "properties": { + "driverName": { + "type": "string", + "description": "The name of the driver package", + "readOnly": true + }, + "driverSize": { + "type": "string", + "description": "The size in bytes of the driver package", + "readOnly": true + }, + "archiveChecksum": { + "type": "string", + "description": "The MD5 Base64 encoded checksum for the driver package.", + "readOnly": true + }, + "oracleChecksum": { + "type": "string", + "description": "The checksum for the driver package provided by Oracle.", + "readOnly": true + }, + "assemblyVersion": { + "type": "string", + "description": "Version listed in the OCI assembly 'oci.dll'", + "readOnly": true + }, + "supportedOracleVersions": { + "type": "array", + "description": "List of Oracle database versions supported by this driver. Only major minor of the version is listed.", + "readOnly": true, + "items": { + "type": "string" + } + } + } + }, + "CheckOCIDriverTaskInput": { + "type": "object", + "description": "Input for the service task to check for OCI drivers.", + "properties": { + "serverVersion": { + "type": "string", + "description": "Version of the source server to check against. Optional." + } + } + }, + "CheckOCIDriverTaskOutput": { + "type": "object", + "description": "Output for the service task to check for OCI drivers.", + "properties": { + "installedDriver": { + "type": "object", + "description": "Information about the installed driver if found and valid.", + "readOnly": true, + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/OracleOCIDriverInfo" + } + } + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "UploadOCIDriverTaskInput": { + "type": "object", + "description": "Input for the service task to upload an OCI driver.", + "properties": { + "driverShare": { + "$ref": "./TasksCommon.json#/definitions/FileShare", + "description": "File share information for the OCI driver archive." + } + } + }, + "UploadOCIDriverTaskOutput": { + "type": "object", + "description": "Output for the service task to upload an OCI driver.", + "properties": { + "driverPackageName": { + "type": "string", + "description": "The name of the driver package that was validated and uploaded.", + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "InstallOCIDriverTaskInput": { + "type": "object", + "description": "Input for the service task to install an OCI driver.", + "properties": { + "driverPackageName": { + "type": "string", + "description": "Name of the uploaded driver package to install." + } + } + }, + "InstallOCIDriverTaskOutput": { + "type": "object", + "description": "Output for the service task to install an OCI driver.", + "properties": { + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ServiceTasks.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ServiceTasks.json new file mode 100644 index 000000000000..d42aabe4c297 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ServiceTasks.json @@ -0,0 +1,90 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Data Migration Service Resource Provider", + "version": "2018-07-15-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "CheckOCIDriverTaskProperties": { + "x-ms-discriminator-value": "Service.Check.OCI", + "type": "object", + "description": "Properties for the task that checks for OCI drivers.", + "properties": { + "input": { + "$ref": "./ServiceFeatureOCITask.json#/definitions/CheckOCIDriverTaskInput" + }, + "output": { + "type": "array", + "description": "Task output. This is ignored if submitted.", + "items": { + "$ref": "./ServiceFeatureOCITask.json#/definitions/CheckOCIDriverTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./Tasks.json#/definitions/ProjectTaskProperties" + } + ] + }, + "UploadOCIDriverTaskProperties": { + "x-ms-discriminator-value": "Service.Upload.OCI", + "type": "object", + "description": "Properties for the task that uploads an OCI driver.", + "properties": { + "input": { + "$ref": "./ServiceFeatureOCITask.json#/definitions/UploadOCIDriverTaskInput" + }, + "output": { + "type": "array", + "description": "Task output. This is ignored if submitted.", + "items": { + "$ref": "./ServiceFeatureOCITask.json#/definitions/UploadOCIDriverTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./Tasks.json#/definitions/ProjectTaskProperties" + } + ] + }, + "InstallOCIDriverTaskProperties": { + "x-ms-discriminator-value": "Service.Install.OCI", + "type": "object", + "description": "Properties for the task that installs an OCI driver.", + "properties": { + "input": { + "$ref": "./ServiceFeatureOCITask.json#/definitions/InstallOCIDriverTaskInput" + }, + "output": { + "type": "array", + "description": "Task output. This is ignored if submitted.", + "items": { + "$ref": "./ServiceFeatureOCITask.json#/definitions/InstallOCIDriverTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./Tasks.json#/definitions/ProjectTaskProperties" + } + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Tasks.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Tasks.json index a2e4e0802189..a8478951b492 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Tasks.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Tasks.json @@ -205,6 +205,30 @@ } ] }, + "ConnectToSourceOracleSyncTaskProperties": { + "x-ms-discriminator-value": "ConnectToSource.Oracle.Sync", + "type": "object", + "description": "Properties for the task that validates Oracle database connection", + "properties": { + "input": { + "description": "Task input", + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/ConnectToSourceOracleSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/ConnectToSourceOracleSyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, "ConnectToTargetSqlDbTaskProperties": { "x-ms-discriminator-value": "ConnectToTarget.SqlDb", "type": "object", @@ -277,6 +301,30 @@ } ] }, + "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties": { + "x-ms-discriminator-value": "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", + "type": "object", + "description": "Properties for the task that validates connection to Azure Database For PostgreSQL server and target server requirements for online migration for Oracle source.", + "properties": { + "input": { + "description": "Task input", + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, "GetUserTablesSqlTaskProperties": { "x-ms-discriminator-value": "GetUserTables.Sql", "type": "object", @@ -563,6 +611,30 @@ } ] }, + "MigrateOracleAzureDbForPostgreSqlSyncTaskProperties": { + "x-ms-discriminator-value": "Migrate.Oracle.Sql.Sync", + "type": "object", + "description": "Properties for the task that migrates Oracle to Azure Database for PostgreSQL for online migrations", + "properties": { + "input": { + "description": "Task input", + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, "ValidateMigrationInputSqlServerSqlDbSyncTaskProperties": { "x-ms-discriminator-value": "ValidateMigrationInput.SqlServer.SqlDb.Sync", "type": "object", @@ -658,6 +730,29 @@ } ] }, + "ValidateOracleAzureDbForPostgreSqlSyncTaskProperties": { + "x-ms-discriminator-value": "Validate.Oracle.AzureDbPostgreSql.Sync", + "type": "object", + "description": "Properties for the task that validates a migration for Oracle to Azure Database for PostgreSQL for online migrations", + "properties": { + "input": { + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskInput" + }, + "output": { + "type": "array", + "description": "An array containing a single validation error response object", + "items": { + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/ValidateOracleAzureDbPostgreSqlSyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, "GetTdeCertificatesSqlTaskProperties": { "x-ms-discriminator-value": "GetTDECertificates.Sql", "type": "object", diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/TasksCommon.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/TasksCommon.json index 15d29923c949..b638c99db158 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/TasksCommon.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/TasksCommon.json @@ -806,7 +806,7 @@ }, "ConnectToSourceNonSqlTaskOutput": { "type": "object", - "description": "Output for connect to Oracle, MySQL type source", + "description": "Output for connect to MySQL type source", "properties": { "id": { "type": "string", @@ -843,7 +843,7 @@ }, "ServerProperties": { "type": "object", - "description": "Server properties for Oracle, MySQL type source", + "description": "Server properties for MySQL type source", "properties": { "serverPlatform": { "type": "string", diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/examples/ServiceTasks_Cancel.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/examples/ServiceTasks_Cancel.json new file mode 100644 index 000000000000..87b48c5ea309 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/examples/ServiceTasks_Cancel.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "taskName": "DmsSdkTask", + "api-version": "2018-07-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "input": { + "serverVersion": "NA" + }, + "taskType": "Service.Check.OCI", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/serviceTasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/serviceTasks" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/examples/ServiceTasks_CreateOrUpdate.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/examples/ServiceTasks_CreateOrUpdate.json new file mode 100644 index 000000000000..461998e7c40a --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/examples/ServiceTasks_CreateOrUpdate.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "taskName": "DmsSdkTask", + "api-version": "2018-07-15-preview", + "parameters": { + "properties": { + "taskType": "Service.Check.OCI", + "input": { + "serverVersion": "NA" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "input": { + "serverVersion": "NA" + }, + "taskType": "Service.Check.OCI", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/serviceTasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/serviceTasks" + } + }, + "201": { + "body": { + "properties": { + "input": { + "serverVersion": "NA" + }, + "taskType": "Service.Check.OCI", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/serviceTasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/serviceTasks" + } + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/examples/ServiceTasks_Delete.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/examples/ServiceTasks_Delete.json new file mode 100644 index 000000000000..2b59a6d1bb67 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/examples/ServiceTasks_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "taskName": "DmsSdkTask", + "api-version": "2018-07-15-preview" + }, + "responses": { + "200": { + "body": "" + }, + "204": { + "body": "" + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/examples/ServiceTasks_Get.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/examples/ServiceTasks_Get.json new file mode 100644 index 000000000000..5be1987f46da --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/examples/ServiceTasks_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "taskName": "DmsSdkTask", + "api-version": "2018-07-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "input": { + "serverVersion": "NA" + }, + "taskType": "Service.Check.OCI", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/serviceTasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/serviceTasks" + } + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/examples/ServiceTasks_List.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/examples/ServiceTasks_List.json new file mode 100644 index 000000000000..d408f2109076 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/examples/ServiceTasks_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2018-07-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "input": { + "serverVersion": "NA" + }, + "taskType": "Service.Check.OCI", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/serviceTasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/serviceTasks" + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/examples/ServiceTasks_Update.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/examples/ServiceTasks_Update.json new file mode 100644 index 000000000000..70e07b99a66b --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/examples/ServiceTasks_Update.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "taskName": "DmsSdkTask", + "api-version": "2018-07-15-preview", + "parameters": { + "properties": { + "taskType": "Service.Check.OCI", + "input": { + "serverVersion": "NA" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "input": { + "serverVersion": "NA" + }, + "taskType": "Service.Check.OCI", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/serviceTasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/serviceTasks" + } + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/readme.md b/specification/datamigration/resource-manager/readme.md index 1694df027700..7e1db7cb5007 100644 --- a/specification/datamigration/resource-manager/readme.md +++ b/specification/datamigration/resource-manager/readme.md @@ -98,8 +98,11 @@ input-file: - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrationValidation.json - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MongoDbTasks.json - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/GetTdeCertificatesSqlTask.json +- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/OracleAzureDbPostgreSqlSyncTask.json - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Projects.json +- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ServiceFeatureOCITask.json - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Services.json +- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ServiceTasks.json - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Tasks.json - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/TasksCommon.json - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateMigrationInputSqlServerSqlMITask.json