diff --git a/packages.md b/packages.md
index c86da40e9c8c..edd78fe4fb87 100644
--- a/packages.md
+++ b/packages.md
@@ -36,6 +36,7 @@
| [`@azure/arm-databricks`]( sdk/databricks/arm-databricks/package.json )| [Readme](sdk/databricks/arm-databricks/README.md) | N/A | [NPM]( https://www.npmjs.com/package/@azure/arm-databricks ) |
| [`@azure/arm-datacatalog`]( sdk/datacatalog/arm-datacatalog/package.json )| [Readme](sdk/datacatalog/arm-datacatalog/README.md) | N/A | [NPM]( https://www.npmjs.com/package/@azure/arm-datacatalog ) |
| [`@azure/arm-datafactory`]( sdk/datafactory/arm-datafactory/package.json )| [Readme](sdk/datafactory/arm-datafactory/README.md) | N/A | [NPM]( https://www.npmjs.com/package/@azure/arm-datafactory ) |
+| [`@azure/arm-datamigration`]( sdk/datamigration/arm-datamigration/package.json )| [Readme](sdk/datamigration/arm-datamigration/README.md) | N/A | [NPM]( https://www.npmjs.com/package/@azure/arm-datamigration ) |
| [`@azure/arm-deploymentmanager`]( sdk/deploymentmanager/arm-deploymentmanager/package.json )| [Readme](sdk/deploymentmanager/arm-deploymentmanager/README.md) | N/A | [NPM]( https://www.npmjs.com/package/@azure/arm-deploymentmanager ) |
| [`@azure/arm-deviceprovisioningservices`]( sdk/deviceprovisioningservices/arm-deviceprovisioningservices/package.json )| [Readme](sdk/deviceprovisioningservices/arm-deviceprovisioningservices/README.md) | N/A | [NPM]( https://www.npmjs.com/package/@azure/arm-deviceprovisioningservices ) |
| [`@azure/arm-devspaces`]( sdk/devspaces/arm-devspaces/package.json )| [Readme](sdk/devspaces/arm-devspaces/README.md) | N/A | [NPM]( https://www.npmjs.com/package/@azure/arm-devspaces ) |
diff --git a/sdk/datamigration/arm-datamigration/LICENSE.txt b/sdk/datamigration/arm-datamigration/LICENSE.txt
new file mode 100644
index 000000000000..b73b4a1293c3
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/LICENSE.txt
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2019 Microsoft
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/sdk/datamigration/arm-datamigration/README.md b/sdk/datamigration/arm-datamigration/README.md
new file mode 100644
index 000000000000..e21bb2044b65
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/README.md
@@ -0,0 +1,99 @@
+## Azure DataMigrationServiceClient SDK for JavaScript
+
+This package contains an isomorphic SDK for DataMigrationServiceClient.
+
+### Currently supported environments
+
+- Node.js version 6.x.x or higher
+- Browser JavaScript
+
+### How to Install
+
+```bash
+npm install @azure/arm-datamigration
+```
+
+### How to use
+
+#### nodejs - Authentication, client creation and listSkus resourceSkus as an example written in TypeScript.
+
+##### Install @azure/ms-rest-nodeauth
+
+- Please install minimum version of `"@azure/ms-rest-nodeauth": "^3.0.0"`.
+```bash
+npm install @azure/ms-rest-nodeauth@"^3.0.0"
+```
+
+##### Sample code
+
+```typescript
+import * as msRest from "@azure/ms-rest-js";
+import * as msRestAzure from "@azure/ms-rest-azure-js";
+import * as msRestNodeAuth from "@azure/ms-rest-nodeauth";
+import { DataMigrationServiceClient, DataMigrationServiceModels, DataMigrationServiceMappers } from "@azure/arm-datamigration";
+const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
+
+msRestNodeAuth.interactiveLogin().then((creds) => {
+ const client = new DataMigrationServiceClient(creds, subscriptionId);
+ client.resourceSkus.listSkus().then((result) => {
+ console.log("The result is:");
+ console.log(result);
+ });
+}).catch((err) => {
+ console.error(err);
+});
+```
+
+#### browser - Authentication, client creation and listSkus resourceSkus as an example written in JavaScript.
+
+##### Install @azure/ms-rest-browserauth
+
+```bash
+npm install @azure/ms-rest-browserauth
+```
+
+##### Sample code
+
+See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser.
+
+- index.html
+```html
+
+
+
+ @azure/arm-datamigration sample
+
+
+
+
+
+
+
+
+```
+
+## Related projects
+
+- [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js)
+
+
diff --git a/sdk/datamigration/arm-datamigration/package.json b/sdk/datamigration/arm-datamigration/package.json
new file mode 100644
index 000000000000..e87d239789a6
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/package.json
@@ -0,0 +1,58 @@
+{
+ "name": "@azure/arm-datamigration",
+ "author": "Microsoft Corporation",
+ "description": "DataMigrationServiceClient Library with typescript type definitions for node.js and browser.",
+ "version": "1.0.0",
+ "dependencies": {
+ "@azure/ms-rest-azure-js": "^2.0.1",
+ "@azure/ms-rest-js": "^2.0.4",
+ "tslib": "^1.10.0"
+ },
+ "keywords": [
+ "node",
+ "azure",
+ "typescript",
+ "browser",
+ "isomorphic"
+ ],
+ "license": "MIT",
+ "main": "./dist/arm-datamigration.js",
+ "module": "./esm/dataMigrationServiceClient.js",
+ "types": "./esm/dataMigrationServiceClient.d.ts",
+ "devDependencies": {
+ "typescript": "^3.5.3",
+ "rollup": "^1.18.0",
+ "rollup-plugin-node-resolve": "^5.2.0",
+ "rollup-plugin-sourcemaps": "^0.4.2",
+ "uglify-js": "^3.6.0"
+ },
+ "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/datamigration/arm-datamigration",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/Azure/azure-sdk-for-js.git"
+ },
+ "bugs": {
+ "url": "https://github.com/Azure/azure-sdk-for-js/issues"
+ },
+ "files": [
+ "dist/**/*.js",
+ "dist/**/*.js.map",
+ "dist/**/*.d.ts",
+ "dist/**/*.d.ts.map",
+ "esm/**/*.js",
+ "esm/**/*.js.map",
+ "esm/**/*.d.ts",
+ "esm/**/*.d.ts.map",
+ "src/**/*.ts",
+ "README.md",
+ "rollup.config.js",
+ "tsconfig.json"
+ ],
+ "scripts": {
+ "build": "tsc && rollup -c rollup.config.js && npm run minify",
+ "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-datamigration.js.map'\" -o ./dist/arm-datamigration.min.js ./dist/arm-datamigration.js",
+ "prepack": "npm install && npm run build"
+ },
+ "sideEffects": false,
+ "autoPublish": true
+}
diff --git a/sdk/datamigration/arm-datamigration/rollup.config.js b/sdk/datamigration/arm-datamigration/rollup.config.js
new file mode 100644
index 000000000000..2141aaf9bde7
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/rollup.config.js
@@ -0,0 +1,37 @@
+import rollup from "rollup";
+import nodeResolve from "rollup-plugin-node-resolve";
+import sourcemaps from "rollup-plugin-sourcemaps";
+
+/**
+ * @type {rollup.RollupFileOptions}
+ */
+const config = {
+ input: "./esm/dataMigrationServiceClient.js",
+ external: [
+ "@azure/ms-rest-js",
+ "@azure/ms-rest-azure-js"
+ ],
+ output: {
+ file: "./dist/arm-datamigration.js",
+ format: "umd",
+ name: "Azure.ArmDatamigration",
+ sourcemap: true,
+ globals: {
+ "@azure/ms-rest-js": "msRest",
+ "@azure/ms-rest-azure-js": "msRestAzure"
+ },
+ banner: `/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */`
+ },
+ plugins: [
+ nodeResolve({ mainFields: ['module', 'main'] }),
+ sourcemaps()
+ ]
+};
+
+export default config;
diff --git a/sdk/datamigration/arm-datamigration/src/dataMigrationServiceClient.ts b/sdk/datamigration/arm-datamigration/src/dataMigrationServiceClient.ts
new file mode 100644
index 000000000000..62d5230fee13
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/src/dataMigrationServiceClient.ts
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+import * as Models from "./models";
+import * as Mappers from "./models/mappers";
+import * as operations from "./operations";
+import { DataMigrationServiceClientContext } from "./dataMigrationServiceClientContext";
+
+
+class DataMigrationServiceClient extends DataMigrationServiceClientContext {
+ // Operation groups
+ resourceSkus: operations.ResourceSkus;
+ services: operations.Services;
+ tasks: operations.Tasks;
+ serviceTasks: operations.ServiceTasks;
+ projects: operations.Projects;
+ usages: operations.Usages;
+ operations: operations.Operations;
+ files: operations.Files;
+
+ /**
+ * Initializes a new instance of the DataMigrationServiceClient class.
+ * @param credentials Credentials needed for the client to connect to Azure.
+ * @param subscriptionId Identifier of the subscription
+ * @param [options] The parameter options
+ */
+ constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.DataMigrationServiceClientOptions) {
+ super(credentials, subscriptionId, options);
+ this.resourceSkus = new operations.ResourceSkus(this);
+ this.services = new operations.Services(this);
+ this.tasks = new operations.Tasks(this);
+ this.serviceTasks = new operations.ServiceTasks(this);
+ this.projects = new operations.Projects(this);
+ this.usages = new operations.Usages(this);
+ this.operations = new operations.Operations(this);
+ this.files = new operations.Files(this);
+ }
+}
+
+// Operation Specifications
+
+export {
+ DataMigrationServiceClient,
+ DataMigrationServiceClientContext,
+ Models as DataMigrationServiceModels,
+ Mappers as DataMigrationServiceMappers
+};
+export * from "./operations";
diff --git a/sdk/datamigration/arm-datamigration/src/dataMigrationServiceClientContext.ts b/sdk/datamigration/arm-datamigration/src/dataMigrationServiceClientContext.ts
new file mode 100644
index 000000000000..fe7887de07e1
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/src/dataMigrationServiceClientContext.ts
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as Models from "./models";
+import * as msRest from "@azure/ms-rest-js";
+import * as msRestAzure from "@azure/ms-rest-azure-js";
+
+const packageName = "@azure/arm-datamigration";
+const packageVersion = "1.0.0";
+
+export class DataMigrationServiceClientContext extends msRestAzure.AzureServiceClient {
+ credentials: msRest.ServiceClientCredentials;
+ apiVersion?: string;
+ subscriptionId: string;
+
+ /**
+ * Initializes a new instance of the DataMigrationServiceClient class.
+ * @param credentials Credentials needed for the client to connect to Azure.
+ * @param subscriptionId Identifier of the subscription
+ * @param [options] The parameter options
+ */
+ constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.DataMigrationServiceClientOptions) {
+ if (credentials == undefined) {
+ throw new Error('\'credentials\' cannot be null.');
+ }
+ if (subscriptionId == undefined) {
+ throw new Error('\'subscriptionId\' cannot be null.');
+ }
+
+ if (!options) {
+ options = {};
+ }
+ if(!options.userAgent) {
+ const defaultUserAgent = msRestAzure.getDefaultUserAgentValue();
+ options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`;
+ }
+
+ super(credentials, options);
+
+ this.apiVersion = '2018-07-15-preview';
+ this.acceptLanguage = 'en-US';
+ this.longRunningOperationRetryTimeout = 30;
+ this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com";
+ this.requestContentType = "application/json; charset=utf-8";
+ this.credentials = credentials;
+ this.subscriptionId = subscriptionId;
+
+ if(options.acceptLanguage !== null && options.acceptLanguage !== undefined) {
+ this.acceptLanguage = options.acceptLanguage;
+ }
+ if(options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) {
+ this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout;
+ }
+ }
+}
diff --git a/sdk/datamigration/arm-datamigration/src/models/filesMappers.ts b/sdk/datamigration/arm-datamigration/src/models/filesMappers.ts
new file mode 100644
index 000000000000..9e4af9dbd9b4
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/src/models/filesMappers.ts
@@ -0,0 +1,235 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ discriminators,
+ ApiError,
+ AzureActiveDirectoryApp,
+ BackupFileInfo,
+ BackupSetInfo,
+ BaseResource,
+ BlobShare,
+ CheckOCIDriverTaskInput,
+ CheckOCIDriverTaskOutput,
+ CheckOCIDriverTaskProperties,
+ CommandProperties,
+ ConnectionInfo,
+ ConnectToMongoDbTaskProperties,
+ ConnectToSourceMySqlTaskInput,
+ ConnectToSourceMySqlTaskProperties,
+ ConnectToSourceNonSqlTaskOutput,
+ ConnectToSourceOracleSyncTaskInput,
+ ConnectToSourceOracleSyncTaskOutput,
+ ConnectToSourceOracleSyncTaskProperties,
+ ConnectToSourcePostgreSqlSyncTaskInput,
+ ConnectToSourcePostgreSqlSyncTaskOutput,
+ ConnectToSourcePostgreSqlSyncTaskProperties,
+ ConnectToSourceSqlServerSyncTaskProperties,
+ ConnectToSourceSqlServerTaskInput,
+ ConnectToSourceSqlServerTaskOutput,
+ ConnectToSourceSqlServerTaskOutputAgentJobLevel,
+ ConnectToSourceSqlServerTaskOutputDatabaseLevel,
+ ConnectToSourceSqlServerTaskOutputLoginLevel,
+ ConnectToSourceSqlServerTaskOutputTaskLevel,
+ ConnectToSourceSqlServerTaskProperties,
+ ConnectToTargetAzureDbForMySqlTaskInput,
+ ConnectToTargetAzureDbForMySqlTaskOutput,
+ ConnectToTargetAzureDbForMySqlTaskProperties,
+ ConnectToTargetAzureDbForPostgreSqlSyncTaskInput,
+ ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput,
+ ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties,
+ ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput,
+ ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput,
+ ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem,
+ ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties,
+ ConnectToTargetSqlDbTaskInput,
+ ConnectToTargetSqlDbTaskOutput,
+ ConnectToTargetSqlDbTaskProperties,
+ ConnectToTargetSqlMISyncTaskInput,
+ ConnectToTargetSqlMISyncTaskOutput,
+ ConnectToTargetSqlMISyncTaskProperties,
+ ConnectToTargetSqlMITaskInput,
+ ConnectToTargetSqlMITaskOutput,
+ ConnectToTargetSqlMITaskProperties,
+ ConnectToTargetSqlSqlDbSyncTaskInput,
+ ConnectToTargetSqlSqlDbSyncTaskProperties,
+ DatabaseBackupInfo,
+ DatabaseFileInfo,
+ DatabaseInfo,
+ DatabaseSummaryResult,
+ DatabaseTable,
+ DataItemMigrationSummaryResult,
+ DataMigrationService,
+ FileList,
+ FileShare,
+ FileStorageInfo,
+ GetTdeCertificatesSqlTaskInput,
+ GetTdeCertificatesSqlTaskOutput,
+ GetTdeCertificatesSqlTaskProperties,
+ GetUserTablesOracleTaskInput,
+ GetUserTablesOracleTaskOutput,
+ GetUserTablesOracleTaskProperties,
+ GetUserTablesPostgreSqlTaskInput,
+ GetUserTablesPostgreSqlTaskOutput,
+ GetUserTablesPostgreSqlTaskProperties,
+ GetUserTablesSqlSyncTaskInput,
+ GetUserTablesSqlSyncTaskOutput,
+ GetUserTablesSqlSyncTaskProperties,
+ GetUserTablesSqlTaskInput,
+ GetUserTablesSqlTaskOutput,
+ GetUserTablesSqlTaskProperties,
+ InstallOCIDriverTaskInput,
+ InstallOCIDriverTaskOutput,
+ InstallOCIDriverTaskProperties,
+ MigrateMISyncCompleteCommandInput,
+ MigrateMISyncCompleteCommandOutput,
+ MigrateMISyncCompleteCommandProperties,
+ MigrateMongoDbTaskProperties,
+ MigrateMySqlAzureDbForMySqlSyncDatabaseInput,
+ MigrateMySqlAzureDbForMySqlSyncTaskInput,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutput,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputError,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel,
+ MigrateMySqlAzureDbForMySqlSyncTaskProperties,
+ MigrateOracleAzureDbForPostgreSqlSyncTaskProperties,
+ MigrateOracleAzureDbPostgreSqlSyncDatabaseInput,
+ MigrateOracleAzureDbPostgreSqlSyncTaskInput,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutput,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputError,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties,
+ MigrateSchemaSqlServerSqlDbDatabaseInput,
+ MigrateSchemaSqlServerSqlDbTaskInput,
+ MigrateSchemaSqlServerSqlDbTaskOutput,
+ MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel,
+ MigrateSchemaSqlServerSqlDbTaskOutputError,
+ MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel,
+ MigrateSchemaSqlServerSqlDbTaskProperties,
+ MigrateSchemaSqlTaskOutputError,
+ MigrateSqlServerSqlDbDatabaseInput,
+ MigrateSqlServerSqlDbSyncDatabaseInput,
+ MigrateSqlServerSqlDbSyncTaskInput,
+ MigrateSqlServerSqlDbSyncTaskOutput,
+ MigrateSqlServerSqlDbSyncTaskOutputDatabaseError,
+ MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel,
+ MigrateSqlServerSqlDbSyncTaskOutputError,
+ MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel,
+ MigrateSqlServerSqlDbSyncTaskOutputTableLevel,
+ MigrateSqlServerSqlDbSyncTaskProperties,
+ MigrateSqlServerSqlDbTaskInput,
+ MigrateSqlServerSqlDbTaskOutput,
+ MigrateSqlServerSqlDbTaskOutputDatabaseLevel,
+ MigrateSqlServerSqlDbTaskOutputError,
+ MigrateSqlServerSqlDbTaskOutputMigrationLevel,
+ MigrateSqlServerSqlDbTaskOutputTableLevel,
+ MigrateSqlServerSqlDbTaskProperties,
+ MigrateSqlServerSqlMIDatabaseInput,
+ MigrateSqlServerSqlMISyncTaskInput,
+ MigrateSqlServerSqlMISyncTaskOutput,
+ MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel,
+ MigrateSqlServerSqlMISyncTaskOutputError,
+ MigrateSqlServerSqlMISyncTaskOutputMigrationLevel,
+ MigrateSqlServerSqlMISyncTaskProperties,
+ MigrateSqlServerSqlMITaskInput,
+ MigrateSqlServerSqlMITaskOutput,
+ MigrateSqlServerSqlMITaskOutputAgentJobLevel,
+ MigrateSqlServerSqlMITaskOutputDatabaseLevel,
+ MigrateSqlServerSqlMITaskOutputError,
+ MigrateSqlServerSqlMITaskOutputLoginLevel,
+ MigrateSqlServerSqlMITaskOutputMigrationLevel,
+ MigrateSqlServerSqlMITaskProperties,
+ MigrateSsisTaskInput,
+ MigrateSsisTaskOutput,
+ MigrateSsisTaskOutputMigrationLevel,
+ MigrateSsisTaskOutputProjectLevel,
+ MigrateSsisTaskProperties,
+ MigrateSyncCompleteCommandInput,
+ MigrateSyncCompleteCommandOutput,
+ MigrateSyncCompleteCommandProperties,
+ MigrationEligibilityInfo,
+ MigrationReportResult,
+ MigrationValidationDatabaseSummaryResult,
+ MigrationValidationOptions,
+ MigrationValidationResult,
+ MiSqlConnectionInfo,
+ MongoDbCancelCommand,
+ MongoDbClusterInfo,
+ MongoDbCollectionInfo,
+ MongoDbCollectionProgress,
+ MongoDbCollectionSettings,
+ MongoDbCommandInput,
+ MongoDbConnectionInfo,
+ MongoDbDatabaseInfo,
+ MongoDbDatabaseProgress,
+ MongoDbDatabaseSettings,
+ MongoDbError,
+ MongoDbFinishCommand,
+ MongoDbFinishCommandInput,
+ MongoDbMigrationProgress,
+ MongoDbMigrationSettings,
+ MongoDbObjectInfo,
+ MongoDbProgress,
+ MongoDbRestartCommand,
+ MongoDbShardKeyField,
+ MongoDbShardKeyInfo,
+ MongoDbShardKeySetting,
+ MongoDbThrottlingSettings,
+ MySqlConnectionInfo,
+ ODataError,
+ OracleConnectionInfo,
+ OracleOCIDriverInfo,
+ OrphanedUserInfo,
+ PostgreSqlConnectionInfo,
+ Project,
+ ProjectFile,
+ ProjectFileProperties,
+ ProjectTask,
+ ProjectTaskProperties,
+ ReportableException,
+ Resource,
+ SchemaMigrationSetting,
+ SelectedCertificateInput,
+ ServerProperties,
+ ServiceSku,
+ SqlConnectionInfo,
+ SqlMigrationTaskInput,
+ SqlServerSqlMISyncTaskInput,
+ SsisMigrationInfo,
+ StartMigrationScenarioServerRoleResult,
+ SyncMigrationDatabaseErrorEvent,
+ TrackedResource,
+ UploadOCIDriverTaskInput,
+ UploadOCIDriverTaskOutput,
+ UploadOCIDriverTaskProperties,
+ ValidateMigrationInputSqlServerSqlDbSyncTaskProperties,
+ ValidateMigrationInputSqlServerSqlMISyncTaskInput,
+ ValidateMigrationInputSqlServerSqlMISyncTaskOutput,
+ ValidateMigrationInputSqlServerSqlMISyncTaskProperties,
+ ValidateMigrationInputSqlServerSqlMITaskInput,
+ ValidateMigrationInputSqlServerSqlMITaskOutput,
+ ValidateMigrationInputSqlServerSqlMITaskProperties,
+ ValidateMongoDbTaskProperties,
+ ValidateOracleAzureDbForPostgreSqlSyncTaskProperties,
+ ValidateOracleAzureDbPostgreSqlSyncTaskOutput,
+ ValidateSyncMigrationInputSqlServerTaskInput,
+ ValidateSyncMigrationInputSqlServerTaskOutput
+} from "../models/mappers";
diff --git a/sdk/datamigration/arm-datamigration/src/models/index.ts b/sdk/datamigration/arm-datamigration/src/models/index.ts
new file mode 100644
index 000000000000..c56eab69a4c1
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/src/models/index.ts
@@ -0,0 +1,9184 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+import { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-rest-azure-js";
+import * as msRest from "@azure/ms-rest-js";
+
+export { BaseResource, CloudError };
+
+/**
+ * ARM resource.
+ */
+export interface Resource extends BaseResource {
+ /**
+ * Resource ID.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Resource name.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+ /**
+ * Resource type.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly type?: string;
+}
+
+/**
+ * ARM tracked top level resource.
+ */
+export interface TrackedResource extends Resource {
+ /**
+ * Resource tags.
+ */
+ tags?: { [propertyName: string]: string };
+ /**
+ * Resource location.
+ */
+ location: string;
+}
+
+/**
+ * Base class for file properties.
+ */
+export interface ProjectFileProperties {
+ /**
+ * Optional File extension. If submitted it should not have a leading period and must match the
+ * extension from filePath.
+ */
+ extension?: string;
+ /**
+ * Relative path of this file resource. This property can be set when creating or updating the
+ * file resource.
+ */
+ filePath?: string;
+ /**
+ * Modification DateTime.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly lastModified?: Date;
+ /**
+ * File content type. This property can be modified to reflect the file content type.
+ */
+ mediaType?: string;
+ /**
+ * File size.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly size?: number;
+}
+
+/**
+ * A file resource
+ */
+export interface ProjectFile extends Resource {
+ /**
+ * HTTP strong entity tag value. This is ignored if submitted.
+ */
+ etag?: string;
+ /**
+ * Custom file properties
+ */
+ properties?: ProjectFileProperties;
+}
+
+/**
+ * Error information in OData format.
+ */
+export interface ODataError {
+ /**
+ * The machine-readable description of the error, such as 'InvalidRequest' or
+ * 'InternalServerError'
+ */
+ code?: string;
+ /**
+ * The human-readable description of the error
+ */
+ message?: string;
+ /**
+ * Inner errors that caused this error
+ */
+ details?: ODataError[];
+}
+
+/**
+ * Exception object for all custom exceptions
+ */
+export interface ReportableException {
+ /**
+ * Error message
+ */
+ message?: string;
+ /**
+ * Actionable steps for this exception
+ */
+ actionableMessage?: string;
+ /**
+ * The path to the file where exception occurred
+ */
+ filePath?: string;
+ /**
+ * The line number where exception occurred
+ */
+ lineNumber?: string;
+ /**
+ * Coded numerical value that is assigned to a specific exception
+ */
+ hResult?: number;
+ /**
+ * Stack trace
+ */
+ stackTrace?: string;
+}
+
+/**
+ * Output for command that completes online migration for an Azure SQL Database Managed Instance.
+ */
+export interface MigrateMISyncCompleteCommandOutput {
+ /**
+ * List of errors that happened during the command execution
+ */
+ errors?: ReportableException[];
+}
+
+/**
+ * Input for command that completes online migration for an Azure SQL Database Managed Instance.
+ */
+export interface MigrateMISyncCompleteCommandInput {
+ /**
+ * Name of managed instance database
+ */
+ sourceDatabaseName: string;
+}
+
+/**
+ * Contains the possible cases for CommandProperties.
+ */
+export type CommandPropertiesUnion = CommandProperties | MigrateMISyncCompleteCommandProperties | MigrateSyncCompleteCommandProperties | MongoDbCancelCommand | MongoDbFinishCommand | MongoDbRestartCommand;
+
+/**
+ * Base class for all types of DMS command properties. If command is not supported by current
+ * client, this object is returned.
+ */
+export interface CommandProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ commandType: "Unknown";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the command. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Accepted', 'Running', 'Succeeded', 'Failed'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: CommandState;
+}
+
+/**
+ * Properties for the command that completes online migration for an Azure SQL Database Managed
+ * Instance.
+ */
+export interface MigrateMISyncCompleteCommandProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ commandType: "Migrate.SqlServer.AzureDbSqlMi.Complete";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the command. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Accepted', 'Running', 'Succeeded', 'Failed'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: CommandState;
+ /**
+ * Command input
+ */
+ input?: MigrateMISyncCompleteCommandInput;
+ /**
+ * Command output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: MigrateMISyncCompleteCommandOutput;
+}
+
+/**
+ * Output for command that completes sync migration for a database.
+ */
+export interface MigrateSyncCompleteCommandOutput {
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * List of errors that happened during the command execution
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ReportableException[];
+}
+
+/**
+ * Input for command that completes sync migration for a database.
+ */
+export interface MigrateSyncCompleteCommandInput {
+ /**
+ * Name of database
+ */
+ databaseName: string;
+ /**
+ * Time stamp to complete
+ */
+ commitTimeStamp?: Date;
+}
+
+/**
+ * Properties for the command that completes sync migration for a database.
+ */
+export interface MigrateSyncCompleteCommandProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ commandType: "Migrate.Sync.Complete.Database";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the command. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Accepted', 'Running', 'Succeeded', 'Failed'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: CommandState;
+ /**
+ * Command input
+ */
+ input?: MigrateSyncCompleteCommandInput;
+ /**
+ * Command output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: MigrateSyncCompleteCommandOutput;
+}
+
+/**
+ * Contains the possible cases for MigrateSsisTaskOutput.
+ */
+export type MigrateSsisTaskOutputUnion = MigrateSsisTaskOutput | MigrateSsisTaskOutputProjectLevel | MigrateSsisTaskOutputMigrationLevel;
+
+/**
+ * Output for task that migrates SSIS packages from SQL Server to Azure SQL Database Managed
+ * Instance.
+ */
+export interface MigrateSsisTaskOutput {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "MigrateSsisTaskOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+}
+
+/**
+ * An interface representing MigrateSsisTaskOutputProjectLevel.
+ */
+export interface MigrateSsisTaskOutputProjectLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "SsisProjectLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Name of the folder
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly folderName?: string;
+ /**
+ * Name of the project
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly projectName?: string;
+ /**
+ * Current state of migration. Possible values include: 'None', 'InProgress', 'Failed',
+ * 'Warning', 'Completed', 'Skipped', 'Stopped'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: MigrationState;
+ /**
+ * Stage of SSIS migration. Possible values include: 'None', 'Initialize', 'InProgress',
+ * 'Completed'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly stage?: SsisMigrationStage;
+ /**
+ * Migration start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Migration end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Migration progress message
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly message?: string;
+ /**
+ * Migration exceptions and warnings
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly exceptionsAndWarnings?: ReportableException[];
+}
+
+/**
+ * An interface representing MigrateSsisTaskOutputMigrationLevel.
+ */
+export interface MigrateSsisTaskOutputMigrationLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "MigrationLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Migration start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Migration end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Current status of migration. Possible values include: 'Default', 'Connecting',
+ * 'SourceAndTargetSelected', 'SelectLogins', 'Configured', 'Running', 'Error', 'Stopped',
+ * 'Completed', 'CompletedWithWarnings'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly status?: MigrationStatus;
+ /**
+ * Migration progress message
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly message?: string;
+ /**
+ * Source server version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerVersion?: string;
+ /**
+ * Source server brand version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerBrandVersion?: string;
+ /**
+ * Target server version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerVersion?: string;
+ /**
+ * Target server brand version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerBrandVersion?: string;
+ /**
+ * Migration exceptions and warnings.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly exceptionsAndWarnings?: ReportableException[];
+ /**
+ * Stage of SSIS migration. Possible values include: 'None', 'Initialize', 'InProgress',
+ * 'Completed'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly stage?: SsisMigrationStage;
+}
+
+/**
+ * SSIS migration info with SSIS store type, overwrite policy.
+ */
+export interface SsisMigrationInfo {
+ /**
+ * The SSIS store type of source, only SSIS catalog is supported now in DMS. Possible values
+ * include: 'SsisCatalog'
+ */
+ ssisStoreType?: SsisStoreType;
+ /**
+ * The overwrite option for the SSIS project migration. Possible values include: 'Ignore',
+ * 'Overwrite'
+ */
+ projectOverwriteOption?: SsisMigrationOverwriteOption;
+ /**
+ * The overwrite option for the SSIS environment migration. Possible values include: 'Ignore',
+ * 'Overwrite'
+ */
+ environmentOverwriteOption?: SsisMigrationOverwriteOption;
+}
+
+/**
+ * Contains the possible cases for ConnectionInfo.
+ */
+export type ConnectionInfoUnion = ConnectionInfo | MiSqlConnectionInfo | PostgreSqlConnectionInfo | OracleConnectionInfo | MySqlConnectionInfo | MongoDbConnectionInfo | SqlConnectionInfo;
+
+/**
+ * Defines the connection properties of a server
+ */
+export interface ConnectionInfo {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "Unknown";
+ /**
+ * User name
+ */
+ userName?: string;
+ /**
+ * Password credential.
+ */
+ password?: string;
+}
+
+/**
+ * Properties required to create a connection to Azure SQL database Managed instance
+ */
+export interface MiSqlConnectionInfo {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "MiSqlConnectionInfo";
+ /**
+ * User name
+ */
+ userName?: string;
+ /**
+ * Password credential.
+ */
+ password?: string;
+ /**
+ * Resource id for Azure SQL database Managed instance
+ */
+ managedInstanceResourceId: string;
+}
+
+/**
+ * Information for connecting to PostgreSQL server
+ */
+export interface PostgreSqlConnectionInfo {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "PostgreSqlConnectionInfo";
+ /**
+ * User name
+ */
+ userName?: string;
+ /**
+ * Password credential.
+ */
+ password?: string;
+ /**
+ * Name of the server
+ */
+ serverName: string;
+ /**
+ * Name of the database
+ */
+ databaseName?: string;
+ /**
+ * Port for Server
+ */
+ port: number;
+}
+
+/**
+ * Information for connecting to Oracle server
+ */
+export interface OracleConnectionInfo {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "OracleConnectionInfo";
+ /**
+ * User name
+ */
+ userName?: string;
+ /**
+ * Password credential.
+ */
+ password?: string;
+ /**
+ * EZConnect or TNSName connection string.
+ */
+ dataSource: string;
+}
+
+/**
+ * Information for connecting to MySQL server
+ */
+export interface MySqlConnectionInfo {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "MySqlConnectionInfo";
+ /**
+ * User name
+ */
+ userName?: string;
+ /**
+ * Password credential.
+ */
+ password?: string;
+ /**
+ * Name of the server
+ */
+ serverName: string;
+ /**
+ * Port for Server
+ */
+ port: number;
+}
+
+/**
+ * Describes a connection to a MongoDB data source
+ */
+export interface MongoDbConnectionInfo {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "MongoDbConnectionInfo";
+ /**
+ * User name
+ */
+ userName?: string;
+ /**
+ * Password credential.
+ */
+ password?: string;
+ /**
+ * A MongoDB connection string or blob container URL. The user name and password can be specified
+ * here or in the userName and password properties
+ */
+ connectionString: string;
+}
+
+/**
+ * Information for connecting to SQL database server
+ */
+export interface SqlConnectionInfo {
+ /**
+ * Polymorphic Discriminator
+ */
+ type: "SqlConnectionInfo";
+ /**
+ * User name
+ */
+ userName?: string;
+ /**
+ * Password credential.
+ */
+ password?: string;
+ /**
+ * Data source in the format Protocol:MachineName\SQLServerInstanceName,PortNumber
+ */
+ dataSource: string;
+ /**
+ * Authentication type to use for connection. Possible values include: 'None',
+ * 'WindowsAuthentication', 'SqlAuthentication', 'ActiveDirectoryIntegrated',
+ * 'ActiveDirectoryPassword'
+ */
+ authentication?: AuthenticationType;
+ /**
+ * Whether to encrypt the connection. Default value: true.
+ */
+ encryptConnection?: boolean;
+ /**
+ * Additional connection settings
+ */
+ additionalSettings?: string;
+ /**
+ * Whether to trust the server certificate. Default value: false.
+ */
+ trustServerCertificate?: boolean;
+ /**
+ * Server platform type for connection. Possible values include: 'SqlOnPrem'
+ */
+ platform?: SqlSourcePlatform;
+}
+
+/**
+ * Base class for migration task input
+ */
+export interface SqlMigrationTaskInput {
+ /**
+ * Information for connecting to source
+ */
+ sourceConnectionInfo: SqlConnectionInfo;
+ /**
+ * Information for connecting to target
+ */
+ targetConnectionInfo: SqlConnectionInfo;
+}
+
+/**
+ * Input for task that migrates SSIS packages from SQL Server to Azure SQL Database Managed
+ * Instance.
+ */
+export interface MigrateSsisTaskInput extends SqlMigrationTaskInput {
+ /**
+ * SSIS package migration information.
+ */
+ ssisMigrationInfo: SsisMigrationInfo;
+}
+
+/**
+ * Contains the possible cases for ProjectTaskProperties.
+ */
+export type ProjectTaskPropertiesUnion = ProjectTaskProperties | MigrateSsisTaskProperties | GetTdeCertificatesSqlTaskProperties | ValidateOracleAzureDbForPostgreSqlSyncTaskProperties | ValidateMongoDbTaskProperties | ValidateMigrationInputSqlServerSqlMISyncTaskProperties | ValidateMigrationInputSqlServerSqlMITaskProperties | ValidateMigrationInputSqlServerSqlDbSyncTaskProperties | MigrateOracleAzureDbForPostgreSqlSyncTaskProperties | MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties | MigrateMySqlAzureDbForMySqlSyncTaskProperties | MigrateSqlServerSqlDbSyncTaskProperties | MigrateSqlServerSqlDbTaskProperties | MigrateSqlServerSqlMISyncTaskProperties | MigrateSqlServerSqlMITaskProperties | MigrateMongoDbTaskProperties | ConnectToTargetAzureDbForMySqlTaskProperties | ConnectToTargetSqlMISyncTaskProperties | ConnectToTargetSqlMITaskProperties | GetUserTablesPostgreSqlTaskProperties | GetUserTablesOracleTaskProperties | GetUserTablesSqlSyncTaskProperties | GetUserTablesSqlTaskProperties | ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties | ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties | ConnectToTargetSqlSqlDbSyncTaskProperties | ConnectToTargetSqlDbTaskProperties | ConnectToSourceOracleSyncTaskProperties | ConnectToSourcePostgreSqlSyncTaskProperties | ConnectToSourceSqlServerSyncTaskProperties | ConnectToSourceSqlServerTaskProperties | ConnectToMongoDbTaskProperties | ConnectToSourceMySqlTaskProperties | MigrateSchemaSqlServerSqlDbTaskProperties | CheckOCIDriverTaskProperties | UploadOCIDriverTaskProperties | InstallOCIDriverTaskProperties;
+
+/**
+ * Base class for all types of DMS task properties. If task is not supported by current client,
+ * this object is returned.
+ */
+export interface ProjectTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "Unknown";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+}
+
+/**
+ * Properties for task that migrates SSIS packages from SQL Server databases to Azure SQL Database
+ * Managed Instance.
+ */
+export interface MigrateSsisTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "Migrate.Ssis";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: MigrateSsisTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: MigrateSsisTaskOutputUnion[];
+}
+
+/**
+ * Output of the task that gets TDE certificates in Base64 encoded format.
+ */
+export interface GetTdeCertificatesSqlTaskOutput {
+ /**
+ * Mapping from certificate name to base 64 encoded format.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly base64EncodedCertificates?: { [propertyName: string]: string[] };
+ /**
+ * Validation errors
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly validationErrors?: ReportableException[];
+}
+
+/**
+ * Info for certificate to be exported for TDE enabled databases.
+ */
+export interface SelectedCertificateInput {
+ /**
+ * Name of certificate to be exported.
+ */
+ certificateName: string;
+ /**
+ * Password to use for encrypting the exported certificate.
+ */
+ password: string;
+}
+
+/**
+ * File share information with Path, Username, and Password.
+ */
+export interface FileShare {
+ /**
+ * User name credential to connect to the share location
+ */
+ userName?: string;
+ /**
+ * Password credential used to connect to the share location.
+ */
+ password?: string;
+ /**
+ * The folder path for this share.
+ */
+ path: string;
+}
+
+/**
+ * Input for the task that gets TDE certificates in Base64 encoded format.
+ */
+export interface GetTdeCertificatesSqlTaskInput {
+ /**
+ * Connection information for SQL Server
+ */
+ connectionInfo: SqlConnectionInfo;
+ /**
+ * Backup file share information for file share to be used for temporarily storing files.
+ */
+ backupFileShare: FileShare;
+ /**
+ * List containing certificate names and corresponding password to use for encrypting the
+ * exported certificate.
+ */
+ selectedCertificates: SelectedCertificateInput[];
+}
+
+/**
+ * Properties for the task that gets TDE certificates in Base64 encoded format.
+ */
+export interface GetTdeCertificatesSqlTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "GetTDECertificates.Sql";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: GetTdeCertificatesSqlTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: GetTdeCertificatesSqlTaskOutput[];
+}
+
+/**
+ * Output for task that validates migration input for Oracle to Azure Database for PostgreSQL for
+ * online migrations
+ */
+export interface ValidateOracleAzureDbPostgreSqlSyncTaskOutput {
+ /**
+ * Errors associated with a selected database object
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly validationErrors?: ReportableException[];
+}
+
+/**
+ * Database specific information for Oracle to Azure Database for PostgreSQL migration task inputs
+ */
+export interface MigrateOracleAzureDbPostgreSqlSyncDatabaseInput {
+ /**
+ * How to handle object name casing: either Preserve or ToLower
+ */
+ caseManipulation?: string;
+ /**
+ * Name of the migration pipeline
+ */
+ name?: string;
+ /**
+ * Name of the source schema
+ */
+ schemaName?: string;
+ /**
+ * Mapping of source to target tables
+ */
+ tableMap?: { [propertyName: string]: string };
+ /**
+ * Name of target database. Note: Target database will be truncated before starting migration.
+ */
+ targetDatabaseName?: string;
+ /**
+ * Migration settings which tune the migration behavior
+ */
+ migrationSetting?: { [propertyName: string]: string };
+ /**
+ * Source settings to tune source endpoint migration behavior
+ */
+ sourceSetting?: { [propertyName: string]: string };
+ /**
+ * Target settings to tune target endpoint migration behavior
+ */
+ targetSetting?: { [propertyName: string]: string };
+}
+
+/**
+ * Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online
+ * migrations
+ */
+export interface MigrateOracleAzureDbPostgreSqlSyncTaskInput {
+ /**
+ * Databases to migrate
+ */
+ selectedDatabases: MigrateOracleAzureDbPostgreSqlSyncDatabaseInput[];
+ /**
+ * Connection information for target Azure Database for PostgreSQL
+ */
+ targetConnectionInfo: PostgreSqlConnectionInfo;
+ /**
+ * Connection information for source Oracle
+ */
+ sourceConnectionInfo: OracleConnectionInfo;
+}
+
+/**
+ * Properties for the task that validates a migration for Oracle to Azure Database for PostgreSQL
+ * for online migrations
+ */
+export interface ValidateOracleAzureDbForPostgreSqlSyncTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "Validate.Oracle.AzureDbPostgreSql.Sync";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ input?: MigrateOracleAzureDbPostgreSqlSyncTaskInput;
+ /**
+ * An array containing a single validation error response object
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: ValidateOracleAzureDbPostgreSqlSyncTaskOutput[];
+}
+
+/**
+ * Describes an error or warning that occurred during a MongoDB migration
+ */
+export interface MongoDbError {
+ /**
+ * The non-localized, machine-readable code that describes the error or warning
+ */
+ code?: string;
+ /**
+ * The number of times the error or warning has occurred
+ */
+ count?: number;
+ /**
+ * The localized, human-readable message that describes the error or warning
+ */
+ message?: string;
+ /**
+ * The type of error or warning. Possible values include: 'Error', 'ValidationError', 'Warning'
+ */
+ type?: MongoDbErrorType;
+}
+
+/**
+ * Base class for MongoDB migration outputs
+ */
+export interface MongoDbProgress {
+ /**
+ * The number of document bytes copied during the Copying stage
+ */
+ bytesCopied: number;
+ /**
+ * The number of documents copied during the Copying stage
+ */
+ documentsCopied: number;
+ /**
+ * The elapsed time in the format [ddd.]hh:mm:ss[.fffffff] (i.e. TimeSpan format)
+ */
+ elapsedTime: string;
+ /**
+ * The errors and warnings that have occurred for the current object. The keys are the error
+ * codes.
+ */
+ errors: { [propertyName: string]: MongoDbError };
+ /**
+ * The number of oplog events awaiting replay
+ */
+ eventsPending: number;
+ /**
+ * The number of oplog events replayed so far
+ */
+ eventsReplayed: number;
+ /**
+ * The timestamp of the last oplog event received, or null if no oplog event has been received
+ * yet
+ */
+ lastEventTime?: Date;
+ /**
+ * The timestamp of the last oplog event replayed, or null if no oplog event has been replayed
+ * yet
+ */
+ lastReplayTime?: Date;
+ /**
+ * The name of the progress object. For a collection, this is the unqualified collection name.
+ * For a database, this is the database name. For the overall migration, this is null.
+ */
+ name?: string;
+ /**
+ * The qualified name of the progress object. For a collection, this is the database-qualified
+ * name. For a database, this is the database name. For the overall migration, this is null.
+ */
+ qualifiedName?: string;
+ /**
+ * The type of progress object. Possible values include: 'Migration', 'Database', 'Collection'
+ */
+ resultType: ResultType;
+ /**
+ * Possible values include: 'NotStarted', 'ValidatingInput', 'Initializing', 'Restarting',
+ * 'Copying', 'InitialReplay', 'Replaying', 'Finalizing', 'Complete', 'Canceled', 'Failed'
+ */
+ state: MongoDbMigrationState;
+ /**
+ * The total number of document bytes on the source at the beginning of the Copying stage, or -1
+ * if the total size was unknown
+ */
+ totalBytes: number;
+ /**
+ * The total number of documents on the source at the beginning of the Copying stage, or -1 if
+ * the total count was unknown
+ */
+ totalDocuments: number;
+}
+
+/**
+ * Describes the progress of a collection
+ */
+export interface MongoDbCollectionProgress extends MongoDbProgress {
+}
+
+/**
+ * Describes the progress of a database
+ */
+export interface MongoDbDatabaseProgress extends MongoDbProgress {
+ /**
+ * The progress of the collections in the database. The keys are the unqualified names of the
+ * collections
+ */
+ collections?: { [propertyName: string]: MongoDbCollectionProgress };
+}
+
+/**
+ * Describes the progress of the overall migration
+ */
+export interface MongoDbMigrationProgress extends MongoDbProgress {
+ /**
+ * The progress of the databases in the migration. The keys are the names of the databases
+ */
+ databases?: { [propertyName: string]: MongoDbDatabaseProgress };
+}
+
+/**
+ * Specifies resource limits for the migration
+ */
+export interface MongoDbThrottlingSettings {
+ /**
+ * The percentage of CPU time that the migrator will try to avoid using, from 0 to 100
+ */
+ minFreeCpu?: number;
+ /**
+ * The number of megabytes of RAM that the migrator will try to avoid using
+ */
+ minFreeMemoryMb?: number;
+ /**
+ * The maximum number of work items (e.g. collection copies) that will be processed in parallel
+ */
+ maxParallelism?: number;
+}
+
+/**
+ * Describes a field reference within a MongoDB shard key
+ */
+export interface MongoDbShardKeyField {
+ /**
+ * The name of the field
+ */
+ name: string;
+ /**
+ * The field ordering. Possible values include: 'Forward', 'Reverse', 'Hashed'
+ */
+ order: MongoDbShardKeyOrder;
+}
+
+/**
+ * Describes a MongoDB shard key
+ */
+export interface MongoDbShardKeySetting {
+ /**
+ * The fields within the shard key
+ */
+ fields: MongoDbShardKeyField[];
+ /**
+ * Whether the shard key is unique
+ */
+ isUnique: boolean;
+}
+
+/**
+ * Describes how an individual MongoDB collection should be migrated
+ */
+export interface MongoDbCollectionSettings {
+ /**
+ * Whether the migrator is allowed to drop the target collection in the course of performing a
+ * migration. The default is true.
+ */
+ canDelete?: boolean;
+ shardKey?: MongoDbShardKeySetting;
+ /**
+ * The RUs that should be configured on a CosmosDB target, or null to use the default. This has
+ * no effect on non-CosmosDB targets.
+ */
+ targetRUs?: number;
+}
+
+/**
+ * Describes how an individual MongoDB database should be migrated
+ */
+export interface MongoDbDatabaseSettings {
+ /**
+ * The collections on the source database to migrate to the target. The keys are the unqualified
+ * names of the collections.
+ */
+ collections: { [propertyName: string]: MongoDbCollectionSettings };
+ /**
+ * The RUs that should be configured on a CosmosDB target, or null to use the default, or 0 if
+ * throughput should not be provisioned for the database. This has no effect on non-CosmosDB
+ * targets.
+ */
+ targetRUs?: number;
+}
+
+/**
+ * Describes how a MongoDB data migration should be performed
+ */
+export interface MongoDbMigrationSettings {
+ /**
+ * The RU limit on a CosmosDB target that collections will be temporarily increased to (if lower)
+ * during the initial copy of a migration, from 10,000 to 1,000,000, or 0 to use the default
+ * boost (which is generally the maximum), or null to not boost the RUs. This setting has no
+ * effect on non-CosmosDB targets.
+ */
+ boostRUs?: number;
+ /**
+ * The databases on the source cluster to migrate to the target. The keys are the names of the
+ * databases.
+ */
+ databases: { [propertyName: string]: MongoDbDatabaseSettings };
+ /**
+ * Describes how changes will be replicated from the source to the target. The default is
+ * OneTime. Possible values include: 'Disabled', 'OneTime', 'Continuous'
+ */
+ replication?: MongoDbReplication;
+ /**
+ * Settings used to connect to the source cluster
+ */
+ source: MongoDbConnectionInfo;
+ /**
+ * Settings used to connect to the target cluster
+ */
+ target: MongoDbConnectionInfo;
+ /**
+ * Settings used to limit the resource usage of the migration
+ */
+ throttling?: MongoDbThrottlingSettings;
+}
+
+/**
+ * Properties for the task that validates a migration between MongoDB data sources
+ */
+export interface ValidateMongoDbTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "Validate.MongoDb";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ input?: MongoDbMigrationSettings;
+ /**
+ * An array containing a single MongoDbMigrationProgress object
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: MongoDbMigrationProgress[];
+}
+
+/**
+ * Output for task that validates migration input for Azure SQL Database Managed Instance online
+ * migration
+ */
+export interface ValidateMigrationInputSqlServerSqlMISyncTaskOutput {
+ /**
+ * Database identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Name of database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+ /**
+ * Errors associated with a selected database object
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly validationErrors?: ReportableException[];
+}
+
+/**
+ * Azure Active Directory Application
+ */
+export interface AzureActiveDirectoryApp {
+ /**
+ * Application ID of the Azure Active Directory Application
+ */
+ applicationId: string;
+ /**
+ * Key used to authenticate to the Azure Active Directory Application
+ */
+ appKey: string;
+ /**
+ * Tenant id of the customer
+ */
+ tenantId: string;
+}
+
+/**
+ * Database specific information for SQL to Azure SQL DB Managed Instance migration task inputs
+ */
+export interface MigrateSqlServerSqlMIDatabaseInput {
+ /**
+ * Name of the database
+ */
+ name: string;
+ /**
+ * Name of the database at destination
+ */
+ restoreDatabaseName: string;
+ /**
+ * Backup file share information for backing up this database.
+ */
+ backupFileShare?: FileShare;
+ /**
+ * The list of backup files to be used in case of existing backups.
+ */
+ backupFilePaths?: string[];
+}
+
+/**
+ * Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online
+ * scenario.
+ */
+export interface SqlServerSqlMISyncTaskInput {
+ /**
+ * Databases to migrate
+ */
+ selectedDatabases: MigrateSqlServerSqlMIDatabaseInput[];
+ /**
+ * Backup file share information for all selected databases.
+ */
+ backupFileShare?: FileShare;
+ /**
+ * Fully qualified resourceId of storage
+ */
+ storageResourceId: string;
+ /**
+ * Connection information for source SQL Server
+ */
+ sourceConnectionInfo: SqlConnectionInfo;
+ /**
+ * Connection information for Azure SQL Database Managed Instance
+ */
+ targetConnectionInfo: MiSqlConnectionInfo;
+ /**
+ * Azure Active Directory Application the DMS instance will use to connect to the target instance
+ * of Azure SQL Database Managed Instance and the Azure Storage Account
+ */
+ azureApp: AzureActiveDirectoryApp;
+}
+
+/**
+ * Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online
+ * scenario.
+ */
+export interface ValidateMigrationInputSqlServerSqlMISyncTaskInput extends SqlServerSqlMISyncTaskInput {
+}
+
+/**
+ * Properties for task that validates migration input for SQL to Azure SQL Database Managed
+ * Instance sync scenario
+ */
+export interface ValidateMigrationInputSqlServerSqlMISyncTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: ValidateMigrationInputSqlServerSqlMISyncTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: ValidateMigrationInputSqlServerSqlMISyncTaskOutput[];
+}
+
+/**
+ * Information about backup files when existing backup mode is used.
+ */
+export interface DatabaseBackupInfo {
+ /**
+ * Database name.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databaseName?: string;
+ /**
+ * Backup Type. Possible values include: 'Database', 'TransactionLog', 'File',
+ * 'DifferentialDatabase', 'DifferentialFile', 'Partial', 'DifferentialPartial'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly backupType?: BackupType;
+ /**
+ * The list of backup files for the current database.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly backupFiles?: string[];
+ /**
+ * Position of current database backup in the file.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly position?: number;
+ /**
+ * Database was damaged when backed up, but the backup operation was requested to continue
+ * despite errors.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly isDamaged?: boolean;
+ /**
+ * Whether the backup set is compressed
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly isCompressed?: boolean;
+ /**
+ * Number of files in the backup set.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly familyCount?: number;
+ /**
+ * Date and time when the backup operation finished.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly backupFinishDate?: Date;
+}
+
+/**
+ * Output for task that validates migration input for SQL to Azure SQL Managed Instance migrations
+ */
+export interface ValidateMigrationInputSqlServerSqlMITaskOutput {
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Name of database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+ /**
+ * Errors associated with the RestoreDatabaseName
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly restoreDatabaseNameErrors?: ReportableException[];
+ /**
+ * Errors associated with the BackupFolder path
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly backupFolderErrors?: ReportableException[];
+ /**
+ * Errors associated with backup share user name and password credentials
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly backupShareCredentialsErrors?: ReportableException[];
+ /**
+ * Errors associated with the storage account provided.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly backupStorageAccountErrors?: ReportableException[];
+ /**
+ * Errors associated with existing backup files.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly existingBackupErrors?: ReportableException[];
+ /**
+ * Information about backup files when existing backup mode is used.
+ */
+ databaseBackupInfo?: DatabaseBackupInfo;
+}
+
+/**
+ * Blob container storage information.
+ */
+export interface BlobShare {
+ /**
+ * SAS URI of Azure Storage Account Container.
+ */
+ sasUri: string;
+}
+
+/**
+ * Input for task that validates migration input for SQL to Azure SQL Managed Instance
+ */
+export interface ValidateMigrationInputSqlServerSqlMITaskInput {
+ /**
+ * Information for connecting to source
+ */
+ sourceConnectionInfo: SqlConnectionInfo;
+ /**
+ * Information for connecting to target
+ */
+ targetConnectionInfo: SqlConnectionInfo;
+ /**
+ * Databases to migrate
+ */
+ selectedDatabases: MigrateSqlServerSqlMIDatabaseInput[];
+ /**
+ * Logins to migrate
+ */
+ selectedLogins?: string[];
+ /**
+ * Backup file share information for all selected databases.
+ */
+ backupFileShare?: FileShare;
+ /**
+ * SAS URI of Azure Storage Account Container to be used for storing backup files.
+ */
+ backupBlobShare: BlobShare;
+ /**
+ * Backup Mode to specify whether to use existing backup or create new backup. Possible values
+ * include: 'CreateBackup', 'ExistingBackup'
+ */
+ backupMode?: BackupMode;
+}
+
+/**
+ * Properties for task that validates migration input for SQL to Azure SQL Database Managed
+ * Instance
+ */
+export interface ValidateMigrationInputSqlServerSqlMITaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "ValidateMigrationInput.SqlServer.AzureSqlDbMI";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: ValidateMigrationInputSqlServerSqlMITaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: ValidateMigrationInputSqlServerSqlMITaskOutput[];
+}
+
+/**
+ * Output for task that validates migration input for SQL sync migrations
+ */
+export interface ValidateSyncMigrationInputSqlServerTaskOutput {
+ /**
+ * Database identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Name of database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+ /**
+ * Errors associated with a selected database object
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly validationErrors?: ReportableException[];
+}
+
+/**
+ * Database specific information for SQL to Azure SQL DB sync migration task inputs
+ */
+export interface MigrateSqlServerSqlDbSyncDatabaseInput {
+ /**
+ * Unique identifier for database
+ */
+ id?: string;
+ /**
+ * Name of database
+ */
+ name?: string;
+ /**
+ * Target database name
+ */
+ targetDatabaseName?: string;
+ /**
+ * Schema name to be migrated
+ */
+ schemaName?: string;
+ /**
+ * Mapping of source to target tables
+ */
+ tableMap?: { [propertyName: string]: string };
+ /**
+ * Migration settings which tune the migration behavior
+ */
+ migrationSetting?: { [propertyName: string]: string };
+ /**
+ * Source settings to tune source endpoint migration behavior
+ */
+ sourceSetting?: { [propertyName: string]: string };
+ /**
+ * Target settings to tune target endpoint migration behavior
+ */
+ targetSetting?: { [propertyName: string]: string };
+}
+
+/**
+ * Input for task that validates migration input for SQL sync migrations
+ */
+export interface ValidateSyncMigrationInputSqlServerTaskInput {
+ /**
+ * Information for connecting to source SQL server
+ */
+ sourceConnectionInfo: SqlConnectionInfo;
+ /**
+ * Information for connecting to target
+ */
+ targetConnectionInfo: SqlConnectionInfo;
+ /**
+ * Databases to migrate
+ */
+ selectedDatabases: MigrateSqlServerSqlDbSyncDatabaseInput[];
+}
+
+/**
+ * Properties for task that validates migration input for SQL to Azure SQL DB sync migrations
+ */
+export interface ValidateMigrationInputSqlServerSqlDbSyncTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "ValidateMigrationInput.SqlServer.SqlDb.Sync";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: ValidateSyncMigrationInputSqlServerTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: ValidateSyncMigrationInputSqlServerTaskOutput[];
+}
+
+/**
+ * Database migration errors for online migration
+ */
+export interface SyncMigrationDatabaseErrorEvent {
+ /**
+ * String value of timestamp.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly timestampString?: string;
+ /**
+ * Event type.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly eventTypeString?: string;
+ /**
+ * Event text.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly eventText?: string;
+}
+
+/**
+ * Contains the possible cases for MigrateOracleAzureDbPostgreSqlSyncTaskOutput.
+ */
+export type MigrateOracleAzureDbPostgreSqlSyncTaskOutputUnion = MigrateOracleAzureDbPostgreSqlSyncTaskOutput | MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError | MigrateOracleAzureDbPostgreSqlSyncTaskOutputError | MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel | MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel | MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel;
+
+/**
+ * Output for the task that migrates Oracle databases to Azure Database for PostgreSQL for online
+ * migrations
+ */
+export interface MigrateOracleAzureDbPostgreSqlSyncTaskOutput {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "MigrateOracleAzureDbPostgreSqlSyncTaskOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+}
+
+/**
+ * An interface representing MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError.
+ */
+export interface MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "DatabaseLevelErrorOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Error message
+ */
+ errorMessage?: string;
+ /**
+ * List of error events.
+ */
+ events?: SyncMigrationDatabaseErrorEvent[];
+}
+
+/**
+ * An interface representing MigrateOracleAzureDbPostgreSqlSyncTaskOutputError.
+ */
+export interface MigrateOracleAzureDbPostgreSqlSyncTaskOutputError {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "ErrorOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Migration error
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly error?: ReportableException;
+}
+
+/**
+ * An interface representing MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel.
+ */
+export interface MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "TableLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Name of the table
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly tableName?: string;
+ /**
+ * Name of the database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databaseName?: string;
+ /**
+ * Number of applied inserts
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcInsertCounter?: number;
+ /**
+ * Number of applied updates
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcUpdateCounter?: number;
+ /**
+ * Number of applied deletes
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcDeleteCounter?: number;
+ /**
+ * Estimate to finish full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadEstFinishTime?: Date;
+ /**
+ * Full load start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadStartedOn?: Date;
+ /**
+ * Full load end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadEndedOn?: Date;
+ /**
+ * Number of rows applied in full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadTotalRows?: number;
+ /**
+ * Current state of the table migration. Possible values include: 'BEFORE_LOAD', 'FULL_LOAD',
+ * 'COMPLETED', 'CANCELED', 'ERROR', 'FAILED'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: SyncTableMigrationState;
+ /**
+ * Total number of applied changes
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly totalChangesApplied?: number;
+ /**
+ * Number of data errors occurred
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly dataErrorsCounter?: number;
+ /**
+ * Last modified time on target
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly lastModifiedTime?: Date;
+}
+
+/**
+ * An interface representing MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel.
+ */
+export interface MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "DatabaseLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Name of the database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databaseName?: string;
+ /**
+ * Migration start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Migration end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Migration state that this database is in. Possible values include: 'UNDEFINED', 'CONFIGURING',
+ * 'INITIALIAZING', 'STARTING', 'RUNNING', 'READY_TO_COMPLETE', 'COMPLETING', 'COMPLETE',
+ * 'CANCELLING', 'CANCELLED', 'FAILED'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly migrationState?: SyncDatabaseMigrationReportingState;
+ /**
+ * Number of incoming changes
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly incomingChanges?: number;
+ /**
+ * Number of applied changes
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly appliedChanges?: number;
+ /**
+ * Number of cdc inserts
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcInsertCounter?: number;
+ /**
+ * Number of cdc deletes
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcDeleteCounter?: number;
+ /**
+ * Number of cdc updates
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcUpdateCounter?: number;
+ /**
+ * Number of tables completed in full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadCompletedTables?: number;
+ /**
+ * Number of tables loading in full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadLoadingTables?: number;
+ /**
+ * Number of tables queued in full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadQueuedTables?: number;
+ /**
+ * Number of tables errored in full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadErroredTables?: number;
+ /**
+ * Indicates if initial load (full load) has been completed
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly initializationCompleted?: boolean;
+ /**
+ * CDC apply latency
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly latency?: number;
+}
+
+/**
+ * An interface representing MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel.
+ */
+export interface MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "MigrationLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Migration start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Migration end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Source server version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerVersion?: string;
+ /**
+ * Source server name
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServer?: string;
+ /**
+ * Target server version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerVersion?: string;
+ /**
+ * Target server name
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServer?: string;
+}
+
+/**
+ * Properties for the task that migrates Oracle to Azure Database for PostgreSQL for online
+ * migrations
+ */
+export interface MigrateOracleAzureDbForPostgreSqlSyncTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "Migrate.Oracle.AzureDbForPostgreSql.Sync";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: MigrateOracleAzureDbPostgreSqlSyncTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: MigrateOracleAzureDbPostgreSqlSyncTaskOutputUnion[];
+}
+
+/**
+ * Contains the possible cases for MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.
+ */
+export type MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputUnion = MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput | MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError | MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError | MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel | MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel | MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel;
+
+/**
+ * Output for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for
+ * online migrations
+ */
+export interface MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+}
+
+/**
+ * An interface representing MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError.
+ */
+export interface MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "DatabaseLevelErrorOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Error message
+ */
+ errorMessage?: string;
+ /**
+ * List of error events.
+ */
+ events?: SyncMigrationDatabaseErrorEvent[];
+}
+
+/**
+ * An interface representing MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError.
+ */
+export interface MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "ErrorOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Migration error
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly error?: ReportableException;
+}
+
+/**
+ * An interface representing MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel.
+ */
+export interface MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "TableLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Name of the table
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly tableName?: string;
+ /**
+ * Name of the database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databaseName?: string;
+ /**
+ * Number of applied inserts
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcInsertCounter?: number;
+ /**
+ * Number of applied updates
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcUpdateCounter?: number;
+ /**
+ * Number of applied deletes
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcDeleteCounter?: number;
+ /**
+ * Estimate to finish full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadEstFinishTime?: Date;
+ /**
+ * Full load start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadStartedOn?: Date;
+ /**
+ * Full load end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadEndedOn?: Date;
+ /**
+ * Number of rows applied in full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadTotalRows?: number;
+ /**
+ * Current state of the table migration. Possible values include: 'BEFORE_LOAD', 'FULL_LOAD',
+ * 'COMPLETED', 'CANCELED', 'ERROR', 'FAILED'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: SyncTableMigrationState;
+ /**
+ * Total number of applied changes
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly totalChangesApplied?: number;
+ /**
+ * Number of data errors occurred
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly dataErrorsCounter?: number;
+ /**
+ * Last modified time on target
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly lastModifiedTime?: Date;
+}
+
+/**
+ * An interface representing MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel.
+ */
+export interface MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "DatabaseLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Name of the database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databaseName?: string;
+ /**
+ * Migration start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Migration end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Migration state that this database is in. Possible values include: 'UNDEFINED', 'CONFIGURING',
+ * 'INITIALIAZING', 'STARTING', 'RUNNING', 'READY_TO_COMPLETE', 'COMPLETING', 'COMPLETE',
+ * 'CANCELLING', 'CANCELLED', 'FAILED'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly migrationState?: SyncDatabaseMigrationReportingState;
+ /**
+ * Number of incoming changes
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly incomingChanges?: number;
+ /**
+ * Number of applied changes
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly appliedChanges?: number;
+ /**
+ * Number of cdc inserts
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcInsertCounter?: number;
+ /**
+ * Number of cdc deletes
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcDeleteCounter?: number;
+ /**
+ * Number of cdc updates
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcUpdateCounter?: number;
+ /**
+ * Number of tables completed in full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadCompletedTables?: number;
+ /**
+ * Number of tables loading in full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadLoadingTables?: number;
+ /**
+ * Number of tables queued in full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadQueuedTables?: number;
+ /**
+ * Number of tables errored in full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadErroredTables?: number;
+ /**
+ * Indicates if initial load (full load) has been completed
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly initializationCompleted?: boolean;
+ /**
+ * CDC apply latency
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly latency?: number;
+}
+
+/**
+ * An interface representing MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel.
+ */
+export interface MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "MigrationLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Migration start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Migration end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Source server version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerVersion?: string;
+ /**
+ * Source server name
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServer?: string;
+ /**
+ * Target server version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerVersion?: string;
+ /**
+ * Target server name
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServer?: string;
+}
+
+/**
+ * Database specific information for PostgreSQL to Azure Database for PostgreSQL migration task
+ * inputs
+ */
+export interface MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput {
+ /**
+ * Name of the database
+ */
+ name?: string;
+ /**
+ * Name of target database. Note: Target database will be truncated before starting migration.
+ */
+ targetDatabaseName?: string;
+ /**
+ * Migration settings which tune the migration behavior
+ */
+ migrationSetting?: { [propertyName: string]: string };
+ /**
+ * Source settings to tune source endpoint migration behavior
+ */
+ sourceSetting?: { [propertyName: string]: string };
+ /**
+ * Target settings to tune target endpoint migration behavior
+ */
+ targetSetting?: { [propertyName: string]: string };
+}
+
+/**
+ * Input for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for
+ * online migrations
+ */
+export interface MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput {
+ /**
+ * Databases to migrate
+ */
+ selectedDatabases: MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput[];
+ /**
+ * Connection information for target Azure Database for PostgreSQL
+ */
+ targetConnectionInfo: PostgreSqlConnectionInfo;
+ /**
+ * Connection information for source PostgreSQL
+ */
+ sourceConnectionInfo: PostgreSqlConnectionInfo;
+}
+
+/**
+ * Properties for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for
+ * online migrations
+ */
+export interface MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "Migrate.PostgreSql.AzureDbForPostgreSql.Sync";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputUnion[];
+}
+
+/**
+ * Contains the possible cases for MigrateMySqlAzureDbForMySqlSyncTaskOutput.
+ */
+export type MigrateMySqlAzureDbForMySqlSyncTaskOutputUnion = MigrateMySqlAzureDbForMySqlSyncTaskOutput | MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError | MigrateMySqlAzureDbForMySqlSyncTaskOutputError | MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel | MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel | MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel;
+
+/**
+ * Output for the task that migrates MySQL databases to Azure Database for MySQL for online
+ * migrations
+ */
+export interface MigrateMySqlAzureDbForMySqlSyncTaskOutput {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "MigrateMySqlAzureDbForMySqlSyncTaskOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+}
+
+/**
+ * An interface representing MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError.
+ */
+export interface MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "DatabaseLevelErrorOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Error message
+ */
+ errorMessage?: string;
+ /**
+ * List of error events.
+ */
+ events?: SyncMigrationDatabaseErrorEvent[];
+}
+
+/**
+ * An interface representing MigrateMySqlAzureDbForMySqlSyncTaskOutputError.
+ */
+export interface MigrateMySqlAzureDbForMySqlSyncTaskOutputError {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "ErrorOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Migration error
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly error?: ReportableException;
+}
+
+/**
+ * An interface representing MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel.
+ */
+export interface MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "TableLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Name of the table
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly tableName?: string;
+ /**
+ * Name of the database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databaseName?: string;
+ /**
+ * Number of applied inserts
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcInsertCounter?: string;
+ /**
+ * Number of applied updates
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcUpdateCounter?: string;
+ /**
+ * Number of applied deletes
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcDeleteCounter?: string;
+ /**
+ * Estimate to finish full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadEstFinishTime?: Date;
+ /**
+ * Full load start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadStartedOn?: Date;
+ /**
+ * Full load end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadEndedOn?: Date;
+ /**
+ * Number of rows applied in full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadTotalRows?: number;
+ /**
+ * Current state of the table migration. Possible values include: 'BEFORE_LOAD', 'FULL_LOAD',
+ * 'COMPLETED', 'CANCELED', 'ERROR', 'FAILED'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: SyncTableMigrationState;
+ /**
+ * Total number of applied changes
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly totalChangesApplied?: number;
+ /**
+ * Number of data errors occurred
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly dataErrorsCounter?: number;
+ /**
+ * Last modified time on target
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly lastModifiedTime?: Date;
+}
+
+/**
+ * An interface representing MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel.
+ */
+export interface MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "DatabaseLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Name of the database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databaseName?: string;
+ /**
+ * Migration start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Migration end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Migration state that this database is in. Possible values include: 'UNDEFINED', 'CONFIGURING',
+ * 'INITIALIAZING', 'STARTING', 'RUNNING', 'READY_TO_COMPLETE', 'COMPLETING', 'COMPLETE',
+ * 'CANCELLING', 'CANCELLED', 'FAILED'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly migrationState?: SyncDatabaseMigrationReportingState;
+ /**
+ * Number of incoming changes
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly incomingChanges?: number;
+ /**
+ * Number of applied changes
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly appliedChanges?: number;
+ /**
+ * Number of cdc inserts
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcInsertCounter?: number;
+ /**
+ * Number of cdc deletes
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcDeleteCounter?: number;
+ /**
+ * Number of cdc updates
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcUpdateCounter?: number;
+ /**
+ * Number of tables completed in full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadCompletedTables?: number;
+ /**
+ * Number of tables loading in full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadLoadingTables?: number;
+ /**
+ * Number of tables queued in full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadQueuedTables?: number;
+ /**
+ * Number of tables errored in full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadErroredTables?: number;
+ /**
+ * Indicates if initial load (full load) has been completed
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly initializationCompleted?: boolean;
+ /**
+ * CDC apply latency
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly latency?: number;
+}
+
+/**
+ * An interface representing MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel.
+ */
+export interface MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "MigrationLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Migration start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Migration end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Source server version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerVersion?: string;
+ /**
+ * Source server name
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServer?: string;
+ /**
+ * Target server version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerVersion?: string;
+ /**
+ * Target server name
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServer?: string;
+}
+
+/**
+ * Database specific information for MySQL to Azure Database for MySQL migration task inputs
+ */
+export interface MigrateMySqlAzureDbForMySqlSyncDatabaseInput {
+ /**
+ * Name of the database
+ */
+ name?: string;
+ /**
+ * Name of target database. Note: Target database will be truncated before starting migration.
+ */
+ targetDatabaseName?: string;
+ /**
+ * Migration settings which tune the migration behavior
+ */
+ migrationSetting?: { [propertyName: string]: string };
+ /**
+ * Source settings to tune source endpoint migration behavior
+ */
+ sourceSetting?: { [propertyName: string]: string };
+ /**
+ * Target settings to tune target endpoint migration behavior
+ */
+ targetSetting?: { [propertyName: string]: string };
+}
+
+/**
+ * Input for the task that migrates MySQL databases to Azure Database for MySQL for online
+ * migrations
+ */
+export interface MigrateMySqlAzureDbForMySqlSyncTaskInput {
+ /**
+ * Connection information for source MySQL
+ */
+ sourceConnectionInfo: MySqlConnectionInfo;
+ /**
+ * Connection information for target Azure Database for MySQL
+ */
+ targetConnectionInfo: MySqlConnectionInfo;
+ /**
+ * Databases to migrate
+ */
+ selectedDatabases: MigrateMySqlAzureDbForMySqlSyncDatabaseInput[];
+}
+
+/**
+ * Properties for the task that migrates MySQL databases to Azure Database for MySQL for online
+ * migrations
+ */
+export interface MigrateMySqlAzureDbForMySqlSyncTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "Migrate.MySql.AzureDbForMySql.Sync";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: MigrateMySqlAzureDbForMySqlSyncTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: MigrateMySqlAzureDbForMySqlSyncTaskOutputUnion[];
+}
+
+/**
+ * Contains the possible cases for MigrateSqlServerSqlDbSyncTaskOutput.
+ */
+export type MigrateSqlServerSqlDbSyncTaskOutputUnion = MigrateSqlServerSqlDbSyncTaskOutput | MigrateSqlServerSqlDbSyncTaskOutputDatabaseError | MigrateSqlServerSqlDbSyncTaskOutputError | MigrateSqlServerSqlDbSyncTaskOutputTableLevel | MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel | MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel;
+
+/**
+ * Output for the task that migrates on-prem SQL Server databases to Azure SQL Database for online
+ * migrations
+ */
+export interface MigrateSqlServerSqlDbSyncTaskOutput {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "MigrateSqlServerSqlDbSyncTaskOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+}
+
+/**
+ * An interface representing MigrateSqlServerSqlDbSyncTaskOutputDatabaseError.
+ */
+export interface MigrateSqlServerSqlDbSyncTaskOutputDatabaseError {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "DatabaseLevelErrorOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Error message
+ */
+ errorMessage?: string;
+ /**
+ * List of error events.
+ */
+ events?: SyncMigrationDatabaseErrorEvent[];
+}
+
+/**
+ * An interface representing MigrateSqlServerSqlDbSyncTaskOutputError.
+ */
+export interface MigrateSqlServerSqlDbSyncTaskOutputError {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "ErrorOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Migration error
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly error?: ReportableException;
+}
+
+/**
+ * An interface representing MigrateSqlServerSqlDbSyncTaskOutputTableLevel.
+ */
+export interface MigrateSqlServerSqlDbSyncTaskOutputTableLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "TableLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Name of the table
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly tableName?: string;
+ /**
+ * Name of the database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databaseName?: string;
+ /**
+ * Number of applied inserts
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcInsertCounter?: number;
+ /**
+ * Number of applied updates
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcUpdateCounter?: number;
+ /**
+ * Number of applied deletes
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcDeleteCounter?: number;
+ /**
+ * Estimate to finish full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadEstFinishTime?: Date;
+ /**
+ * Full load start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadStartedOn?: Date;
+ /**
+ * Full load end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadEndedOn?: Date;
+ /**
+ * Number of rows applied in full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadTotalRows?: number;
+ /**
+ * Current state of the table migration. Possible values include: 'BEFORE_LOAD', 'FULL_LOAD',
+ * 'COMPLETED', 'CANCELED', 'ERROR', 'FAILED'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: SyncTableMigrationState;
+ /**
+ * Total number of applied changes
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly totalChangesApplied?: number;
+ /**
+ * Number of data errors occurred
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly dataErrorsCounter?: number;
+ /**
+ * Last modified time on target
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly lastModifiedTime?: Date;
+}
+
+/**
+ * An interface representing MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel.
+ */
+export interface MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "DatabaseLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Name of the database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databaseName?: string;
+ /**
+ * Migration start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Migration end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Migration state that this database is in. Possible values include: 'UNDEFINED', 'CONFIGURING',
+ * 'INITIALIAZING', 'STARTING', 'RUNNING', 'READY_TO_COMPLETE', 'COMPLETING', 'COMPLETE',
+ * 'CANCELLING', 'CANCELLED', 'FAILED'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly migrationState?: SyncDatabaseMigrationReportingState;
+ /**
+ * Number of incoming changes
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly incomingChanges?: number;
+ /**
+ * Number of applied changes
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly appliedChanges?: number;
+ /**
+ * Number of cdc inserts
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcInsertCounter?: number;
+ /**
+ * Number of cdc deletes
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcDeleteCounter?: number;
+ /**
+ * Number of cdc updates
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly cdcUpdateCounter?: number;
+ /**
+ * Number of tables completed in full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadCompletedTables?: number;
+ /**
+ * Number of tables loading in full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadLoadingTables?: number;
+ /**
+ * Number of tables queued in full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadQueuedTables?: number;
+ /**
+ * Number of tables errored in full load
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullLoadErroredTables?: number;
+ /**
+ * Indicates if initial load (full load) has been completed
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly initializationCompleted?: boolean;
+ /**
+ * CDC apply latency
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly latency?: number;
+}
+
+/**
+ * An interface representing MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel.
+ */
+export interface MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "MigrationLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Migration start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Migration end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Source server version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerVersion?: string;
+ /**
+ * Source server name
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServer?: string;
+ /**
+ * Target server version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerVersion?: string;
+ /**
+ * Target server name
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServer?: string;
+ /**
+ * Count of databases
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databaseCount?: number;
+}
+
+/**
+ * Types of validations to run after the migration
+ */
+export interface MigrationValidationOptions {
+ /**
+ * Allows to compare the schema information between source and target.
+ */
+ enableSchemaValidation?: boolean;
+ /**
+ * Allows to perform a checksum based data integrity validation between source and target for the
+ * selected database / tables .
+ */
+ enableDataIntegrityValidation?: boolean;
+ /**
+ * 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.
+ */
+ enableQueryAnalysisValidation?: boolean;
+}
+
+/**
+ * Input for the task that migrates on-prem SQL Server databases to Azure SQL Database for online
+ * migrations
+ */
+export interface MigrateSqlServerSqlDbSyncTaskInput extends SqlMigrationTaskInput {
+ /**
+ * Databases to migrate
+ */
+ selectedDatabases: MigrateSqlServerSqlDbSyncDatabaseInput[];
+ /**
+ * Validation options
+ */
+ validationOptions?: MigrationValidationOptions;
+}
+
+/**
+ * Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database for
+ * online migrations
+ */
+export interface MigrateSqlServerSqlDbSyncTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "Migrate.SqlServer.AzureSqlDb.Sync";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: MigrateSqlServerSqlDbSyncTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: MigrateSqlServerSqlDbSyncTaskOutputUnion[];
+}
+
+/**
+ * Description about the errors happen while performing migration validation
+ */
+export interface ValidationError {
+ /**
+ * Error Text
+ */
+ text?: string;
+ /**
+ * Severity of the error. Possible values include: 'Message', 'Warning', 'Error'
+ */
+ severity?: Severity;
+}
+
+/**
+ * Wait statistics gathered during query batch execution
+ */
+export interface WaitStatistics {
+ /**
+ * Type of the Wait
+ */
+ waitType?: string;
+ /**
+ * Total wait time in millisecond(s). Default value: 0.
+ */
+ waitTimeMs?: number;
+ /**
+ * Total no. of waits
+ */
+ waitCount?: number;
+}
+
+/**
+ * Description about the errors happen while performing migration validation
+ */
+export interface ExecutionStatistics {
+ /**
+ * No. of query executions
+ */
+ executionCount?: number;
+ /**
+ * CPU Time in millisecond(s) for the query execution
+ */
+ cpuTimeMs?: number;
+ /**
+ * Time taken in millisecond(s) for executing the query
+ */
+ elapsedTimeMs?: number;
+ /**
+ * Dictionary of sql query execution wait types and the respective statistics
+ */
+ waitStats?: { [propertyName: string]: WaitStatistics };
+ /**
+ * Indicates whether the query resulted in an error
+ */
+ hasErrors?: boolean;
+ /**
+ * List of sql Errors
+ */
+ sqlErrors?: string[];
+}
+
+/**
+ * Describes query analysis results for execution in source and target
+ */
+export interface QueryExecutionResult {
+ /**
+ * Query text retrieved from the source server
+ */
+ queryText?: string;
+ /**
+ * Total no. of statements in the batch
+ */
+ statementsInBatch?: number;
+ /**
+ * Query analysis result from the source
+ */
+ sourceResult?: ExecutionStatistics;
+ /**
+ * Query analysis result from the target
+ */
+ targetResult?: ExecutionStatistics;
+}
+
+/**
+ * Results for query analysis comparison between the source and target
+ */
+export interface QueryAnalysisValidationResult {
+ /**
+ * List of queries executed and it's execution results in source and target
+ */
+ queryResults?: QueryExecutionResult;
+ /**
+ * Errors that are part of the execution
+ */
+ validationErrors?: ValidationError;
+}
+
+/**
+ * Description about the errors happen while performing migration validation
+ */
+export interface SchemaComparisonValidationResultType {
+ /**
+ * Name of the object that has the difference
+ */
+ objectName?: string;
+ /**
+ * Type of the object that has the difference. e.g (Table/View/StoredProcedure). Possible values
+ * include: 'StoredProcedures', 'Table', 'User', 'View', 'Function'
+ */
+ objectType?: ObjectType;
+ /**
+ * Update action type with respect to target. Possible values include: 'DeletedOnTarget',
+ * 'ChangedOnTarget', 'AddedOnTarget'
+ */
+ updateAction?: UpdateActionType;
+}
+
+/**
+ * Results for schema comparison between the source and target
+ */
+export interface SchemaComparisonValidationResult {
+ /**
+ * List of schema differences between the source and target databases
+ */
+ schemaDifferences?: SchemaComparisonValidationResultType;
+ /**
+ * List of errors that happened while performing schema compare validation
+ */
+ validationErrors?: ValidationError;
+ /**
+ * Count of source database objects
+ */
+ sourceDatabaseObjectCount?: { [propertyName: string]: number };
+ /**
+ * Count of target database objects
+ */
+ targetDatabaseObjectCount?: { [propertyName: string]: number };
+}
+
+/**
+ * Results for checksum based Data Integrity validation results
+ */
+export interface DataIntegrityValidationResult {
+ /**
+ * List of failed table names of source and target pair
+ */
+ failedObjects?: { [propertyName: string]: string };
+ /**
+ * List of errors that happened while performing data integrity validation
+ */
+ validationErrors?: ValidationError;
+}
+
+/**
+ * Database level validation results
+ */
+export interface MigrationValidationDatabaseLevelResult {
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Migration Identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly migrationId?: string;
+ /**
+ * Name of the source database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceDatabaseName?: string;
+ /**
+ * Name of the target database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetDatabaseName?: string;
+ /**
+ * Validation start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Validation end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Provides data integrity validation result between the source and target tables that are
+ * migrated.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly dataIntegrityValidationResult?: DataIntegrityValidationResult;
+ /**
+ * Provides schema comparison result between source and target database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly schemaValidationResult?: SchemaComparisonValidationResult;
+ /**
+ * Results of some of the query execution result between source and target database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly queryAnalysisValidationResult?: QueryAnalysisValidationResult;
+ /**
+ * Current status of validation at the database level. Possible values include: 'Default',
+ * 'NotStarted', 'Initialized', 'InProgress', 'Completed', 'CompletedWithIssues', 'Stopped',
+ * 'Failed'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly status?: ValidationStatus;
+}
+
+/**
+ * Migration Validation Database level summary result
+ */
+export interface MigrationValidationDatabaseSummaryResult {
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Migration Identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly migrationId?: string;
+ /**
+ * Name of the source database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceDatabaseName?: string;
+ /**
+ * Name of the target database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetDatabaseName?: string;
+ /**
+ * Validation start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Validation end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Current status of validation at the database level. Possible values include: 'Default',
+ * 'NotStarted', 'Initialized', 'InProgress', 'Completed', 'CompletedWithIssues', 'Stopped',
+ * 'Failed'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly status?: ValidationStatus;
+}
+
+/**
+ * Migration Validation Result
+ */
+export interface MigrationValidationResult {
+ /**
+ * Migration validation result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Migration Identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly migrationId?: string;
+ /**
+ * Validation summary results for each database
+ */
+ summaryResults?: { [propertyName: string]: MigrationValidationDatabaseSummaryResult };
+ /**
+ * Current status of validation at the migration level. Status from the database validation
+ * result status will be aggregated here. Possible values include: 'Default', 'NotStarted',
+ * 'Initialized', 'InProgress', 'Completed', 'CompletedWithIssues', 'Stopped', 'Failed'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly status?: ValidationStatus;
+}
+
+/**
+ * Contains the possible cases for MigrateSqlServerSqlDbTaskOutput.
+ */
+export type MigrateSqlServerSqlDbTaskOutputUnion = MigrateSqlServerSqlDbTaskOutput | MigrateSqlServerSqlDbTaskOutputError | MigrateSqlServerSqlDbTaskOutputTableLevel | MigrateSqlServerSqlDbTaskOutputDatabaseLevel | MigrateSqlServerSqlDbTaskOutputMigrationLevel;
+
+/**
+ * Output for the task that migrates on-prem SQL Server databases to Azure SQL Database
+ */
+export interface MigrateSqlServerSqlDbTaskOutput {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "MigrateSqlServerSqlDbTaskOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+}
+
+/**
+ * An interface representing MigrateSqlServerSqlDbTaskOutputError.
+ */
+export interface MigrateSqlServerSqlDbTaskOutputError {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "ErrorOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Migration error
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly error?: ReportableException;
+}
+
+/**
+ * An interface representing MigrateSqlServerSqlDbTaskOutputTableLevel.
+ */
+export interface MigrateSqlServerSqlDbTaskOutputTableLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "TableLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Name of the item
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly objectName?: string;
+ /**
+ * Migration start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Migration end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Current state of migration. Possible values include: 'None', 'InProgress', 'Failed',
+ * 'Warning', 'Completed', 'Skipped', 'Stopped'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: MigrationState;
+ /**
+ * Status message
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly statusMessage?: string;
+ /**
+ * Number of items
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly itemsCount?: number;
+ /**
+ * Number of successfully completed items
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly itemsCompletedCount?: number;
+ /**
+ * Wildcard string prefix to use for querying all errors of the item
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errorPrefix?: string;
+ /**
+ * Wildcard string prefix to use for querying all sub-tem results of the item
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly resultPrefix?: string;
+}
+
+/**
+ * Basic summary of a data item migration
+ */
+export interface DataItemMigrationSummaryResult {
+ /**
+ * Name of the item
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+ /**
+ * Migration start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Migration end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Current state of migration. Possible values include: 'None', 'InProgress', 'Failed',
+ * 'Warning', 'Completed', 'Skipped', 'Stopped'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: MigrationState;
+ /**
+ * Status message
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly statusMessage?: string;
+ /**
+ * Number of items
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly itemsCount?: number;
+ /**
+ * Number of successfully completed items
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly itemsCompletedCount?: number;
+ /**
+ * Wildcard string prefix to use for querying all errors of the item
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errorPrefix?: string;
+ /**
+ * Wildcard string prefix to use for querying all sub-tem results of the item
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly resultPrefix?: string;
+}
+
+/**
+ * An interface representing MigrateSqlServerSqlDbTaskOutputDatabaseLevel.
+ */
+export interface MigrateSqlServerSqlDbTaskOutputDatabaseLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "DatabaseLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Name of the item
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databaseName?: string;
+ /**
+ * Migration start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Migration end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Current state of migration. Possible values include: 'None', 'InProgress', 'Failed',
+ * 'Warning', 'Completed', 'Skipped', 'Stopped'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: MigrationState;
+ /**
+ * Migration stage that this database is in. Possible values include: 'None', 'Initialize',
+ * 'Backup', 'FileCopy', 'Restore', 'Completed'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly stage?: DatabaseMigrationStage;
+ /**
+ * Status message
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly statusMessage?: string;
+ /**
+ * Migration progress message
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly message?: string;
+ /**
+ * Number of objects
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly numberOfObjects?: number;
+ /**
+ * Number of successfully completed objects
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly numberOfObjectsCompleted?: number;
+ /**
+ * Number of database/object errors.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errorCount?: number;
+ /**
+ * Wildcard string prefix to use for querying all errors of the item
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errorPrefix?: string;
+ /**
+ * Wildcard string prefix to use for querying all sub-tem results of the item
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly resultPrefix?: string;
+ /**
+ * Migration exceptions and warnings.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly exceptionsAndWarnings?: ReportableException[];
+ /**
+ * Summary of object results in the migration
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly objectSummary?: { [propertyName: string]: DataItemMigrationSummaryResult };
+}
+
+/**
+ * Migration validation report result, contains the url for downloading the generated report.
+ */
+export interface MigrationReportResult {
+ /**
+ * Migration validation result identifier
+ */
+ id?: string;
+ /**
+ * The url of the report.
+ */
+ reportUrl?: string;
+}
+
+/**
+ * Summary of database results in the migration
+ */
+export interface DatabaseSummaryResult extends DataItemMigrationSummaryResult {
+ /**
+ * Size of the database in megabytes
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sizeMB?: number;
+}
+
+/**
+ * An interface representing MigrateSqlServerSqlDbTaskOutputMigrationLevel.
+ */
+export interface MigrateSqlServerSqlDbTaskOutputMigrationLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "MigrationLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Migration start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Migration end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Duration of task execution in seconds.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly durationInSeconds?: number;
+ /**
+ * Current status of migration. Possible values include: 'Default', 'Connecting',
+ * 'SourceAndTargetSelected', 'SelectLogins', 'Configured', 'Running', 'Error', 'Stopped',
+ * 'Completed', 'CompletedWithWarnings'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly status?: MigrationStatus;
+ /**
+ * Migration status message
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly statusMessage?: string;
+ /**
+ * Migration progress message
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly message?: string;
+ /**
+ * Selected databases as a map from database name to database id
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databases?: { [propertyName: string]: string };
+ /**
+ * Summary of database results in the migration
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databaseSummary?: { [propertyName: string]: DatabaseSummaryResult };
+ /**
+ * Migration Validation Results
+ */
+ migrationValidationResult?: MigrationValidationResult;
+ /**
+ * Migration Report Result, provides unique url for downloading your migration report.
+ */
+ migrationReportResult?: MigrationReportResult;
+ /**
+ * Source server version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerVersion?: string;
+ /**
+ * Source server brand version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerBrandVersion?: string;
+ /**
+ * Target server version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerVersion?: string;
+ /**
+ * Target server brand version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerBrandVersion?: string;
+ /**
+ * Migration exceptions and warnings.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly exceptionsAndWarnings?: ReportableException[];
+}
+
+/**
+ * Database specific information for SQL to Azure SQL DB migration task inputs
+ */
+export interface MigrateSqlServerSqlDbDatabaseInput {
+ /**
+ * Name of the database
+ */
+ name?: string;
+ /**
+ * Name of target database. Note: Target database will be truncated before starting migration.
+ */
+ targetDatabaseName?: string;
+ /**
+ * Whether to set database read only before migration
+ */
+ makeSourceDbReadOnly?: boolean;
+ /**
+ * Mapping of source to target tables
+ */
+ tableMap?: { [propertyName: string]: string };
+}
+
+/**
+ * Input for the task that migrates on-prem SQL Server databases to Azure SQL Database
+ */
+export interface MigrateSqlServerSqlDbTaskInput extends SqlMigrationTaskInput {
+ /**
+ * Databases to migrate
+ */
+ selectedDatabases: MigrateSqlServerSqlDbDatabaseInput[];
+ /**
+ * Options for enabling various post migration validations. Available options,
+ * 1.) Data Integrity Check: Performs a checksum based comparison on source and target tables
+ * after the migration to ensure the correctness of the data.
+ * 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.
+ */
+ validationOptions?: MigrationValidationOptions;
+}
+
+/**
+ * Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database
+ */
+export interface MigrateSqlServerSqlDbTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "Migrate.SqlServer.SqlDb";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: MigrateSqlServerSqlDbTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: MigrateSqlServerSqlDbTaskOutputUnion[];
+}
+
+/**
+ * Contains the possible cases for MigrateSqlServerSqlMISyncTaskOutput.
+ */
+export type MigrateSqlServerSqlMISyncTaskOutputUnion = MigrateSqlServerSqlMISyncTaskOutput | MigrateSqlServerSqlMISyncTaskOutputError | MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel | MigrateSqlServerSqlMISyncTaskOutputMigrationLevel;
+
+/**
+ * Output for task that migrates SQL Server databases to Azure SQL Database Managed Instance using
+ * Log Replay Service.
+ */
+export interface MigrateSqlServerSqlMISyncTaskOutput {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "MigrateSqlServerSqlMISyncTaskOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+}
+
+/**
+ * An interface representing MigrateSqlServerSqlMISyncTaskOutputError.
+ */
+export interface MigrateSqlServerSqlMISyncTaskOutputError {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "ErrorOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Migration error
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly error?: ReportableException;
+}
+
+/**
+ * Information of the backup file
+ */
+export interface BackupFileInfo {
+ /**
+ * Location of the backup file in shared folder
+ */
+ fileLocation?: string;
+ /**
+ * Sequence number of the backup file in the backup set
+ */
+ familySequenceNumber?: number;
+ /**
+ * Status of the backup file during migration. Possible values include: 'Arrived', 'Queued',
+ * 'Uploading', 'Uploaded', 'Restoring', 'Restored', 'Cancelled'
+ */
+ status?: BackupFileStatus;
+}
+
+/**
+ * Information of backup set
+ */
+export interface BackupSetInfo {
+ /**
+ * Id for the set of backup files
+ */
+ backupSetId?: string;
+ /**
+ * First log sequence number of the backup file
+ */
+ firstLsn?: string;
+ /**
+ * Last log sequence number of the backup file
+ */
+ lastLsn?: string;
+ /**
+ * Last modified time of the backup file in share location
+ */
+ lastModifiedTime?: Date;
+ /**
+ * Enum of the different backup types. Possible values include: 'Database', 'TransactionLog',
+ * 'File', 'DifferentialDatabase', 'DifferentialFile', 'Partial', 'DifferentialPartial'
+ */
+ backupType?: BackupType;
+ /**
+ * List of files in the backup set
+ */
+ listOfBackupFiles?: BackupFileInfo[];
+ /**
+ * Name of the database to which the backup set belongs
+ */
+ databaseName?: string;
+ /**
+ * Date and time that the backup operation began
+ */
+ backupStartDate?: Date;
+ /**
+ * Date and time that the backup operation finished
+ */
+ backupFinishedDate?: Date;
+ /**
+ * Whether the backup set is restored or not
+ */
+ isBackupRestored?: boolean;
+}
+
+/**
+ * An interface representing MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel.
+ */
+export interface MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "DatabaseLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Name of the database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceDatabaseName?: string;
+ /**
+ * Current state of database. Possible values include: 'UNDEFINED', 'INITIAL',
+ * 'FULL_BACKUP_UPLOAD_START', 'LOG_SHIPPING_START', 'UPLOAD_LOG_FILES_START', 'CUTOVER_START',
+ * 'POST_CUTOVER_COMPLETE', 'COMPLETED', 'CANCELLED', 'FAILED'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly migrationState?: DatabaseMigrationState;
+ /**
+ * Database migration start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Database migration end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Details of full backup set
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fullBackupSetInfo?: BackupSetInfo;
+ /**
+ * Last applied backup set information
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly lastRestoredBackupSetInfo?: BackupSetInfo;
+ /**
+ * Backup sets that are currently active (Either being uploaded or getting restored)
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly activeBackupSets?: BackupSetInfo[];
+ /**
+ * Name of container created in the Azure Storage account where backups are copied to
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly containerName?: string;
+ /**
+ * prefix string to use for querying errors for this database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errorPrefix?: string;
+ /**
+ * Whether full backup has been applied to the target database or not
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly isFullBackupRestored?: boolean;
+ /**
+ * Migration exceptions and warnings
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly exceptionsAndWarnings?: ReportableException[];
+}
+
+/**
+ * An interface representing MigrateSqlServerSqlMISyncTaskOutputMigrationLevel.
+ */
+export interface MigrateSqlServerSqlMISyncTaskOutputMigrationLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "MigrationLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Count of databases
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databaseCount?: number;
+ /**
+ * Current state of migration. Possible values include: 'None', 'InProgress', 'Failed',
+ * 'Warning', 'Completed', 'Skipped', 'Stopped'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: MigrationState;
+ /**
+ * Migration start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Migration end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Source server name
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerName?: string;
+ /**
+ * Source server version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerVersion?: string;
+ /**
+ * Source server brand version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerBrandVersion?: string;
+ /**
+ * Target server name
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerName?: string;
+ /**
+ * Target server version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerVersion?: string;
+ /**
+ * Target server brand version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerBrandVersion?: string;
+ /**
+ * Number of database level errors
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databaseErrorCount?: number;
+}
+
+/**
+ * Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online
+ * scenario.
+ */
+export interface MigrateSqlServerSqlMISyncTaskInput extends SqlServerSqlMISyncTaskInput {
+}
+
+/**
+ * Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance
+ * sync scenario
+ */
+export interface MigrateSqlServerSqlMISyncTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: MigrateSqlServerSqlMISyncTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: MigrateSqlServerSqlMISyncTaskOutputUnion[];
+}
+
+/**
+ * Contains the possible cases for MigrateSqlServerSqlMITaskOutput.
+ */
+export type MigrateSqlServerSqlMITaskOutputUnion = MigrateSqlServerSqlMITaskOutput | MigrateSqlServerSqlMITaskOutputError | MigrateSqlServerSqlMITaskOutputLoginLevel | MigrateSqlServerSqlMITaskOutputAgentJobLevel | MigrateSqlServerSqlMITaskOutputDatabaseLevel | MigrateSqlServerSqlMITaskOutputMigrationLevel;
+
+/**
+ * Output for task that migrates SQL Server databases to Azure SQL Database Managed Instance.
+ */
+export interface MigrateSqlServerSqlMITaskOutput {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "MigrateSqlServerSqlMITaskOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+}
+
+/**
+ * An interface representing MigrateSqlServerSqlMITaskOutputError.
+ */
+export interface MigrateSqlServerSqlMITaskOutputError {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "ErrorOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Migration error
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly error?: ReportableException;
+}
+
+/**
+ * An interface representing MigrateSqlServerSqlMITaskOutputLoginLevel.
+ */
+export interface MigrateSqlServerSqlMITaskOutputLoginLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "LoginLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Login name.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly loginName?: string;
+ /**
+ * Current state of login. Possible values include: 'None', 'InProgress', 'Failed', 'Warning',
+ * 'Completed', 'Skipped', 'Stopped'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: MigrationState;
+ /**
+ * Current stage of login. Possible values include: 'None', 'Initialize', 'LoginMigration',
+ * 'EstablishUserMapping', 'AssignRoleMembership', 'AssignRoleOwnership',
+ * 'EstablishServerPermissions', 'EstablishObjectPermissions', 'Completed'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly stage?: LoginMigrationStage;
+ /**
+ * Login migration start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Login migration end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Login migration progress message
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly message?: string;
+ /**
+ * Login migration errors and warnings per login
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly exceptionsAndWarnings?: ReportableException[];
+}
+
+/**
+ * An interface representing MigrateSqlServerSqlMITaskOutputAgentJobLevel.
+ */
+export interface MigrateSqlServerSqlMITaskOutputAgentJobLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "AgentJobLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Agent Job name.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+ /**
+ * The state of the original Agent Job.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly isEnabled?: boolean;
+ /**
+ * Current state of migration. Possible values include: 'None', 'InProgress', 'Failed',
+ * 'Warning', 'Completed', 'Skipped', 'Stopped'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: MigrationState;
+ /**
+ * Migration start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Migration end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Migration progress message
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly message?: string;
+ /**
+ * Migration errors and warnings per job
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly exceptionsAndWarnings?: ReportableException[];
+}
+
+/**
+ * An interface representing MigrateSqlServerSqlMITaskOutputDatabaseLevel.
+ */
+export interface MigrateSqlServerSqlMITaskOutputDatabaseLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "DatabaseLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Name of the database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databaseName?: string;
+ /**
+ * Size of the database in megabytes
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sizeMB?: number;
+ /**
+ * Current state of migration. Possible values include: 'None', 'InProgress', 'Failed',
+ * 'Warning', 'Completed', 'Skipped', 'Stopped'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: MigrationState;
+ /**
+ * Current stage of migration. Possible values include: 'None', 'Initialize', 'Backup',
+ * 'FileCopy', 'Restore', 'Completed'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly stage?: DatabaseMigrationStage;
+ /**
+ * Migration start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Migration end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Migration progress message
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly message?: string;
+ /**
+ * Migration exceptions and warnings
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly exceptionsAndWarnings?: ReportableException[];
+}
+
+/**
+ * Information of orphaned users on the SQL server database.
+ */
+export interface OrphanedUserInfo {
+ /**
+ * Name of the orphaned user
+ */
+ name?: string;
+ /**
+ * Parent database of the user
+ */
+ databaseName?: string;
+}
+
+/**
+ * Server role migration result
+ */
+export interface StartMigrationScenarioServerRoleResult {
+ /**
+ * Name of server role.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+ /**
+ * Current state of migration. Possible values include: 'None', 'InProgress', 'Failed',
+ * 'Warning', 'Completed', 'Skipped', 'Stopped'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: MigrationState;
+ /**
+ * Migration exceptions and warnings.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly exceptionsAndWarnings?: ReportableException[];
+}
+
+/**
+ * An interface representing MigrateSqlServerSqlMITaskOutputMigrationLevel.
+ */
+export interface MigrateSqlServerSqlMITaskOutputMigrationLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "MigrationLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Migration start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Migration end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Current status of migration. Possible values include: 'Default', 'Connecting',
+ * 'SourceAndTargetSelected', 'SelectLogins', 'Configured', 'Running', 'Error', 'Stopped',
+ * 'Completed', 'CompletedWithWarnings'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly status?: MigrationStatus;
+ /**
+ * Current state of migration. Possible values include: 'None', 'InProgress', 'Failed',
+ * 'Warning', 'Completed', 'Skipped', 'Stopped'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: MigrationState;
+ /**
+ * Selected agent jobs as a map from name to id
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly agentJobs?: { [propertyName: string]: string };
+ /**
+ * Selected logins as a map from name to id
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly logins?: { [propertyName: string]: string };
+ /**
+ * Migration progress message
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly message?: string;
+ /**
+ * Map of server role migration results.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly serverRoleResults?: { [propertyName: string]: StartMigrationScenarioServerRoleResult };
+ /**
+ * List of orphaned users.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly orphanedUsersInfo?: OrphanedUserInfo[];
+ /**
+ * Selected databases as a map from database name to database id
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databases?: { [propertyName: string]: string };
+ /**
+ * Source server version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerVersion?: string;
+ /**
+ * Source server brand version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerBrandVersion?: string;
+ /**
+ * Target server version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerVersion?: string;
+ /**
+ * Target server brand version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerBrandVersion?: string;
+ /**
+ * Migration exceptions and warnings.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly exceptionsAndWarnings?: ReportableException[];
+}
+
+/**
+ * Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance.
+ */
+export interface MigrateSqlServerSqlMITaskInput extends SqlMigrationTaskInput {
+ /**
+ * Databases to migrate
+ */
+ selectedDatabases: MigrateSqlServerSqlMIDatabaseInput[];
+ /**
+ * Logins to migrate.
+ */
+ selectedLogins?: string[];
+ /**
+ * Agent Jobs to migrate.
+ */
+ selectedAgentJobs?: string[];
+ /**
+ * Backup file share information for all selected databases.
+ */
+ backupFileShare?: FileShare;
+ /**
+ * SAS URI of Azure Storage Account Container to be used for storing backup files.
+ */
+ backupBlobShare: BlobShare;
+ /**
+ * Backup Mode to specify whether to use existing backup or create new backup. If using existing
+ * backups, backup file paths are required to be provided in selectedDatabases. Possible values
+ * include: 'CreateBackup', 'ExistingBackup'
+ */
+ backupMode?: BackupMode;
+}
+
+/**
+ * Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance
+ */
+export interface MigrateSqlServerSqlMITaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "Migrate.SqlServer.AzureSqlDbMI";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: MigrateSqlServerSqlMITaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: MigrateSqlServerSqlMITaskOutputUnion[];
+}
+
+/**
+ * Properties for the task that migrates data between MongoDB data sources
+ */
+export interface MigrateMongoDbTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "Migrate.MongoDb";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ input?: MongoDbMigrationSettings;
+ /**
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: MongoDbProgress[];
+}
+
+/**
+ * Output for the task that validates connection to Azure Database for MySQL and target server
+ * requirements
+ */
+export interface ConnectToTargetAzureDbForMySqlTaskOutput {
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Version of the target server
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly serverVersion?: string;
+ /**
+ * List of databases on target server
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databases?: string[];
+ /**
+ * Target server brand version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerBrandVersion?: string;
+ /**
+ * Validation errors associated with the task
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly validationErrors?: ReportableException[];
+}
+
+/**
+ * Input for the task that validates connection to Azure Database for MySQL and target server
+ * requirements
+ */
+export interface ConnectToTargetAzureDbForMySqlTaskInput {
+ /**
+ * Connection information for source MySQL server
+ */
+ sourceConnectionInfo: MySqlConnectionInfo;
+ /**
+ * Connection information for target Azure Database for MySQL server
+ */
+ targetConnectionInfo: MySqlConnectionInfo;
+}
+
+/**
+ * Properties for the task that validates connection to Azure Database for MySQL and target server
+ * requirements
+ */
+export interface ConnectToTargetAzureDbForMySqlTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "ConnectToTarget.AzureDbForMySql";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: ConnectToTargetAzureDbForMySqlTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: ConnectToTargetAzureDbForMySqlTaskOutput[];
+}
+
+/**
+ * Output for the task that validates connection to Azure SQL Database Managed Instance.
+ */
+export interface ConnectToTargetSqlMISyncTaskOutput {
+ /**
+ * Target server version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerVersion?: string;
+ /**
+ * Target server brand version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerBrandVersion?: string;
+ /**
+ * Validation errors
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly validationErrors?: ReportableException[];
+}
+
+/**
+ * Input for the task that validates connection to Azure SQL Database Managed Instance online
+ * scenario.
+ */
+export interface ConnectToTargetSqlMISyncTaskInput {
+ /**
+ * Connection information for Azure SQL Database Managed Instance
+ */
+ targetConnectionInfo: MiSqlConnectionInfo;
+ /**
+ * Azure Active Directory Application the DMS instance will use to connect to the target instance
+ * of Azure SQL Database Managed Instance and the Azure Storage Account
+ */
+ azureApp: AzureActiveDirectoryApp;
+}
+
+/**
+ * Properties for the task that validates connection to Azure SQL Database Managed Instance
+ */
+export interface ConnectToTargetSqlMISyncTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "ConnectToTarget.AzureSqlDbMI.Sync.LRS";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: ConnectToTargetSqlMISyncTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: ConnectToTargetSqlMISyncTaskOutput[];
+}
+
+/**
+ * Output for the task that validates connection to Azure SQL Database Managed Instance.
+ */
+export interface ConnectToTargetSqlMITaskOutput {
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Target server version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerVersion?: string;
+ /**
+ * Target server brand version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerBrandVersion?: string;
+ /**
+ * List of logins on the target server.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly logins?: string[];
+ /**
+ * List of agent jobs on the target server.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly agentJobs?: string[];
+ /**
+ * Validation errors
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly validationErrors?: ReportableException[];
+}
+
+/**
+ * Input for the task that validates connection to Azure SQL Database Managed Instance.
+ */
+export interface ConnectToTargetSqlMITaskInput {
+ /**
+ * Connection information for target SQL Server
+ */
+ targetConnectionInfo: SqlConnectionInfo;
+ /**
+ * Flag for whether to collect logins from target SQL MI server. Default value: true.
+ */
+ collectLogins?: boolean;
+ /**
+ * Flag for whether to collect agent jobs from target SQL MI server. Default value: true.
+ */
+ collectAgentJobs?: boolean;
+ /**
+ * Flag for whether to validate SSIS catalog is reachable on the target SQL MI server. Default
+ * value: false.
+ */
+ validateSsisCatalogOnly?: boolean;
+}
+
+/**
+ * Properties for the task that validates connection to Azure SQL Database Managed Instance
+ */
+export interface ConnectToTargetSqlMITaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "ConnectToTarget.AzureSqlDbMI";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: ConnectToTargetSqlMITaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: ConnectToTargetSqlMITaskOutput[];
+}
+
+/**
+ * Table properties
+ */
+export interface DatabaseTable {
+ /**
+ * Indicates whether table is empty or not
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly hasRows?: boolean;
+ /**
+ * Schema-qualified name of the table
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+}
+
+/**
+ * Output for the task that gets the list of tables for a provided list of PostgreSQL databases.
+ */
+export interface GetUserTablesPostgreSqlTaskOutput {
+ /**
+ * The database this result is for
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databaseName?: string;
+ /**
+ * List of valid tables found for this database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly tables?: DatabaseTable[];
+ /**
+ * Validation errors associated with the task
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly validationErrors?: ReportableException[];
+}
+
+/**
+ * Input for the task that gets the list of tables for a provided list of PostgreSQL databases.
+ */
+export interface GetUserTablesPostgreSqlTaskInput {
+ /**
+ * Information for connecting to PostgreSQL source
+ */
+ connectionInfo: PostgreSqlConnectionInfo;
+ /**
+ * List of PostgreSQL databases for which to collect tables
+ */
+ selectedDatabases: string[];
+}
+
+/**
+ * Properties for the task that collects user tables for the given list of databases
+ */
+export interface GetUserTablesPostgreSqlTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "GetUserTablesPostgreSql";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: GetUserTablesPostgreSqlTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: GetUserTablesPostgreSqlTaskOutput[];
+}
+
+/**
+ * Output for the task that gets the list of tables contained within a provided list of Oracle
+ * schemas.
+ */
+export interface GetUserTablesOracleTaskOutput {
+ /**
+ * The schema this result is for
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly schemaName?: string;
+ /**
+ * List of valid tables found for this schema
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly tables?: DatabaseTable[];
+ /**
+ * Validation errors associated with the task
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly validationErrors?: ReportableException[];
+}
+
+/**
+ * Input for the task that gets the list of tables contained within a provided list of Oracle
+ * schemas.
+ */
+export interface GetUserTablesOracleTaskInput {
+ /**
+ * Information for connecting to Oracle source
+ */
+ connectionInfo: OracleConnectionInfo;
+ /**
+ * List of Oracle schemas for which to collect tables
+ */
+ selectedSchemas: string[];
+}
+
+/**
+ * Properties for the task that collects user tables for the given list of Oracle schemas
+ */
+export interface GetUserTablesOracleTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "GetUserTablesOracle";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: GetUserTablesOracleTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: GetUserTablesOracleTaskOutput[];
+}
+
+/**
+ * Output of the task that collects user tables for the given list of databases
+ */
+export interface GetUserTablesSqlSyncTaskOutput {
+ /**
+ * Mapping from database name to list of source tables
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databasesToSourceTables?: { [propertyName: string]: DatabaseTable[] };
+ /**
+ * Mapping from database name to list of target tables
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databasesToTargetTables?: { [propertyName: string]: DatabaseTable[] };
+ /**
+ * Mapping from database name to list of validation errors
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly tableValidationErrors?: { [propertyName: string]: string[] };
+ /**
+ * Validation errors
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly validationErrors?: ReportableException[];
+}
+
+/**
+ * Input for the task that collects user tables for the given list of databases
+ */
+export interface GetUserTablesSqlSyncTaskInput {
+ /**
+ * Connection information for SQL Server
+ */
+ sourceConnectionInfo: SqlConnectionInfo;
+ /**
+ * Connection information for SQL DB
+ */
+ targetConnectionInfo: SqlConnectionInfo;
+ /**
+ * List of source database names to collect tables for
+ */
+ selectedSourceDatabases: string[];
+ /**
+ * List of target database names to collect tables for
+ */
+ selectedTargetDatabases: string[];
+}
+
+/**
+ * Properties for the task that collects user tables for the given list of databases
+ */
+export interface GetUserTablesSqlSyncTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "GetUserTables.AzureSqlDb.Sync";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: GetUserTablesSqlSyncTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: GetUserTablesSqlSyncTaskOutput[];
+}
+
+/**
+ * Output of the task that collects user tables for the given list of databases
+ */
+export interface GetUserTablesSqlTaskOutput {
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Mapping from database name to list of tables
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databasesToTables?: { [propertyName: string]: DatabaseTable[] };
+ /**
+ * Validation errors
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly validationErrors?: ReportableException[];
+}
+
+/**
+ * Input for the task that collects user tables for the given list of databases
+ */
+export interface GetUserTablesSqlTaskInput {
+ /**
+ * Connection information for SQL Server
+ */
+ connectionInfo: SqlConnectionInfo;
+ /**
+ * List of database names to collect tables for
+ */
+ selectedDatabases: string[];
+}
+
+/**
+ * Properties for the task that collects user tables for the given list of databases
+ */
+export interface GetUserTablesSqlTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "GetUserTables.Sql";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: GetUserTablesSqlTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: GetUserTablesSqlTaskOutput[];
+}
+
+/**
+ * An interface representing
+ * ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem.
+ */
+export interface ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem {
+ database?: string;
+ schemas?: string[];
+}
+
+/**
+ * Output for the task that validates connection to Azure Database for PostgreSQL and target server
+ * requirements for Oracle source.
+ */
+export interface ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput {
+ /**
+ * Version of the target server
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerVersion?: string;
+ /**
+ * List of databases on target server
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databases?: string[];
+ /**
+ * Target server brand version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerBrandVersion?: string;
+ /**
+ * Validation errors associated with the task
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly validationErrors?: ReportableException[];
+ /**
+ * Mapping of schemas per database
+ */
+ databaseSchemaMap?: ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem[];
+}
+
+/**
+ * Input for the task that validates connection to Azure Database for PostgreSQL and target server
+ * requirements for Oracle source.
+ */
+export interface ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput {
+ /**
+ * Connection information for target Azure Database for PostgreSQL server
+ */
+ targetConnectionInfo: PostgreSqlConnectionInfo;
+}
+
+/**
+ * Properties for the task that validates connection to Azure Database For PostgreSQL server and
+ * target server requirements for online migration for Oracle source.
+ */
+export interface ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput[];
+}
+
+/**
+ * Output for the task that validates connection to Azure Database for PostgreSQL and target server
+ * requirements
+ */
+export interface ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput {
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Version of the target server
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerVersion?: string;
+ /**
+ * List of databases on target server
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databases?: string[];
+ /**
+ * Target server brand version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerBrandVersion?: string;
+ /**
+ * Validation errors associated with the task
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly validationErrors?: ReportableException[];
+}
+
+/**
+ * Input for the task that validates connection to Azure Database for PostgreSQL and target server
+ * requirements
+ */
+export interface ConnectToTargetAzureDbForPostgreSqlSyncTaskInput {
+ /**
+ * Connection information for source PostgreSQL server
+ */
+ sourceConnectionInfo: PostgreSqlConnectionInfo;
+ /**
+ * Connection information for target Azure Database for PostgreSQL server
+ */
+ targetConnectionInfo: PostgreSqlConnectionInfo;
+}
+
+/**
+ * Properties for the task that validates connection to Azure Database For PostgreSQL server and
+ * target server requirements for online migration
+ */
+export interface ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "ConnectToTarget.AzureDbForPostgreSql.Sync";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: ConnectToTargetAzureDbForPostgreSqlSyncTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput[];
+}
+
+/**
+ * Output for the task that validates connection to SQL DB and target server requirements
+ */
+export interface ConnectToTargetSqlDbTaskOutput {
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Source databases as a map from database name to database id
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databases?: { [propertyName: string]: string };
+ /**
+ * Version of the target server
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerVersion?: string;
+ /**
+ * Target server brand version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerBrandVersion?: string;
+}
+
+/**
+ * Input for the task that validates connection to Azure SQL DB and target server requirements
+ */
+export interface ConnectToTargetSqlSqlDbSyncTaskInput {
+ /**
+ * Connection information for source SQL Server
+ */
+ sourceConnectionInfo: SqlConnectionInfo;
+ /**
+ * Connection information for target SQL DB
+ */
+ targetConnectionInfo: SqlConnectionInfo;
+}
+
+/**
+ * Properties for the task that validates connection to SQL DB and target server requirements for
+ * online migration
+ */
+export interface ConnectToTargetSqlSqlDbSyncTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "ConnectToTarget.SqlDb.Sync";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: ConnectToTargetSqlSqlDbSyncTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: ConnectToTargetSqlDbTaskOutput[];
+}
+
+/**
+ * Input for the task that validates connection to SQL DB and target server requirements
+ */
+export interface ConnectToTargetSqlDbTaskInput {
+ /**
+ * Connection information for target SQL DB
+ */
+ targetConnectionInfo: SqlConnectionInfo;
+}
+
+/**
+ * Properties for the task that validates connection to SQL DB and target server requirements
+ */
+export interface ConnectToTargetSqlDbTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "ConnectToTarget.SqlDb";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: ConnectToTargetSqlDbTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: ConnectToTargetSqlDbTaskOutput[];
+}
+
+/**
+ * Output for the task that validates Oracle database connection
+ */
+export interface ConnectToSourceOracleSyncTaskOutput {
+ /**
+ * Version of the source server
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerVersion?: string;
+ /**
+ * List of schemas on source server
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databases?: string[];
+ /**
+ * Source server brand version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerBrandVersion?: string;
+ /**
+ * Validation errors associated with the task
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly validationErrors?: ReportableException[];
+}
+
+/**
+ * Input for the task that validates Oracle database connection
+ */
+export interface ConnectToSourceOracleSyncTaskInput {
+ /**
+ * Information for connecting to Oracle source
+ */
+ sourceConnectionInfo: OracleConnectionInfo;
+}
+
+/**
+ * Properties for the task that validates Oracle database connection
+ */
+export interface ConnectToSourceOracleSyncTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "ConnectToSource.Oracle.Sync";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: ConnectToSourceOracleSyncTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: ConnectToSourceOracleSyncTaskOutput[];
+}
+
+/**
+ * Output for the task that validates connection to PostgreSQL and source server requirements
+ */
+export interface ConnectToSourcePostgreSqlSyncTaskOutput {
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Version of the source server
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerVersion?: string;
+ /**
+ * List of databases on source server
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databases?: string[];
+ /**
+ * Source server brand version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerBrandVersion?: string;
+ /**
+ * Validation errors associated with the task
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly validationErrors?: ReportableException[];
+}
+
+/**
+ * Input for the task that validates connection to PostgreSQL and source server requirements
+ */
+export interface ConnectToSourcePostgreSqlSyncTaskInput {
+ /**
+ * Connection information for source PostgreSQL server
+ */
+ sourceConnectionInfo: PostgreSqlConnectionInfo;
+}
+
+/**
+ * Properties for the task that validates connection to PostgreSQL server and source server
+ * requirements for online migration
+ */
+export interface ConnectToSourcePostgreSqlSyncTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "ConnectToSource.PostgreSql.Sync";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: ConnectToSourcePostgreSqlSyncTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: ConnectToSourcePostgreSqlSyncTaskOutput[];
+}
+
+/**
+ * Information about migration eligibility of a server object
+ */
+export interface MigrationEligibilityInfo {
+ /**
+ * Whether object is eligible for migration or not.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly isEligibileForMigration?: boolean;
+ /**
+ * Information about eligibility failure for the server object.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly validationMessages?: string[];
+}
+
+/**
+ * Contains the possible cases for ConnectToSourceSqlServerTaskOutput.
+ */
+export type ConnectToSourceSqlServerTaskOutputUnion = ConnectToSourceSqlServerTaskOutput | ConnectToSourceSqlServerTaskOutputAgentJobLevel | ConnectToSourceSqlServerTaskOutputLoginLevel | ConnectToSourceSqlServerTaskOutputDatabaseLevel | ConnectToSourceSqlServerTaskOutputTaskLevel;
+
+/**
+ * Output for the task that validates connection to SQL Server and also validates source server
+ * requirements
+ */
+export interface ConnectToSourceSqlServerTaskOutput {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "ConnectToSourceSqlServerTaskOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+}
+
+/**
+ * Agent Job level output for the task that validates connection to SQL Server and also validates
+ * source server requirements
+ */
+export interface ConnectToSourceSqlServerTaskOutputAgentJobLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "AgentJobLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Agent Job name
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+ /**
+ * The type of Agent Job.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly jobCategory?: string;
+ /**
+ * The state of the original Agent Job.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly isEnabled?: boolean;
+ /**
+ * The owner of the Agent Job
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly jobOwner?: string;
+ /**
+ * UTC Date and time when the Agent Job was last executed.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly lastExecutedOn?: Date;
+ /**
+ * Validation errors
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly validationErrors?: ReportableException[];
+ /**
+ * Information about eligibility of agent job for migration.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly migrationEligibility?: MigrationEligibilityInfo;
+}
+
+/**
+ * Login level output for the task that validates connection to SQL Server and also validates
+ * source server requirements
+ */
+export interface ConnectToSourceSqlServerTaskOutputLoginLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "LoginLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Login name.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+ /**
+ * The type of login. Possible values include: 'WindowsUser', 'WindowsGroup', 'SqlLogin',
+ * 'Certificate', 'AsymmetricKey', 'ExternalUser', 'ExternalGroup'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly loginType?: LoginType;
+ /**
+ * The default database for the login.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly defaultDatabase?: string;
+ /**
+ * The state of the login.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly isEnabled?: boolean;
+ /**
+ * Information about eligibility of login for migration.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly migrationEligibility?: MigrationEligibilityInfo;
+}
+
+/**
+ * Database file specific information
+ */
+export interface DatabaseFileInfo {
+ /**
+ * Name of the database
+ */
+ databaseName?: string;
+ /**
+ * Unique identifier for database file
+ */
+ id?: string;
+ /**
+ * Logical name of the file
+ */
+ logicalName?: string;
+ /**
+ * Operating-system full path of the file
+ */
+ physicalFullName?: string;
+ /**
+ * Suggested full path of the file for restoring
+ */
+ restoreFullName?: string;
+ /**
+ * Database file type. Possible values include: 'Rows', 'Log', 'Filestream', 'NotSupported',
+ * 'Fulltext'
+ */
+ fileType?: DatabaseFileType;
+ /**
+ * Size of the file in megabytes
+ */
+ sizeMB?: number;
+}
+
+/**
+ * Database level output for the task that validates connection to SQL Server and also validates
+ * source server requirements
+ */
+export interface ConnectToSourceSqlServerTaskOutputDatabaseLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "DatabaseLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Database name
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+ /**
+ * Size of the file in megabytes
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sizeMB?: number;
+ /**
+ * The list of database files
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databaseFiles?: DatabaseFileInfo[];
+ /**
+ * SQL Server compatibility level of database. Possible values include: 'CompatLevel80',
+ * 'CompatLevel90', 'CompatLevel100', 'CompatLevel110', 'CompatLevel120', 'CompatLevel130',
+ * 'CompatLevel140'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly compatibilityLevel?: DatabaseCompatLevel;
+ /**
+ * State of the database. Possible values include: 'Online', 'Restoring', 'Recovering',
+ * 'RecoveryPending', 'Suspect', 'Emergency', 'Offline', 'Copying', 'OfflineSecondary'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databaseState?: DatabaseState;
+}
+
+/**
+ * Task level output for the task that validates connection to SQL Server and also validates source
+ * server requirements
+ */
+export interface ConnectToSourceSqlServerTaskOutputTaskLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "TaskLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Source databases as a map from database name to database id
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databases?: { [propertyName: string]: string };
+ /**
+ * Source logins as a map from login name to login id.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly logins?: { [propertyName: string]: string };
+ /**
+ * Source agent jobs as a map from agent job name to id.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly agentJobs?: { [propertyName: string]: string };
+ /**
+ * Mapping from database name to TDE certificate name, if applicable
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databaseTdeCertificateMapping?: { [propertyName: string]: string };
+ /**
+ * Source server version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerVersion?: string;
+ /**
+ * Source server brand version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerBrandVersion?: string;
+ /**
+ * Validation errors
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly validationErrors?: ReportableException[];
+}
+
+/**
+ * Input for the task that validates connection to SQL Server and also validates source server
+ * requirements
+ */
+export interface ConnectToSourceSqlServerTaskInput {
+ /**
+ * Connection information for Source SQL Server
+ */
+ sourceConnectionInfo: SqlConnectionInfo;
+ /**
+ * Permission group for validations. Possible values include: 'Default',
+ * 'MigrationFromSqlServerToAzureDB', 'MigrationFromSqlServerToAzureMI',
+ * 'MigrationFromMySQLToAzureDBForMySQL'
+ */
+ checkPermissionsGroup?: ServerLevelPermissionsGroup;
+ /**
+ * Flag for whether to collect databases from source server. Default value: true.
+ */
+ collectDatabases?: boolean;
+ /**
+ * Flag for whether to collect logins from source server. Default value: false.
+ */
+ collectLogins?: boolean;
+ /**
+ * Flag for whether to collect agent jobs from source server. Default value: false.
+ */
+ collectAgentJobs?: boolean;
+ /**
+ * Flag for whether to collect TDE Certificate names from source server. Default value: false.
+ */
+ collectTdeCertificateInfo?: boolean;
+ /**
+ * Flag for whether to validate SSIS catalog is reachable on the source server. Default value:
+ * false.
+ */
+ validateSsisCatalogOnly?: boolean;
+}
+
+/**
+ * Properties for the task that validates connection to SQL Server and source server requirements
+ * for online migration
+ */
+export interface ConnectToSourceSqlServerSyncTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "ConnectToSource.SqlServer.Sync";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: ConnectToSourceSqlServerTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: ConnectToSourceSqlServerTaskOutputUnion[];
+}
+
+/**
+ * Properties for the task that validates connection to SQL Server and also validates source server
+ * requirements
+ */
+export interface ConnectToSourceSqlServerTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "ConnectToSource.SqlServer";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: ConnectToSourceSqlServerTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: ConnectToSourceSqlServerTaskOutputUnion[];
+}
+
+/**
+ * Describes a MongoDB shard key
+ */
+export interface MongoDbShardKeyInfo {
+ /**
+ * The fields within the shard key
+ */
+ fields: MongoDbShardKeyField[];
+ /**
+ * Whether the shard key is unique
+ */
+ isUnique: boolean;
+}
+
+/**
+ * Describes a database or collection within a MongoDB data source
+ */
+export interface MongoDbObjectInfo {
+ /**
+ * The average document size, or -1 if the average size is unknown
+ */
+ averageDocumentSize: number;
+ /**
+ * The estimated total data size, in bytes, or -1 if the size is unknown.
+ */
+ dataSize: number;
+ /**
+ * The estimated total number of documents, or -1 if the document count is unknown
+ */
+ documentCount: number;
+ /**
+ * The unqualified name of the database or collection
+ */
+ name: string;
+ /**
+ * The qualified name of the database or collection. For a collection, this is the
+ * database-qualified name.
+ */
+ qualifiedName: string;
+}
+
+/**
+ * Describes a supported collection within a MongoDB database
+ */
+export interface MongoDbCollectionInfo extends MongoDbObjectInfo {
+ /**
+ * The name of the database containing the collection
+ */
+ databaseName: string;
+ /**
+ * Whether the collection is a capped collection (i.e. whether it has a fixed size and acts like
+ * a circular buffer)
+ */
+ isCapped: boolean;
+ /**
+ * Whether the collection is system collection
+ */
+ isSystemCollection: boolean;
+ /**
+ * Whether the collection is a view of another collection
+ */
+ isView: boolean;
+ /**
+ * The shard key on the collection, or null if the collection is not sharded
+ */
+ shardKey?: MongoDbShardKeyInfo;
+ /**
+ * Whether the database has sharding enabled. Note that the migration task will enable sharding
+ * on the target if necessary.
+ */
+ supportsSharding: boolean;
+ /**
+ * The name of the collection that this is a view of, if IsView is true
+ */
+ viewOf?: string;
+}
+
+/**
+ * Describes a database within a MongoDB data source
+ */
+export interface MongoDbDatabaseInfo extends MongoDbObjectInfo {
+ /**
+ * A list of supported collections in a MongoDB database
+ */
+ collections: MongoDbCollectionInfo[];
+ /**
+ * Whether the database has sharding enabled. Note that the migration task will enable sharding
+ * on the target if necessary.
+ */
+ supportsSharding: boolean;
+}
+
+/**
+ * Describes a MongoDB data source
+ */
+export interface MongoDbClusterInfo {
+ /**
+ * A list of non-system databases in the cluster
+ */
+ databases: MongoDbDatabaseInfo[];
+ /**
+ * Whether the cluster supports sharded collections
+ */
+ supportsSharding: boolean;
+ /**
+ * The type of data source. Possible values include: 'BlobContainer', 'CosmosDb', 'MongoDb'
+ */
+ type: MongoDbClusterType;
+ /**
+ * The version of the data source in the form x.y.z (e.g. 3.6.7). Not used if Type is
+ * BlobContainer.
+ */
+ version: string;
+}
+
+/**
+ * Properties for the task that validates the connection to and provides information about a
+ * MongoDB server
+ */
+export interface ConnectToMongoDbTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "Connect.MongoDb";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ input?: MongoDbConnectionInfo;
+ /**
+ * An array containing a single MongoDbClusterInfo object
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: MongoDbClusterInfo[];
+}
+
+/**
+ * A task resource
+ */
+export interface ProjectTask extends Resource {
+ /**
+ * HTTP strong entity tag value. This is ignored if submitted.
+ */
+ etag?: string;
+ /**
+ * Custom task properties
+ */
+ properties?: ProjectTaskPropertiesUnion;
+}
+
+/**
+ * An Azure SKU instance
+ */
+export interface ServiceSku {
+ /**
+ * The unique name of the SKU, such as 'P3'
+ */
+ name?: string;
+ /**
+ * The tier of the SKU, such as 'Basic', 'General Purpose', or 'Business Critical'
+ */
+ tier?: string;
+ /**
+ * The SKU family, used when the service has multiple performance classes within a tier, such as
+ * 'A', 'D', etc. for virtual machines
+ */
+ family?: string;
+ /**
+ * 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
+ */
+ size?: string;
+ /**
+ * The capacity of the SKU, if it supports scaling
+ */
+ capacity?: number;
+}
+
+/**
+ * A Database Migration Service resource
+ */
+export interface DataMigrationService extends TrackedResource {
+ /**
+ * HTTP strong entity tag value. Ignored if submitted
+ */
+ etag?: string;
+ /**
+ * The resource kind. Only 'vm' (the default) is supported.
+ */
+ kind?: string;
+ /**
+ * The resource's provisioning state. Possible values include: 'Accepted', 'Deleting',
+ * 'Deploying', 'Stopped', 'Stopping', 'Starting', 'FailedToStart', 'FailedToStop', 'Succeeded',
+ * 'Failed'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly provisioningState?: ServiceProvisioningState;
+ /**
+ * The public key of the service, used to encrypt secrets sent to the service
+ */
+ publicKey?: string;
+ /**
+ * The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should
+ * be joined
+ */
+ virtualSubnetId: string;
+ /**
+ * Service SKU
+ */
+ sku?: ServiceSku;
+}
+
+/**
+ * A resource type and proposed name
+ */
+export interface NameAvailabilityRequest {
+ /**
+ * The proposed resource name
+ */
+ name?: string;
+ /**
+ * The resource type chain (e.g. virtualMachines/extensions)
+ */
+ type?: string;
+}
+
+/**
+ * Project Database Details
+ */
+export interface DatabaseInfo {
+ /**
+ * Name of the database
+ */
+ sourceDatabaseName: string;
+}
+
+/**
+ * A project resource
+ */
+export interface Project extends TrackedResource {
+ /**
+ * Source platform for the project. Possible values include: 'SQL', 'MySQL', 'PostgreSql',
+ * 'MongoDb', 'Unknown'
+ */
+ sourcePlatform: ProjectSourcePlatform;
+ /**
+ * Target platform for the project. Possible values include: 'SQLDB', 'SQLMI', 'AzureDbForMySql',
+ * 'AzureDbForPostgreSql', 'MongoDb', 'Unknown'
+ */
+ targetPlatform: ProjectTargetPlatform;
+ /**
+ * UTC Date and time when project was created
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly creationTime?: Date;
+ /**
+ * Information for connecting to source
+ */
+ sourceConnectionInfo?: ConnectionInfoUnion;
+ /**
+ * Information for connecting to target
+ */
+ targetConnectionInfo?: ConnectionInfoUnion;
+ /**
+ * List of DatabaseInfo
+ */
+ databasesInfo?: DatabaseInfo[];
+ /**
+ * The project's provisioning state. Possible values include: 'Deleting', 'Succeeded'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly provisioningState?: ProjectProvisioningState;
+}
+
+/**
+ * Error information.
+ */
+export interface ApiError {
+ /**
+ * Error information in OData format
+ */
+ error?: ODataError;
+}
+
+/**
+ * File storage information.
+ */
+export interface FileStorageInfo {
+ /**
+ * A URI that can be used to access the file content.
+ */
+ uri?: string;
+ headers?: { [propertyName: string]: string };
+}
+
+/**
+ * Localized display text
+ */
+export interface ServiceOperationDisplay {
+ /**
+ * The localized resource provider name
+ */
+ provider?: string;
+ /**
+ * The localized resource type name
+ */
+ resource?: string;
+ /**
+ * The localized operation name
+ */
+ operation?: string;
+ /**
+ * The localized operation description
+ */
+ description?: string;
+}
+
+/**
+ * Description of an action supported by the Database Migration Service
+ */
+export interface ServiceOperation {
+ /**
+ * The fully qualified action name, e.g. Microsoft.DataMigration/services/read
+ */
+ name?: string;
+ /**
+ * Localized display text
+ */
+ display?: ServiceOperationDisplay;
+}
+
+/**
+ * The name of the quota
+ */
+export interface QuotaName {
+ /**
+ * The localized name of the quota
+ */
+ localizedValue?: string;
+ /**
+ * The unlocalized name (or ID) of the quota
+ */
+ value?: string;
+}
+
+/**
+ * Describes a quota for or usage details about a resource
+ */
+export interface Quota {
+ /**
+ * The current value of the quota. If null or missing, the current value cannot be determined in
+ * the context of the request.
+ */
+ currentValue?: number;
+ /**
+ * The resource ID of the quota object
+ */
+ id?: string;
+ /**
+ * The maximum value of the quota. If null or missing, the quota has no maximum, in which case it
+ * merely tracks usage.
+ */
+ limit?: number;
+ /**
+ * The name of the quota
+ */
+ name?: QuotaName;
+ /**
+ * The unit for the quota, such as Count, Bytes, BytesPerSecond, etc.
+ */
+ unit?: string;
+}
+
+/**
+ * Indicates whether a proposed resource name is available
+ */
+export interface NameAvailabilityResponse {
+ /**
+ * If true, the name is valid and available. If false, 'reason' describes why not.
+ */
+ nameAvailable?: boolean;
+ /**
+ * The reason why the name is not available, if nameAvailable is false. Possible values include:
+ * 'AlreadyExists', 'Invalid'
+ */
+ reason?: NameCheckFailureReason;
+ /**
+ * The localized reason why the name is not available, if nameAvailable is false
+ */
+ message?: string;
+}
+
+/**
+ * SKU name, tier, etc.
+ */
+export interface AvailableServiceSkuSku {
+ /**
+ * The name of the SKU
+ */
+ name?: string;
+ /**
+ * SKU family
+ */
+ family?: string;
+ /**
+ * SKU size
+ */
+ size?: string;
+ /**
+ * The tier of the SKU, such as "Basic", "General Purpose", or "Business Critical"
+ */
+ tier?: string;
+}
+
+/**
+ * A description of the scaling capacities of the SKU
+ */
+export interface AvailableServiceSkuCapacity {
+ /**
+ * The minimum capacity, usually 0 or 1.
+ */
+ minimum?: number;
+ /**
+ * The maximum capacity
+ */
+ maximum?: number;
+ /**
+ * The default capacity
+ */
+ default?: number;
+ /**
+ * The scalability approach. Possible values include: 'none', 'manual', 'automatic'
+ */
+ scaleType?: ServiceScalability;
+}
+
+/**
+ * Describes the available service SKU.
+ */
+export interface AvailableServiceSku {
+ /**
+ * The resource type, including the provider namespace
+ */
+ resourceType?: string;
+ /**
+ * SKU name, tier, etc.
+ */
+ sku?: AvailableServiceSkuSku;
+ /**
+ * A description of the scaling capacities of the SKU
+ */
+ capacity?: AvailableServiceSkuCapacity;
+}
+
+/**
+ * Service health status
+ */
+export interface DataMigrationServiceStatusResponse {
+ /**
+ * The DMS instance agent version
+ */
+ agentVersion?: string;
+ /**
+ * The machine-readable status, such as 'Initializing', 'Offline', 'Online', 'Deploying',
+ * 'Deleting', 'Stopped', 'Stopping', 'Starting', 'FailedToStart', 'FailedToStop' or 'Failed'
+ */
+ status?: string;
+ /**
+ * The services virtual machine size, such as 'Standard_D2_v2'
+ */
+ vmSize?: string;
+ /**
+ * The list of supported task types
+ */
+ supportedTaskTypes?: string[];
+}
+
+/**
+ * Describes scaling information of a SKU.
+ */
+export interface ResourceSkuRestrictions {
+ /**
+ * The type of restrictions. Possible values include: 'location'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly type?: ResourceSkuRestrictionsType;
+ /**
+ * The value of restrictions. If the restriction type is set to location. This would be different
+ * locations where the SKU is restricted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly values?: string[];
+ /**
+ * The reason code for restriction. Possible values include: 'QuotaId',
+ * 'NotAvailableForSubscription'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly reasonCode?: ResourceSkuRestrictionsReasonCode;
+}
+
+/**
+ * Describes The SKU capabilities object.
+ */
+export interface ResourceSkuCapabilities {
+ /**
+ * An invariant to describe the feature.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+ /**
+ * An invariant if the feature is measured by quantity.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly value?: string;
+}
+
+/**
+ * Describes metadata for retrieving price info.
+ */
+export interface ResourceSkuCosts {
+ /**
+ * Used for querying price from commerce.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly meterID?: string;
+ /**
+ * The multiplier is needed to extend the base metered cost.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly quantity?: number;
+ /**
+ * An invariant to show the extended unit.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly extendedUnit?: string;
+}
+
+/**
+ * Describes scaling information of a SKU.
+ */
+export interface ResourceSkuCapacity {
+ /**
+ * The minimum capacity.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly minimum?: number;
+ /**
+ * The maximum capacity.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly maximum?: number;
+ /**
+ * The default capacity.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly default?: number;
+ /**
+ * The scale type applicable to the SKU. Possible values include: 'Automatic', 'Manual', 'None'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly scaleType?: ResourceSkuCapacityScaleType;
+}
+
+/**
+ * Describes an available DMS SKU.
+ */
+export interface ResourceSku {
+ /**
+ * The type of resource the SKU applies to.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly resourceType?: string;
+ /**
+ * The name of SKU.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+ /**
+ * Specifies the tier of DMS in a scale set.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly tier?: string;
+ /**
+ * The Size of the SKU.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly size?: string;
+ /**
+ * The Family of this particular SKU.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly family?: string;
+ /**
+ * The Kind of resources that are supported in this SKU.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly kind?: string;
+ /**
+ * Not used.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly capacity?: ResourceSkuCapacity;
+ /**
+ * The set of locations that the SKU is available.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly locations?: string[];
+ /**
+ * The api versions that support this SKU.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly apiVersions?: string[];
+ /**
+ * Metadata for retrieving price info.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly costs?: ResourceSkuCosts[];
+ /**
+ * A name value pair to describe the capability.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly capabilities?: ResourceSkuCapabilities[];
+ /**
+ * The restrictions because of which SKU cannot be used. This is empty if there are no
+ * restrictions.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly restrictions?: ResourceSkuRestrictions[];
+}
+
+/**
+ * Input for the task that validates MySQL database connection
+ */
+export interface ConnectToSourceMySqlTaskInput {
+ /**
+ * Information for connecting to MySQL source
+ */
+ sourceConnectionInfo: MySqlConnectionInfo;
+ /**
+ * Target Platform for the migration. Possible values include: 'SqlServer', 'AzureDbForMySQL'
+ */
+ targetPlatform?: MySqlTargetPlatformType;
+ /**
+ * Permission group for validations. Possible values include: 'Default',
+ * 'MigrationFromSqlServerToAzureDB', 'MigrationFromSqlServerToAzureMI',
+ * 'MigrationFromMySQLToAzureDBForMySQL'
+ */
+ checkPermissionsGroup?: ServerLevelPermissionsGroup;
+}
+
+/**
+ * Server properties for MySQL type source
+ */
+export interface ServerProperties {
+ /**
+ * Name of the server platform
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly serverPlatform?: string;
+ /**
+ * Name of the server
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly serverName?: string;
+ /**
+ * Version of the database server
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly serverVersion?: string;
+ /**
+ * Edition of the database server
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly serverEdition?: string;
+ /**
+ * Version of the operating system
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly serverOperatingSystemVersion?: string;
+ /**
+ * Number of databases in the server
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly serverDatabaseCount?: number;
+}
+
+/**
+ * Output for connect to MySQL type source
+ */
+export interface ConnectToSourceNonSqlTaskOutput {
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Server brand version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerBrandVersion?: string;
+ /**
+ * Server properties
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly serverProperties?: ServerProperties;
+ /**
+ * List of databases on the server
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databases?: string[];
+ /**
+ * Validation errors associated with the task
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly validationErrors?: ReportableException[];
+}
+
+/**
+ * Properties for the task that validates MySQL database connection
+ */
+export interface ConnectToSourceMySqlTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "ConnectToSource.MySql";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: ConnectToSourceMySqlTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: ConnectToSourceNonSqlTaskOutput[];
+}
+
+/**
+ * Settings for migrating schema from source to target
+ */
+export interface SchemaMigrationSetting {
+ /**
+ * Option on how to migrate the schema. Possible values include: 'None', 'ExtractFromSource',
+ * 'UseStorageFile'
+ */
+ schemaOption?: SchemaMigrationOption;
+ /**
+ * Resource Identifier of a file resource containing the uploaded schema file
+ */
+ fileId?: string;
+}
+
+/**
+ * Database input for migrate schema Sql Server to Azure SQL Server scenario
+ */
+export interface MigrateSchemaSqlServerSqlDbDatabaseInput {
+ /**
+ * Name of source database
+ */
+ name?: string;
+ /**
+ * Name of target database
+ */
+ targetDatabaseName?: string;
+ /**
+ * Database schema migration settings
+ */
+ schemaSetting?: SchemaMigrationSetting;
+}
+
+/**
+ * Input for task that migrates Schema for SQL Server databases to Azure SQL databases
+ */
+export interface MigrateSchemaSqlServerSqlDbTaskInput extends SqlMigrationTaskInput {
+ /**
+ * Databases to migrate
+ */
+ selectedDatabases: MigrateSchemaSqlServerSqlDbDatabaseInput[];
+}
+
+/**
+ * Contains the possible cases for MigrateSchemaSqlServerSqlDbTaskOutput.
+ */
+export type MigrateSchemaSqlServerSqlDbTaskOutputUnion = MigrateSchemaSqlServerSqlDbTaskOutput | MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel | MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel | MigrateSchemaSqlServerSqlDbTaskOutputError | MigrateSchemaSqlTaskOutputError;
+
+/**
+ * Output for the task that migrates Schema for SQL Server databases to Azure SQL databases
+ */
+export interface MigrateSchemaSqlServerSqlDbTaskOutput {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "MigrateSchemaSqlServerSqlDbTaskOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+}
+
+/**
+ * Properties for task that migrates Schema for SQL Server databases to Azure SQL databases
+ */
+export interface MigrateSchemaSqlServerSqlDbTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "MigrateSchemaSqlServerSqlDb";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ /**
+ * Task input
+ */
+ input?: MigrateSchemaSqlServerSqlDbTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: MigrateSchemaSqlServerSqlDbTaskOutputUnion[];
+}
+
+/**
+ * An interface representing MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel.
+ */
+export interface MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "MigrationLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Overall state of the schema migration. Possible values include: 'None', 'InProgress',
+ * 'Failed', 'Warning', 'Completed', 'Skipped', 'Stopped'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: MigrationState;
+ /**
+ * Migration start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Migration end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Source server version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerVersion?: string;
+ /**
+ * Source server brand version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerBrandVersion?: string;
+ /**
+ * Target server version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerVersion?: string;
+ /**
+ * Target server brand version
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerBrandVersion?: string;
+}
+
+/**
+ * An interface representing MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel.
+ */
+export interface MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "DatabaseLevelOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * The name of the database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databaseName?: string;
+ /**
+ * State of the schema migration for this database. Possible values include: 'None',
+ * 'InProgress', 'Failed', 'Warning', 'Completed', 'Skipped', 'Stopped'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: MigrationState;
+ /**
+ * Schema migration stage for this database. Possible values include: 'NotStarted',
+ * 'ValidatingInputs', 'CollectingObjects', 'DownloadingScript', 'GeneratingScript',
+ * 'UploadingScript', 'DeployingSchema', 'Completed', 'CompletedWithWarnings', 'Failed'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly stage?: SchemaMigrationStage;
+ /**
+ * Migration start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Migration end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Prefix string to use for querying errors for this database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databaseErrorResultPrefix?: string;
+ /**
+ * Prefix string to use for querying schema errors for this database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly schemaErrorResultPrefix?: string;
+ /**
+ * Number of successful operations for this database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly numberOfSuccessfulOperations?: number;
+ /**
+ * Number of failed operations for this database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly numberOfFailedOperations?: number;
+ /**
+ * Identifier for the file resource containing the schema of this database
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly fileId?: string;
+}
+
+/**
+ * An interface representing MigrateSchemaSqlServerSqlDbTaskOutputError.
+ */
+export interface MigrateSchemaSqlServerSqlDbTaskOutputError {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "SchemaErrorOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Schema command which failed
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commandText?: string;
+ /**
+ * Reason of failure
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errorText?: string;
+}
+
+/**
+ * An interface representing MigrateSchemaSqlTaskOutputError.
+ */
+export interface MigrateSchemaSqlTaskOutputError {
+ /**
+ * Polymorphic Discriminator
+ */
+ resultType: "ErrorOutput";
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Migration error
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly error?: ReportableException;
+}
+
+/**
+ * Describes the input to the 'cancel' and 'restart' MongoDB migration commands
+ */
+export interface MongoDbCommandInput {
+ /**
+ * The qualified name of a database or collection to act upon, or null to act upon the entire
+ * migration
+ */
+ objectName?: string;
+}
+
+/**
+ * Properties for the command that cancels a migration in whole or in part
+ */
+export interface MongoDbCancelCommand {
+ /**
+ * Polymorphic Discriminator
+ */
+ commandType: "cancel";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the command. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Accepted', 'Running', 'Succeeded', 'Failed'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: CommandState;
+ /**
+ * Command input
+ */
+ input?: MongoDbCommandInput;
+}
+
+/**
+ * Describes the input to the 'finish' MongoDB migration command
+ */
+export interface MongoDbFinishCommandInput extends MongoDbCommandInput {
+ /**
+ * If true, replication for the affected objects will be stopped immediately. If false, the
+ * migrator will finish replaying queued events before finishing the replication.
+ */
+ immediate: boolean;
+}
+
+/**
+ * Properties for the command that finishes a migration in whole or in part
+ */
+export interface MongoDbFinishCommand {
+ /**
+ * Polymorphic Discriminator
+ */
+ commandType: "finish";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the command. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Accepted', 'Running', 'Succeeded', 'Failed'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: CommandState;
+ /**
+ * Command input
+ */
+ input?: MongoDbFinishCommandInput;
+}
+
+/**
+ * Properties for the command that restarts a migration in whole or in part
+ */
+export interface MongoDbRestartCommand {
+ /**
+ * Polymorphic Discriminator
+ */
+ commandType: "restart";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the command. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Accepted', 'Running', 'Succeeded', 'Failed'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: CommandState;
+ /**
+ * Command input
+ */
+ input?: MongoDbCommandInput;
+}
+
+/**
+ * Information about an Oracle OCI driver.
+ */
+export interface OracleOCIDriverInfo {
+ /**
+ * The name of the driver package
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly driverName?: string;
+ /**
+ * The size in bytes of the driver package
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly driverSize?: string;
+ /**
+ * The MD5 Base64 encoded checksum for the driver package.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly archiveChecksum?: string;
+ /**
+ * The checksum for the driver package provided by Oracle.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly oracleChecksum?: string;
+ /**
+ * Version listed in the OCI assembly 'oci.dll'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly assemblyVersion?: string;
+ /**
+ * List of Oracle database versions supported by this driver. Only major minor of the version is
+ * listed.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly supportedOracleVersions?: string[];
+}
+
+/**
+ * Input for the service task to check for OCI drivers.
+ */
+export interface CheckOCIDriverTaskInput {
+ /**
+ * Version of the source server to check against. Optional.
+ */
+ serverVersion?: string;
+}
+
+/**
+ * Output for the service task to check for OCI drivers.
+ */
+export interface CheckOCIDriverTaskOutput {
+ /**
+ * Information about the installed driver if found and valid.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly installedDriver?: { [propertyName: string]: OracleOCIDriverInfo[] };
+ /**
+ * Validation errors
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly validationErrors?: ReportableException[];
+}
+
+/**
+ * Input for the service task to upload an OCI driver.
+ */
+export interface UploadOCIDriverTaskInput {
+ /**
+ * File share information for the OCI driver archive.
+ */
+ driverShare?: FileShare;
+}
+
+/**
+ * Output for the service task to upload an OCI driver.
+ */
+export interface UploadOCIDriverTaskOutput {
+ /**
+ * The name of the driver package that was validated and uploaded.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly driverPackageName?: string;
+ /**
+ * Validation errors
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly validationErrors?: ReportableException[];
+}
+
+/**
+ * Input for the service task to install an OCI driver.
+ */
+export interface InstallOCIDriverTaskInput {
+ /**
+ * Name of the uploaded driver package to install.
+ */
+ driverPackageName?: string;
+}
+
+/**
+ * Output for the service task to install an OCI driver.
+ */
+export interface InstallOCIDriverTaskOutput {
+ /**
+ * Validation errors
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly validationErrors?: ReportableException[];
+}
+
+/**
+ * Properties for the task that checks for OCI drivers.
+ */
+export interface CheckOCIDriverTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "Service.Check.OCI";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ input?: CheckOCIDriverTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: CheckOCIDriverTaskOutput[];
+}
+
+/**
+ * Properties for the task that uploads an OCI driver.
+ */
+export interface UploadOCIDriverTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "Service.Upload.OCI";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ input?: UploadOCIDriverTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: UploadOCIDriverTaskOutput[];
+}
+
+/**
+ * Properties for the task that installs an OCI driver.
+ */
+export interface InstallOCIDriverTaskProperties {
+ /**
+ * Polymorphic Discriminator
+ */
+ taskType: "Service.Install.OCI";
+ /**
+ * Array of errors. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: ODataError[];
+ /**
+ * The state of the task. This is ignored if submitted. Possible values include: 'Unknown',
+ * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly state?: TaskState;
+ /**
+ * Array of command properties.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly commands?: CommandPropertiesUnion[];
+ /**
+ * Key value pairs of client data to attach meta data information to task
+ */
+ clientData?: { [propertyName: string]: string };
+ input?: InstallOCIDriverTaskInput;
+ /**
+ * Task output. This is ignored if submitted.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly output?: InstallOCIDriverTaskOutput[];
+}
+
+/**
+ * Information about a single database
+ */
+export interface Database {
+ /**
+ * Unique identifier for the database
+ */
+ id?: string;
+ /**
+ * Name of the database
+ */
+ name?: string;
+ /**
+ * SQL Server compatibility level of database. Possible values include: 'CompatLevel80',
+ * 'CompatLevel90', 'CompatLevel100', 'CompatLevel110', 'CompatLevel120', 'CompatLevel130',
+ * 'CompatLevel140'
+ */
+ compatibilityLevel?: DatabaseCompatLevel;
+ /**
+ * Collation name of the database
+ */
+ collation?: string;
+ /**
+ * Name of the server
+ */
+ serverName?: string;
+ /**
+ * Fully qualified name
+ */
+ fqdn?: string;
+ /**
+ * Install id of the database
+ */
+ installId?: string;
+ /**
+ * Version of the server
+ */
+ serverVersion?: string;
+ /**
+ * Edition of the server
+ */
+ serverEdition?: string;
+ /**
+ * Product level of the server (RTM, SP, CTP).
+ */
+ serverLevel?: string;
+ /**
+ * Default path of the data files
+ */
+ serverDefaultDataPath?: string;
+ /**
+ * Default path of the log files
+ */
+ serverDefaultLogPath?: string;
+ /**
+ * Default path of the backup folder
+ */
+ serverDefaultBackupPath?: string;
+ /**
+ * Number of cores on the server
+ */
+ serverCoreCount?: number;
+ /**
+ * Number of cores on the server that have VISIBLE ONLINE status
+ */
+ serverVisibleOnlineCoreCount?: number;
+ /**
+ * State of the database. Possible values include: 'Online', 'Restoring', 'Recovering',
+ * 'RecoveryPending', 'Suspect', 'Emergency', 'Offline', 'Copying', 'OfflineSecondary'
+ */
+ databaseState?: DatabaseState;
+ /**
+ * The unique Server Id
+ */
+ serverId?: string;
+}
+
+/**
+ * A representation of the name of an object in a database
+ */
+export interface DatabaseObjectName {
+ /**
+ * The unescaped name of the database containing the object
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly databaseName?: string;
+ /**
+ * The unescaped name of the object
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly objectName?: string;
+ /**
+ * The unescaped name of the schema containing the object
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly schemaName?: string;
+ /**
+ * Type of the object in the database. Possible values include: 'StoredProcedures', 'Table',
+ * 'User', 'View', 'Function'
+ */
+ objectType?: ObjectType;
+}
+
+/**
+ * Metadata for tables selected in migration project
+ */
+export interface MigrationTableMetadata {
+ /**
+ * Source table name
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceTableName?: string;
+ /**
+ * Target table name
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetTableName?: string;
+}
+
+/**
+ * Common metadata for migration projects
+ */
+export interface DataMigrationProjectMetadata {
+ /**
+ * Source server name
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerName?: string;
+ /**
+ * Source server port number
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerPort?: string;
+ /**
+ * Source username
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceUsername?: string;
+ /**
+ * Target server name
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerName?: string;
+ /**
+ * Target username
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetUsername?: string;
+ /**
+ * Target database name
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetDbName?: string;
+ /**
+ * Whether target connection is Windows authentication
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetUsingWinAuth?: boolean;
+ /**
+ * List of tables selected for migration
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly selectedMigrationTables?: MigrationTableMetadata[];
+}
+
+/**
+ * Input for the task that reads configuration from project artifacts
+ */
+export interface GetProjectDetailsNonSqlTaskInput {
+ /**
+ * Name of the migration project
+ */
+ projectName: string;
+ /**
+ * A URL that points to the location to access project artifacts
+ */
+ projectLocation: string;
+}
+
+/**
+ * Defines metadata for table to be migrated
+ */
+export interface NonSqlDataMigrationTable {
+ /**
+ * Source table name
+ */
+ sourceName?: string;
+}
+
+/**
+ * Base class for non sql migration task input
+ */
+export interface NonSqlMigrationTaskInput {
+ /**
+ * Information for connecting to target
+ */
+ targetConnectionInfo: SqlConnectionInfo;
+ /**
+ * Target database name
+ */
+ targetDatabaseName: string;
+ /**
+ * Name of the migration project
+ */
+ projectName: string;
+ /**
+ * A URL that points to the drop location to access project artifacts
+ */
+ projectLocation: string;
+ /**
+ * Metadata of the tables selected for migration
+ */
+ selectedTables: NonSqlDataMigrationTable[];
+}
+
+/**
+ * Migration Task errors
+ */
+export interface DataMigrationError {
+ /**
+ * Error description
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly message?: string;
+ /**
+ * Possible values include: 'Default', 'Warning', 'Error'
+ */
+ type?: ErrorType;
+}
+
+/**
+ * Object used to report the data migration results of a table
+ */
+export interface NonSqlDataMigrationTableResult {
+ /**
+ * Result code of the data migration. Possible values include: 'Initial', 'Completed',
+ * 'ObjectNotExistsInSource', 'ObjectNotExistsInTarget', 'TargetObjectIsInaccessible',
+ * 'FatalError'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly resultCode?: DataMigrationResultCode;
+ /**
+ * Name of the source table
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceName?: string;
+ /**
+ * Name of the target table
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetName?: string;
+ /**
+ * Number of rows in the source table
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceRowCount?: number;
+ /**
+ * Number of rows in the target table
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetRowCount?: number;
+ /**
+ * Time taken to migrate the data
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly elapsedTimeInMiliseconds?: number;
+ /**
+ * List of errors, if any, during migration
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly errors?: DataMigrationError[];
+}
+
+/**
+ * Base class for non sql migration task output
+ */
+export interface NonSqlMigrationTaskOutput {
+ /**
+ * Result identifier
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * Migration start time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly startedOn?: Date;
+ /**
+ * Migration end time
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly endedOn?: Date;
+ /**
+ * Current state of migration. Possible values include: 'Default', 'Connecting',
+ * 'SourceAndTargetSelected', 'SelectLogins', 'Configured', 'Running', 'Error', 'Stopped',
+ * 'Completed', 'CompletedWithWarnings'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly status?: MigrationStatus;
+ /**
+ * Results of the migration. The key contains the table name and the value the table result
+ * object
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly dataMigrationTableResults?: { [propertyName: string]: NonSqlDataMigrationTableResult };
+ /**
+ * Message about the progress of the migration
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly progressMessage?: string;
+ /**
+ * Name of source server
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly sourceServerName?: string;
+ /**
+ * Name of target server
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly targetServerName?: string;
+}
+
+/**
+ * Database file specific information for input
+ */
+export interface DatabaseFileInput {
+ /**
+ * Unique identifier for database file
+ */
+ id?: string;
+ /**
+ * Logical name of the file
+ */
+ logicalName?: string;
+ /**
+ * Operating-system full path of the file
+ */
+ physicalFullName?: string;
+ /**
+ * Suggested full path of the file for restoring
+ */
+ restoreFullName?: string;
+ /**
+ * Database file type. Possible values include: 'Rows', 'Log', 'Filestream', 'NotSupported',
+ * 'Fulltext'
+ */
+ fileType?: DatabaseFileType;
+}
+
+/**
+ * Database specific information for SQL to SQL migration task inputs
+ */
+export interface MigrateSqlServerSqlServerDatabaseInput {
+ /**
+ * Name of the database
+ */
+ name?: string;
+ /**
+ * Name of the database at destination
+ */
+ restoreDatabaseName?: string;
+ /**
+ * The backup and restore folder
+ */
+ backupAndRestoreFolder?: string;
+ /**
+ * The list of database files
+ */
+ databaseFiles?: DatabaseFileInput[];
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface ServicesDeleteMethodOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Delete the resource even if it contains running tasks
+ */
+ deleteRunningTasks?: boolean;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface ServicesBeginDeleteMethodOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Delete the resource even if it contains running tasks
+ */
+ deleteRunningTasks?: boolean;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface TasksListOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Filter tasks by task type
+ */
+ taskType?: string;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface TasksGetOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Expand the response
+ */
+ expand?: string;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface TasksDeleteMethodOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Delete the resource even if it contains running tasks
+ */
+ deleteRunningTasks?: boolean;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface ServiceTasksListOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Filter tasks by task type
+ */
+ taskType?: string;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface ServiceTasksGetOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Expand the response
+ */
+ expand?: string;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface ServiceTasksDeleteMethodOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Delete the resource even if it contains running tasks
+ */
+ deleteRunningTasks?: boolean;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface ProjectsDeleteMethodOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * Delete the resource even if it contains running tasks
+ */
+ deleteRunningTasks?: boolean;
+}
+
+/**
+ * An interface representing DataMigrationServiceClientOptions.
+ */
+export interface DataMigrationServiceClientOptions extends AzureServiceClientOptions {
+ baseUri?: string;
+}
+
+/**
+ * @interface
+ * The DMS List SKUs operation response.
+ * @extends Array
+ */
+export interface ResourceSkusResult extends Array {
+ /**
+ * The uri to fetch the next page of DMS SKUs. Call ListNext() with this to fetch the next page
+ * of DMS SKUs.
+ */
+ nextLink?: string;
+}
+
+/**
+ * @interface
+ * OData page of available SKUs
+ * @extends Array
+ */
+export interface ServiceSkuList extends Array {
+ /**
+ * URL to load the next page of service SKUs
+ */
+ nextLink?: string;
+}
+
+/**
+ * @interface
+ * OData page of service objects
+ * @extends Array
+ */
+export interface DataMigrationServiceList extends Array {
+ /**
+ * URL to load the next page of services
+ */
+ nextLink?: string;
+}
+
+/**
+ * @interface
+ * OData page of tasks
+ * @extends Array
+ */
+export interface TaskList extends Array {
+ /**
+ * URL to load the next page of tasks
+ */
+ nextLink?: string;
+}
+
+/**
+ * @interface
+ * OData page of project resources
+ * @extends Array
+ */
+export interface ProjectList extends Array {
+ /**
+ * URL to load the next page of projects
+ */
+ nextLink?: string;
+}
+
+/**
+ * @interface
+ * OData page of quota objects
+ * @extends Array
+ */
+export interface QuotaList extends Array {
+ /**
+ * URL to load the next page of quotas, or null or missing if this is the last page
+ */
+ nextLink?: string;
+}
+
+/**
+ * @interface
+ * OData page of action (operation) objects
+ * @extends Array
+ */
+export interface ServiceOperationList extends Array {
+ /**
+ * URL to load the next page of actions
+ */
+ nextLink?: string;
+}
+
+/**
+ * @interface
+ * OData page of files
+ * @extends Array
+ */
+export interface FileList extends Array {
+ /**
+ * URL to load the next page of files
+ */
+ nextLink?: string;
+}
+
+/**
+ * Defines values for CommandState.
+ * Possible values include: 'Unknown', 'Accepted', 'Running', 'Succeeded', 'Failed'
+ * @readonly
+ * @enum {string}
+ */
+export type CommandState = 'Unknown' | 'Accepted' | 'Running' | 'Succeeded' | 'Failed';
+
+/**
+ * Defines values for SsisMigrationStage.
+ * Possible values include: 'None', 'Initialize', 'InProgress', 'Completed'
+ * @readonly
+ * @enum {string}
+ */
+export type SsisMigrationStage = 'None' | 'Initialize' | 'InProgress' | 'Completed';
+
+/**
+ * Defines values for MigrationState.
+ * Possible values include: 'None', 'InProgress', 'Failed', 'Warning', 'Completed', 'Skipped',
+ * 'Stopped'
+ * @readonly
+ * @enum {string}
+ */
+export type MigrationState = 'None' | 'InProgress' | 'Failed' | 'Warning' | 'Completed' | 'Skipped' | 'Stopped';
+
+/**
+ * Defines values for MigrationStatus.
+ * Possible values include: 'Default', 'Connecting', 'SourceAndTargetSelected', 'SelectLogins',
+ * 'Configured', 'Running', 'Error', 'Stopped', 'Completed', 'CompletedWithWarnings'
+ * @readonly
+ * @enum {string}
+ */
+export type MigrationStatus = 'Default' | 'Connecting' | 'SourceAndTargetSelected' | 'SelectLogins' | 'Configured' | 'Running' | 'Error' | 'Stopped' | 'Completed' | 'CompletedWithWarnings';
+
+/**
+ * Defines values for SsisMigrationOverwriteOption.
+ * Possible values include: 'Ignore', 'Overwrite'
+ * @readonly
+ * @enum {string}
+ */
+export type SsisMigrationOverwriteOption = 'Ignore' | 'Overwrite';
+
+/**
+ * Defines values for SsisStoreType.
+ * Possible values include: 'SsisCatalog'
+ * @readonly
+ * @enum {string}
+ */
+export type SsisStoreType = 'SsisCatalog';
+
+/**
+ * Defines values for SqlSourcePlatform.
+ * Possible values include: 'SqlOnPrem'
+ * @readonly
+ * @enum {string}
+ */
+export type SqlSourcePlatform = 'SqlOnPrem';
+
+/**
+ * Defines values for AuthenticationType.
+ * Possible values include: 'None', 'WindowsAuthentication', 'SqlAuthentication',
+ * 'ActiveDirectoryIntegrated', 'ActiveDirectoryPassword'
+ * @readonly
+ * @enum {string}
+ */
+export type AuthenticationType = 'None' | 'WindowsAuthentication' | 'SqlAuthentication' | 'ActiveDirectoryIntegrated' | 'ActiveDirectoryPassword';
+
+/**
+ * Defines values for MongoDbErrorType.
+ * Possible values include: 'Error', 'ValidationError', 'Warning'
+ * @readonly
+ * @enum {string}
+ */
+export type MongoDbErrorType = 'Error' | 'ValidationError' | 'Warning';
+
+/**
+ * Defines values for MongoDbMigrationState.
+ * Possible values include: 'NotStarted', 'ValidatingInput', 'Initializing', 'Restarting',
+ * 'Copying', 'InitialReplay', 'Replaying', 'Finalizing', 'Complete', 'Canceled', 'Failed'
+ * @readonly
+ * @enum {string}
+ */
+export type MongoDbMigrationState = 'NotStarted' | 'ValidatingInput' | 'Initializing' | 'Restarting' | 'Copying' | 'InitialReplay' | 'Replaying' | 'Finalizing' | 'Complete' | 'Canceled' | 'Failed';
+
+/**
+ * Defines values for MongoDbShardKeyOrder.
+ * Possible values include: 'Forward', 'Reverse', 'Hashed'
+ * @readonly
+ * @enum {string}
+ */
+export type MongoDbShardKeyOrder = 'Forward' | 'Reverse' | 'Hashed';
+
+/**
+ * Defines values for MongoDbReplication.
+ * Possible values include: 'Disabled', 'OneTime', 'Continuous'
+ * @readonly
+ * @enum {string}
+ */
+export type MongoDbReplication = 'Disabled' | 'OneTime' | 'Continuous';
+
+/**
+ * Defines values for BackupType.
+ * Possible values include: 'Database', 'TransactionLog', 'File', 'DifferentialDatabase',
+ * 'DifferentialFile', 'Partial', 'DifferentialPartial'
+ * @readonly
+ * @enum {string}
+ */
+export type BackupType = 'Database' | 'TransactionLog' | 'File' | 'DifferentialDatabase' | 'DifferentialFile' | 'Partial' | 'DifferentialPartial';
+
+/**
+ * Defines values for BackupMode.
+ * Possible values include: 'CreateBackup', 'ExistingBackup'
+ * @readonly
+ * @enum {string}
+ */
+export type BackupMode = 'CreateBackup' | 'ExistingBackup';
+
+/**
+ * Defines values for SyncTableMigrationState.
+ * Possible values include: 'BEFORE_LOAD', 'FULL_LOAD', 'COMPLETED', 'CANCELED', 'ERROR', 'FAILED'
+ * @readonly
+ * @enum {string}
+ */
+export type SyncTableMigrationState = 'BEFORE_LOAD' | 'FULL_LOAD' | 'COMPLETED' | 'CANCELED' | 'ERROR' | 'FAILED';
+
+/**
+ * Defines values for SyncDatabaseMigrationReportingState.
+ * Possible values include: 'UNDEFINED', 'CONFIGURING', 'INITIALIAZING', 'STARTING', 'RUNNING',
+ * 'READY_TO_COMPLETE', 'COMPLETING', 'COMPLETE', 'CANCELLING', 'CANCELLED', 'FAILED'
+ * @readonly
+ * @enum {string}
+ */
+export type SyncDatabaseMigrationReportingState = 'UNDEFINED' | 'CONFIGURING' | 'INITIALIAZING' | 'STARTING' | 'RUNNING' | 'READY_TO_COMPLETE' | 'COMPLETING' | 'COMPLETE' | 'CANCELLING' | 'CANCELLED' | 'FAILED';
+
+/**
+ * Defines values for ValidationStatus.
+ * Possible values include: 'Default', 'NotStarted', 'Initialized', 'InProgress', 'Completed',
+ * 'CompletedWithIssues', 'Stopped', 'Failed'
+ * @readonly
+ * @enum {string}
+ */
+export type ValidationStatus = 'Default' | 'NotStarted' | 'Initialized' | 'InProgress' | 'Completed' | 'CompletedWithIssues' | 'Stopped' | 'Failed';
+
+/**
+ * Defines values for Severity.
+ * Possible values include: 'Message', 'Warning', 'Error'
+ * @readonly
+ * @enum {string}
+ */
+export type Severity = 'Message' | 'Warning' | 'Error';
+
+/**
+ * Defines values for UpdateActionType.
+ * Possible values include: 'DeletedOnTarget', 'ChangedOnTarget', 'AddedOnTarget'
+ * @readonly
+ * @enum {string}
+ */
+export type UpdateActionType = 'DeletedOnTarget' | 'ChangedOnTarget' | 'AddedOnTarget';
+
+/**
+ * Defines values for ObjectType.
+ * Possible values include: 'StoredProcedures', 'Table', 'User', 'View', 'Function'
+ * @readonly
+ * @enum {string}
+ */
+export type ObjectType = 'StoredProcedures' | 'Table' | 'User' | 'View' | 'Function';
+
+/**
+ * Defines values for DatabaseMigrationStage.
+ * Possible values include: 'None', 'Initialize', 'Backup', 'FileCopy', 'Restore', 'Completed'
+ * @readonly
+ * @enum {string}
+ */
+export type DatabaseMigrationStage = 'None' | 'Initialize' | 'Backup' | 'FileCopy' | 'Restore' | 'Completed';
+
+/**
+ * Defines values for BackupFileStatus.
+ * Possible values include: 'Arrived', 'Queued', 'Uploading', 'Uploaded', 'Restoring', 'Restored',
+ * 'Cancelled'
+ * @readonly
+ * @enum {string}
+ */
+export type BackupFileStatus = 'Arrived' | 'Queued' | 'Uploading' | 'Uploaded' | 'Restoring' | 'Restored' | 'Cancelled';
+
+/**
+ * Defines values for DatabaseMigrationState.
+ * Possible values include: 'UNDEFINED', 'INITIAL', 'FULL_BACKUP_UPLOAD_START',
+ * 'LOG_SHIPPING_START', 'UPLOAD_LOG_FILES_START', 'CUTOVER_START', 'POST_CUTOVER_COMPLETE',
+ * 'COMPLETED', 'CANCELLED', 'FAILED'
+ * @readonly
+ * @enum {string}
+ */
+export type DatabaseMigrationState = 'UNDEFINED' | 'INITIAL' | 'FULL_BACKUP_UPLOAD_START' | 'LOG_SHIPPING_START' | 'UPLOAD_LOG_FILES_START' | 'CUTOVER_START' | 'POST_CUTOVER_COMPLETE' | 'COMPLETED' | 'CANCELLED' | 'FAILED';
+
+/**
+ * Defines values for LoginMigrationStage.
+ * Possible values include: 'None', 'Initialize', 'LoginMigration', 'EstablishUserMapping',
+ * 'AssignRoleMembership', 'AssignRoleOwnership', 'EstablishServerPermissions',
+ * 'EstablishObjectPermissions', 'Completed'
+ * @readonly
+ * @enum {string}
+ */
+export type LoginMigrationStage = 'None' | 'Initialize' | 'LoginMigration' | 'EstablishUserMapping' | 'AssignRoleMembership' | 'AssignRoleOwnership' | 'EstablishServerPermissions' | 'EstablishObjectPermissions' | 'Completed';
+
+/**
+ * Defines values for LoginType.
+ * Possible values include: 'WindowsUser', 'WindowsGroup', 'SqlLogin', 'Certificate',
+ * 'AsymmetricKey', 'ExternalUser', 'ExternalGroup'
+ * @readonly
+ * @enum {string}
+ */
+export type LoginType = 'WindowsUser' | 'WindowsGroup' | 'SqlLogin' | 'Certificate' | 'AsymmetricKey' | 'ExternalUser' | 'ExternalGroup';
+
+/**
+ * Defines values for DatabaseState.
+ * Possible values include: 'Online', 'Restoring', 'Recovering', 'RecoveryPending', 'Suspect',
+ * 'Emergency', 'Offline', 'Copying', 'OfflineSecondary'
+ * @readonly
+ * @enum {string}
+ */
+export type DatabaseState = 'Online' | 'Restoring' | 'Recovering' | 'RecoveryPending' | 'Suspect' | 'Emergency' | 'Offline' | 'Copying' | 'OfflineSecondary';
+
+/**
+ * Defines values for DatabaseCompatLevel.
+ * Possible values include: 'CompatLevel80', 'CompatLevel90', 'CompatLevel100', 'CompatLevel110',
+ * 'CompatLevel120', 'CompatLevel130', 'CompatLevel140'
+ * @readonly
+ * @enum {string}
+ */
+export type DatabaseCompatLevel = 'CompatLevel80' | 'CompatLevel90' | 'CompatLevel100' | 'CompatLevel110' | 'CompatLevel120' | 'CompatLevel130' | 'CompatLevel140';
+
+/**
+ * Defines values for DatabaseFileType.
+ * Possible values include: 'Rows', 'Log', 'Filestream', 'NotSupported', 'Fulltext'
+ * @readonly
+ * @enum {string}
+ */
+export type DatabaseFileType = 'Rows' | 'Log' | 'Filestream' | 'NotSupported' | 'Fulltext';
+
+/**
+ * Defines values for ServerLevelPermissionsGroup.
+ * Possible values include: 'Default', 'MigrationFromSqlServerToAzureDB',
+ * 'MigrationFromSqlServerToAzureMI', 'MigrationFromMySQLToAzureDBForMySQL'
+ * @readonly
+ * @enum {string}
+ */
+export type ServerLevelPermissionsGroup = 'Default' | 'MigrationFromSqlServerToAzureDB' | 'MigrationFromSqlServerToAzureMI' | 'MigrationFromMySQLToAzureDBForMySQL';
+
+/**
+ * Defines values for MongoDbClusterType.
+ * Possible values include: 'BlobContainer', 'CosmosDb', 'MongoDb'
+ * @readonly
+ * @enum {string}
+ */
+export type MongoDbClusterType = 'BlobContainer' | 'CosmosDb' | 'MongoDb';
+
+/**
+ * Defines values for TaskState.
+ * Possible values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed',
+ * 'FailedInputValidation', 'Faulted'
+ * @readonly
+ * @enum {string}
+ */
+export type TaskState = 'Unknown' | 'Queued' | 'Running' | 'Canceled' | 'Succeeded' | 'Failed' | 'FailedInputValidation' | 'Faulted';
+
+/**
+ * Defines values for ServiceProvisioningState.
+ * Possible values include: 'Accepted', 'Deleting', 'Deploying', 'Stopped', 'Stopping', 'Starting',
+ * 'FailedToStart', 'FailedToStop', 'Succeeded', 'Failed'
+ * @readonly
+ * @enum {string}
+ */
+export type ServiceProvisioningState = 'Accepted' | 'Deleting' | 'Deploying' | 'Stopped' | 'Stopping' | 'Starting' | 'FailedToStart' | 'FailedToStop' | 'Succeeded' | 'Failed';
+
+/**
+ * Defines values for ProjectTargetPlatform.
+ * Possible values include: 'SQLDB', 'SQLMI', 'AzureDbForMySql', 'AzureDbForPostgreSql', 'MongoDb',
+ * 'Unknown'
+ * @readonly
+ * @enum {string}
+ */
+export type ProjectTargetPlatform = 'SQLDB' | 'SQLMI' | 'AzureDbForMySql' | 'AzureDbForPostgreSql' | 'MongoDb' | 'Unknown';
+
+/**
+ * Defines values for ProjectSourcePlatform.
+ * Possible values include: 'SQL', 'MySQL', 'PostgreSql', 'MongoDb', 'Unknown'
+ * @readonly
+ * @enum {string}
+ */
+export type ProjectSourcePlatform = 'SQL' | 'MySQL' | 'PostgreSql' | 'MongoDb' | 'Unknown';
+
+/**
+ * Defines values for ProjectProvisioningState.
+ * Possible values include: 'Deleting', 'Succeeded'
+ * @readonly
+ * @enum {string}
+ */
+export type ProjectProvisioningState = 'Deleting' | 'Succeeded';
+
+/**
+ * Defines values for NameCheckFailureReason.
+ * Possible values include: 'AlreadyExists', 'Invalid'
+ * @readonly
+ * @enum {string}
+ */
+export type NameCheckFailureReason = 'AlreadyExists' | 'Invalid';
+
+/**
+ * Defines values for ServiceScalability.
+ * Possible values include: 'none', 'manual', 'automatic'
+ * @readonly
+ * @enum {string}
+ */
+export type ServiceScalability = 'none' | 'manual' | 'automatic';
+
+/**
+ * Defines values for ResourceSkuRestrictionsType.
+ * Possible values include: 'location'
+ * @readonly
+ * @enum {string}
+ */
+export type ResourceSkuRestrictionsType = 'location';
+
+/**
+ * Defines values for ResourceSkuRestrictionsReasonCode.
+ * Possible values include: 'QuotaId', 'NotAvailableForSubscription'
+ * @readonly
+ * @enum {string}
+ */
+export type ResourceSkuRestrictionsReasonCode = 'QuotaId' | 'NotAvailableForSubscription';
+
+/**
+ * Defines values for ResourceSkuCapacityScaleType.
+ * Possible values include: 'Automatic', 'Manual', 'None'
+ * @readonly
+ * @enum {string}
+ */
+export type ResourceSkuCapacityScaleType = 'Automatic' | 'Manual' | 'None';
+
+/**
+ * Defines values for MySqlTargetPlatformType.
+ * Possible values include: 'SqlServer', 'AzureDbForMySQL'
+ * @readonly
+ * @enum {string}
+ */
+export type MySqlTargetPlatformType = 'SqlServer' | 'AzureDbForMySQL';
+
+/**
+ * Defines values for SchemaMigrationOption.
+ * Possible values include: 'None', 'ExtractFromSource', 'UseStorageFile'
+ * @readonly
+ * @enum {string}
+ */
+export type SchemaMigrationOption = 'None' | 'ExtractFromSource' | 'UseStorageFile';
+
+/**
+ * Defines values for SchemaMigrationStage.
+ * Possible values include: 'NotStarted', 'ValidatingInputs', 'CollectingObjects',
+ * 'DownloadingScript', 'GeneratingScript', 'UploadingScript', 'DeployingSchema', 'Completed',
+ * 'CompletedWithWarnings', 'Failed'
+ * @readonly
+ * @enum {string}
+ */
+export type SchemaMigrationStage = 'NotStarted' | 'ValidatingInputs' | 'CollectingObjects' | 'DownloadingScript' | 'GeneratingScript' | 'UploadingScript' | 'DeployingSchema' | 'Completed' | 'CompletedWithWarnings' | 'Failed';
+
+/**
+ * Defines values for DataMigrationResultCode.
+ * Possible values include: 'Initial', 'Completed', 'ObjectNotExistsInSource',
+ * 'ObjectNotExistsInTarget', 'TargetObjectIsInaccessible', 'FatalError'
+ * @readonly
+ * @enum {string}
+ */
+export type DataMigrationResultCode = 'Initial' | 'Completed' | 'ObjectNotExistsInSource' | 'ObjectNotExistsInTarget' | 'TargetObjectIsInaccessible' | 'FatalError';
+
+/**
+ * Defines values for ErrorType.
+ * Possible values include: 'Default', 'Warning', 'Error'
+ * @readonly
+ * @enum {string}
+ */
+export type ErrorType = 'Default' | 'Warning' | 'Error';
+
+/**
+ * Defines values for ResultType.
+ * Possible values include: 'Migration', 'Database', 'Collection'
+ * @readonly
+ * @enum {string}
+ */
+export type ResultType = 'Migration' | 'Database' | 'Collection';
+
+/**
+ * Contains response data for the listSkus operation.
+ */
+export type ResourceSkusListSkusResponse = ResourceSkusResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ResourceSkusResult;
+ };
+};
+
+/**
+ * Contains response data for the listSkusNext operation.
+ */
+export type ResourceSkusListSkusNextResponse = ResourceSkusResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ResourceSkusResult;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type ServicesCreateOrUpdateResponse = DataMigrationService & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: DataMigrationService;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type ServicesGetResponse = DataMigrationService & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: DataMigrationService;
+ };
+};
+
+/**
+ * Contains response data for the update operation.
+ */
+export type ServicesUpdateResponse = DataMigrationService & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: DataMigrationService;
+ };
+};
+
+/**
+ * Contains response data for the checkStatus operation.
+ */
+export type ServicesCheckStatusResponse = DataMigrationServiceStatusResponse & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: DataMigrationServiceStatusResponse;
+ };
+};
+
+/**
+ * Contains response data for the listSkus operation.
+ */
+export type ServicesListSkusResponse = ServiceSkuList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ServiceSkuList;
+ };
+};
+
+/**
+ * Contains response data for the checkChildrenNameAvailability operation.
+ */
+export type ServicesCheckChildrenNameAvailabilityResponse = NameAvailabilityResponse & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: NameAvailabilityResponse;
+ };
+};
+
+/**
+ * Contains response data for the listByResourceGroup operation.
+ */
+export type ServicesListByResourceGroupResponse = DataMigrationServiceList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: DataMigrationServiceList;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type ServicesListResponse = DataMigrationServiceList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: DataMigrationServiceList;
+ };
+};
+
+/**
+ * Contains response data for the checkNameAvailability operation.
+ */
+export type ServicesCheckNameAvailabilityResponse = NameAvailabilityResponse & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: NameAvailabilityResponse;
+ };
+};
+
+/**
+ * Contains response data for the beginCreateOrUpdate operation.
+ */
+export type ServicesBeginCreateOrUpdateResponse = DataMigrationService & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: DataMigrationService;
+ };
+};
+
+/**
+ * Contains response data for the beginUpdate operation.
+ */
+export type ServicesBeginUpdateResponse = DataMigrationService & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: DataMigrationService;
+ };
+};
+
+/**
+ * Contains response data for the listSkusNext operation.
+ */
+export type ServicesListSkusNextResponse = ServiceSkuList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ServiceSkuList;
+ };
+};
+
+/**
+ * Contains response data for the listByResourceGroupNext operation.
+ */
+export type ServicesListByResourceGroupNextResponse = DataMigrationServiceList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: DataMigrationServiceList;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type ServicesListNextResponse = DataMigrationServiceList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: DataMigrationServiceList;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type TasksListResponse = TaskList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: TaskList;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type TasksCreateOrUpdateResponse = ProjectTask & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ProjectTask;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type TasksGetResponse = ProjectTask & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ProjectTask;
+ };
+};
+
+/**
+ * Contains response data for the update operation.
+ */
+export type TasksUpdateResponse = ProjectTask & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ProjectTask;
+ };
+};
+
+/**
+ * Contains response data for the cancel operation.
+ */
+export type TasksCancelResponse = ProjectTask & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ProjectTask;
+ };
+};
+
+/**
+ * Contains response data for the command operation.
+ */
+export type TasksCommandResponse = CommandPropertiesUnion & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: CommandPropertiesUnion;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type TasksListNextResponse = TaskList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: TaskList;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type ServiceTasksListResponse = TaskList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: TaskList;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type ServiceTasksCreateOrUpdateResponse = ProjectTask & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ProjectTask;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type ServiceTasksGetResponse = ProjectTask & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ProjectTask;
+ };
+};
+
+/**
+ * Contains response data for the update operation.
+ */
+export type ServiceTasksUpdateResponse = ProjectTask & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ProjectTask;
+ };
+};
+
+/**
+ * Contains response data for the cancel operation.
+ */
+export type ServiceTasksCancelResponse = ProjectTask & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ProjectTask;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type ServiceTasksListNextResponse = TaskList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: TaskList;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type ProjectsListResponse = ProjectList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ProjectList;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type ProjectsCreateOrUpdateResponse = Project & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: Project;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type ProjectsGetResponse = Project & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: Project;
+ };
+};
+
+/**
+ * Contains response data for the update operation.
+ */
+export type ProjectsUpdateResponse = Project & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: Project;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type ProjectsListNextResponse = ProjectList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ProjectList;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type UsagesListResponse = QuotaList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: QuotaList;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type UsagesListNextResponse = QuotaList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: QuotaList;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type OperationsListResponse = ServiceOperationList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ServiceOperationList;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type OperationsListNextResponse = ServiceOperationList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ServiceOperationList;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type FilesListResponse = FileList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: FileList;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type FilesGetResponse = ProjectFile & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ProjectFile;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type FilesCreateOrUpdateResponse = ProjectFile & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ProjectFile;
+ };
+};
+
+/**
+ * Contains response data for the update operation.
+ */
+export type FilesUpdateResponse = ProjectFile & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ProjectFile;
+ };
+};
+
+/**
+ * Contains response data for the read operation.
+ */
+export type FilesReadResponse = FileStorageInfo & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: FileStorageInfo;
+ };
+};
+
+/**
+ * Contains response data for the readWrite operation.
+ */
+export type FilesReadWriteResponse = FileStorageInfo & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: FileStorageInfo;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type FilesListNextResponse = FileList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: FileList;
+ };
+};
diff --git a/sdk/datamigration/arm-datamigration/src/models/mappers.ts b/sdk/datamigration/arm-datamigration/src/models/mappers.ts
new file mode 100644
index 000000000000..9b7fcfbb3c55
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/src/models/mappers.ts
@@ -0,0 +1,11162 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+import { CloudErrorMapper, BaseResourceMapper } from "@azure/ms-rest-azure-js";
+import * as msRest from "@azure/ms-rest-js";
+
+export const CloudError = CloudErrorMapper;
+export const BaseResource = BaseResourceMapper;
+
+export const Resource: msRest.CompositeMapper = {
+ serializedName: "Resource",
+ type: {
+ name: "Composite",
+ className: "Resource",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ readOnly: true,
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const TrackedResource: msRest.CompositeMapper = {
+ serializedName: "TrackedResource",
+ type: {
+ name: "Composite",
+ className: "TrackedResource",
+ modelProperties: {
+ ...Resource.type.modelProperties,
+ tags: {
+ serializedName: "tags",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ location: {
+ required: true,
+ serializedName: "location",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ProjectFileProperties: msRest.CompositeMapper = {
+ serializedName: "ProjectFileProperties",
+ type: {
+ name: "Composite",
+ className: "ProjectFileProperties",
+ modelProperties: {
+ extension: {
+ serializedName: "extension",
+ type: {
+ name: "String"
+ }
+ },
+ filePath: {
+ serializedName: "filePath",
+ type: {
+ name: "String"
+ }
+ },
+ lastModified: {
+ readOnly: true,
+ serializedName: "lastModified",
+ type: {
+ name: "DateTime"
+ }
+ },
+ mediaType: {
+ serializedName: "mediaType",
+ type: {
+ name: "String"
+ }
+ },
+ size: {
+ readOnly: true,
+ serializedName: "size",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const ProjectFile: msRest.CompositeMapper = {
+ serializedName: "ProjectFile",
+ type: {
+ name: "Composite",
+ className: "ProjectFile",
+ modelProperties: {
+ ...Resource.type.modelProperties,
+ etag: {
+ serializedName: "etag",
+ type: {
+ name: "String"
+ }
+ },
+ properties: {
+ serializedName: "properties",
+ type: {
+ name: "Composite",
+ className: "ProjectFileProperties"
+ }
+ }
+ }
+ }
+};
+
+export const ODataError: msRest.CompositeMapper = {
+ serializedName: "ODataError",
+ type: {
+ name: "Composite",
+ className: "ODataError",
+ modelProperties: {
+ code: {
+ serializedName: "code",
+ type: {
+ name: "String"
+ }
+ },
+ message: {
+ serializedName: "message",
+ type: {
+ name: "String"
+ }
+ },
+ details: {
+ serializedName: "details",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ODataError"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ReportableException: msRest.CompositeMapper = {
+ serializedName: "ReportableException",
+ type: {
+ name: "Composite",
+ className: "ReportableException",
+ modelProperties: {
+ message: {
+ serializedName: "message",
+ type: {
+ name: "String"
+ }
+ },
+ actionableMessage: {
+ serializedName: "actionableMessage",
+ type: {
+ name: "String"
+ }
+ },
+ filePath: {
+ serializedName: "filePath",
+ type: {
+ name: "String"
+ }
+ },
+ lineNumber: {
+ serializedName: "lineNumber",
+ type: {
+ name: "String"
+ }
+ },
+ hResult: {
+ serializedName: "hResult",
+ type: {
+ name: "Number"
+ }
+ },
+ stackTrace: {
+ serializedName: "stackTrace",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateMISyncCompleteCommandOutput: msRest.CompositeMapper = {
+ serializedName: "MigrateMISyncCompleteCommandOutput",
+ type: {
+ name: "Composite",
+ className: "MigrateMISyncCompleteCommandOutput",
+ modelProperties: {
+ errors: {
+ serializedName: "errors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateMISyncCompleteCommandInput: msRest.CompositeMapper = {
+ serializedName: "MigrateMISyncCompleteCommandInput",
+ type: {
+ name: "Composite",
+ className: "MigrateMISyncCompleteCommandInput",
+ modelProperties: {
+ sourceDatabaseName: {
+ required: true,
+ serializedName: "sourceDatabaseName",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const CommandProperties: msRest.CompositeMapper = {
+ serializedName: "Unknown",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "commandType",
+ clientName: "commandType"
+ },
+ uberParent: "CommandProperties",
+ className: "CommandProperties",
+ modelProperties: {
+ errors: {
+ readOnly: true,
+ serializedName: "errors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ODataError"
+ }
+ }
+ }
+ },
+ state: {
+ readOnly: true,
+ serializedName: "state",
+ type: {
+ name: "String"
+ }
+ },
+ commandType: {
+ required: true,
+ serializedName: "commandType",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateMISyncCompleteCommandProperties: msRest.CompositeMapper = {
+ serializedName: "Migrate.SqlServer.AzureDbSqlMi.Complete",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: CommandProperties.type.polymorphicDiscriminator,
+ uberParent: "CommandProperties",
+ className: "MigrateMISyncCompleteCommandProperties",
+ modelProperties: {
+ ...CommandProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "MigrateMISyncCompleteCommandInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Composite",
+ className: "MigrateMISyncCompleteCommandOutput"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSyncCompleteCommandOutput: msRest.CompositeMapper = {
+ serializedName: "MigrateSyncCompleteCommandOutput",
+ type: {
+ name: "Composite",
+ className: "MigrateSyncCompleteCommandOutput",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ errors: {
+ readOnly: true,
+ serializedName: "errors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSyncCompleteCommandInput: msRest.CompositeMapper = {
+ serializedName: "MigrateSyncCompleteCommandInput",
+ type: {
+ name: "Composite",
+ className: "MigrateSyncCompleteCommandInput",
+ modelProperties: {
+ databaseName: {
+ required: true,
+ serializedName: "databaseName",
+ type: {
+ name: "String"
+ }
+ },
+ commitTimeStamp: {
+ serializedName: "commitTimeStamp",
+ type: {
+ name: "DateTime"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSyncCompleteCommandProperties: msRest.CompositeMapper = {
+ serializedName: "Migrate.Sync.Complete.Database",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: CommandProperties.type.polymorphicDiscriminator,
+ uberParent: "CommandProperties",
+ className: "MigrateSyncCompleteCommandProperties",
+ modelProperties: {
+ ...CommandProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "MigrateSyncCompleteCommandInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Composite",
+ className: "MigrateSyncCompleteCommandOutput"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSsisTaskOutput: msRest.CompositeMapper = {
+ serializedName: "MigrateSsisTaskOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "resultType",
+ clientName: "resultType"
+ },
+ uberParent: "MigrateSsisTaskOutput",
+ className: "MigrateSsisTaskOutput",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ resultType: {
+ required: true,
+ serializedName: "resultType",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSsisTaskOutputProjectLevel: msRest.CompositeMapper = {
+ serializedName: "SsisProjectLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateSsisTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateSsisTaskOutput",
+ className: "MigrateSsisTaskOutputProjectLevel",
+ modelProperties: {
+ ...MigrateSsisTaskOutput.type.modelProperties,
+ folderName: {
+ readOnly: true,
+ serializedName: "folderName",
+ type: {
+ name: "String"
+ }
+ },
+ projectName: {
+ readOnly: true,
+ serializedName: "projectName",
+ type: {
+ name: "String"
+ }
+ },
+ state: {
+ readOnly: true,
+ serializedName: "state",
+ type: {
+ name: "String"
+ }
+ },
+ stage: {
+ readOnly: true,
+ serializedName: "stage",
+ type: {
+ name: "String"
+ }
+ },
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ message: {
+ readOnly: true,
+ serializedName: "message",
+ type: {
+ name: "String"
+ }
+ },
+ exceptionsAndWarnings: {
+ readOnly: true,
+ serializedName: "exceptionsAndWarnings",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSsisTaskOutputMigrationLevel: msRest.CompositeMapper = {
+ serializedName: "MigrationLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateSsisTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateSsisTaskOutput",
+ className: "MigrateSsisTaskOutputMigrationLevel",
+ modelProperties: {
+ ...MigrateSsisTaskOutput.type.modelProperties,
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ status: {
+ readOnly: true,
+ serializedName: "status",
+ type: {
+ name: "String"
+ }
+ },
+ message: {
+ readOnly: true,
+ serializedName: "message",
+ type: {
+ name: "String"
+ }
+ },
+ sourceServerVersion: {
+ readOnly: true,
+ serializedName: "sourceServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ sourceServerBrandVersion: {
+ readOnly: true,
+ serializedName: "sourceServerBrandVersion",
+ type: {
+ name: "String"
+ }
+ },
+ targetServerVersion: {
+ readOnly: true,
+ serializedName: "targetServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ targetServerBrandVersion: {
+ readOnly: true,
+ serializedName: "targetServerBrandVersion",
+ type: {
+ name: "String"
+ }
+ },
+ exceptionsAndWarnings: {
+ readOnly: true,
+ serializedName: "exceptionsAndWarnings",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ },
+ stage: {
+ readOnly: true,
+ serializedName: "stage",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const SsisMigrationInfo: msRest.CompositeMapper = {
+ serializedName: "SsisMigrationInfo",
+ type: {
+ name: "Composite",
+ className: "SsisMigrationInfo",
+ modelProperties: {
+ ssisStoreType: {
+ serializedName: "ssisStoreType",
+ type: {
+ name: "String"
+ }
+ },
+ projectOverwriteOption: {
+ serializedName: "projectOverwriteOption",
+ type: {
+ name: "String"
+ }
+ },
+ environmentOverwriteOption: {
+ serializedName: "environmentOverwriteOption",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ConnectionInfo: msRest.CompositeMapper = {
+ serializedName: "Unknown",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "type",
+ clientName: "type"
+ },
+ uberParent: "ConnectionInfo",
+ className: "ConnectionInfo",
+ modelProperties: {
+ userName: {
+ serializedName: "userName",
+ type: {
+ name: "String"
+ }
+ },
+ password: {
+ serializedName: "password",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ required: true,
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MiSqlConnectionInfo: msRest.CompositeMapper = {
+ serializedName: "MiSqlConnectionInfo",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ConnectionInfo.type.polymorphicDiscriminator,
+ uberParent: "ConnectionInfo",
+ className: "MiSqlConnectionInfo",
+ modelProperties: {
+ ...ConnectionInfo.type.modelProperties,
+ managedInstanceResourceId: {
+ required: true,
+ serializedName: "managedInstanceResourceId",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const PostgreSqlConnectionInfo: msRest.CompositeMapper = {
+ serializedName: "PostgreSqlConnectionInfo",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ConnectionInfo.type.polymorphicDiscriminator,
+ uberParent: "ConnectionInfo",
+ className: "PostgreSqlConnectionInfo",
+ modelProperties: {
+ ...ConnectionInfo.type.modelProperties,
+ serverName: {
+ required: true,
+ serializedName: "serverName",
+ type: {
+ name: "String"
+ }
+ },
+ databaseName: {
+ serializedName: "databaseName",
+ type: {
+ name: "String"
+ }
+ },
+ port: {
+ required: true,
+ serializedName: "port",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const OracleConnectionInfo: msRest.CompositeMapper = {
+ serializedName: "OracleConnectionInfo",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ConnectionInfo.type.polymorphicDiscriminator,
+ uberParent: "ConnectionInfo",
+ className: "OracleConnectionInfo",
+ modelProperties: {
+ ...ConnectionInfo.type.modelProperties,
+ dataSource: {
+ required: true,
+ serializedName: "dataSource",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MySqlConnectionInfo: msRest.CompositeMapper = {
+ serializedName: "MySqlConnectionInfo",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ConnectionInfo.type.polymorphicDiscriminator,
+ uberParent: "ConnectionInfo",
+ className: "MySqlConnectionInfo",
+ modelProperties: {
+ ...ConnectionInfo.type.modelProperties,
+ serverName: {
+ required: true,
+ serializedName: "serverName",
+ type: {
+ name: "String"
+ }
+ },
+ port: {
+ required: true,
+ serializedName: "port",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const MongoDbConnectionInfo: msRest.CompositeMapper = {
+ serializedName: "MongoDbConnectionInfo",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ConnectionInfo.type.polymorphicDiscriminator,
+ uberParent: "ConnectionInfo",
+ className: "MongoDbConnectionInfo",
+ modelProperties: {
+ ...ConnectionInfo.type.modelProperties,
+ connectionString: {
+ required: true,
+ serializedName: "connectionString",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const SqlConnectionInfo: msRest.CompositeMapper = {
+ serializedName: "SqlConnectionInfo",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ConnectionInfo.type.polymorphicDiscriminator,
+ uberParent: "ConnectionInfo",
+ className: "SqlConnectionInfo",
+ modelProperties: {
+ ...ConnectionInfo.type.modelProperties,
+ dataSource: {
+ required: true,
+ serializedName: "dataSource",
+ type: {
+ name: "String"
+ }
+ },
+ authentication: {
+ serializedName: "authentication",
+ type: {
+ name: "String"
+ }
+ },
+ encryptConnection: {
+ serializedName: "encryptConnection",
+ defaultValue: true,
+ type: {
+ name: "Boolean"
+ }
+ },
+ additionalSettings: {
+ serializedName: "additionalSettings",
+ type: {
+ name: "String"
+ }
+ },
+ trustServerCertificate: {
+ serializedName: "trustServerCertificate",
+ defaultValue: false,
+ type: {
+ name: "Boolean"
+ }
+ },
+ platform: {
+ serializedName: "platform",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const SqlMigrationTaskInput: msRest.CompositeMapper = {
+ serializedName: "SqlMigrationTaskInput",
+ type: {
+ name: "Composite",
+ className: "SqlMigrationTaskInput",
+ modelProperties: {
+ sourceConnectionInfo: {
+ required: true,
+ serializedName: "sourceConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "SqlConnectionInfo"
+ }
+ },
+ targetConnectionInfo: {
+ required: true,
+ serializedName: "targetConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "SqlConnectionInfo"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSsisTaskInput: msRest.CompositeMapper = {
+ serializedName: "MigrateSsisTaskInput",
+ type: {
+ name: "Composite",
+ className: "MigrateSsisTaskInput",
+ modelProperties: {
+ ...SqlMigrationTaskInput.type.modelProperties,
+ ssisMigrationInfo: {
+ required: true,
+ serializedName: "ssisMigrationInfo",
+ type: {
+ name: "Composite",
+ className: "SsisMigrationInfo"
+ }
+ }
+ }
+ }
+};
+
+export const ProjectTaskProperties: msRest.CompositeMapper = {
+ serializedName: "Unknown",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "taskType",
+ clientName: "taskType"
+ },
+ uberParent: "ProjectTaskProperties",
+ className: "ProjectTaskProperties",
+ modelProperties: {
+ errors: {
+ readOnly: true,
+ serializedName: "errors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ODataError"
+ }
+ }
+ }
+ },
+ state: {
+ readOnly: true,
+ serializedName: "state",
+ type: {
+ name: "String"
+ }
+ },
+ commands: {
+ readOnly: true,
+ serializedName: "commands",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "CommandProperties"
+ }
+ }
+ }
+ },
+ clientData: {
+ serializedName: "clientData",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ taskType: {
+ required: true,
+ serializedName: "taskType",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSsisTaskProperties: msRest.CompositeMapper = {
+ serializedName: "Migrate.Ssis",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "MigrateSsisTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "MigrateSsisTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MigrateSsisTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const GetTdeCertificatesSqlTaskOutput: msRest.CompositeMapper = {
+ serializedName: "GetTdeCertificatesSqlTaskOutput",
+ type: {
+ name: "Composite",
+ className: "GetTdeCertificatesSqlTaskOutput",
+ modelProperties: {
+ base64EncodedCertificates: {
+ readOnly: true,
+ serializedName: "base64EncodedCertificates",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ },
+ validationErrors: {
+ readOnly: true,
+ serializedName: "validationErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const SelectedCertificateInput: msRest.CompositeMapper = {
+ serializedName: "SelectedCertificateInput",
+ type: {
+ name: "Composite",
+ className: "SelectedCertificateInput",
+ modelProperties: {
+ certificateName: {
+ required: true,
+ serializedName: "certificateName",
+ type: {
+ name: "String"
+ }
+ },
+ password: {
+ required: true,
+ serializedName: "password",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const FileShare: msRest.CompositeMapper = {
+ serializedName: "FileShare",
+ type: {
+ name: "Composite",
+ className: "FileShare",
+ modelProperties: {
+ userName: {
+ serializedName: "userName",
+ type: {
+ name: "String"
+ }
+ },
+ password: {
+ serializedName: "password",
+ type: {
+ name: "String"
+ }
+ },
+ path: {
+ required: true,
+ serializedName: "path",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const GetTdeCertificatesSqlTaskInput: msRest.CompositeMapper = {
+ serializedName: "GetTdeCertificatesSqlTaskInput",
+ type: {
+ name: "Composite",
+ className: "GetTdeCertificatesSqlTaskInput",
+ modelProperties: {
+ connectionInfo: {
+ required: true,
+ serializedName: "connectionInfo",
+ type: {
+ name: "Composite",
+ className: "SqlConnectionInfo"
+ }
+ },
+ backupFileShare: {
+ required: true,
+ serializedName: "backupFileShare",
+ type: {
+ name: "Composite",
+ className: "FileShare"
+ }
+ },
+ selectedCertificates: {
+ required: true,
+ serializedName: "selectedCertificates",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "SelectedCertificateInput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const GetTdeCertificatesSqlTaskProperties: msRest.CompositeMapper = {
+ serializedName: "GetTDECertificates.Sql",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "GetTdeCertificatesSqlTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "GetTdeCertificatesSqlTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "GetTdeCertificatesSqlTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ValidateOracleAzureDbPostgreSqlSyncTaskOutput: msRest.CompositeMapper = {
+ serializedName: "ValidateOracleAzureDbPostgreSqlSyncTaskOutput",
+ type: {
+ name: "Composite",
+ className: "ValidateOracleAzureDbPostgreSqlSyncTaskOutput",
+ modelProperties: {
+ validationErrors: {
+ readOnly: true,
+ serializedName: "validationErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateOracleAzureDbPostgreSqlSyncDatabaseInput: msRest.CompositeMapper = {
+ serializedName: "MigrateOracleAzureDbPostgreSqlSyncDatabaseInput",
+ type: {
+ name: "Composite",
+ className: "MigrateOracleAzureDbPostgreSqlSyncDatabaseInput",
+ modelProperties: {
+ caseManipulation: {
+ serializedName: "caseManipulation",
+ type: {
+ name: "String"
+ }
+ },
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ schemaName: {
+ serializedName: "schemaName",
+ type: {
+ name: "String"
+ }
+ },
+ tableMap: {
+ serializedName: "tableMap",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ targetDatabaseName: {
+ serializedName: "targetDatabaseName",
+ type: {
+ name: "String"
+ }
+ },
+ migrationSetting: {
+ serializedName: "migrationSetting",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ sourceSetting: {
+ serializedName: "sourceSetting",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ targetSetting: {
+ serializedName: "targetSetting",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateOracleAzureDbPostgreSqlSyncTaskInput: msRest.CompositeMapper = {
+ serializedName: "MigrateOracleAzureDbPostgreSqlSyncTaskInput",
+ type: {
+ name: "Composite",
+ className: "MigrateOracleAzureDbPostgreSqlSyncTaskInput",
+ modelProperties: {
+ selectedDatabases: {
+ required: true,
+ serializedName: "selectedDatabases",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MigrateOracleAzureDbPostgreSqlSyncDatabaseInput"
+ }
+ }
+ }
+ },
+ targetConnectionInfo: {
+ required: true,
+ serializedName: "targetConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "PostgreSqlConnectionInfo"
+ }
+ },
+ sourceConnectionInfo: {
+ required: true,
+ serializedName: "sourceConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "OracleConnectionInfo"
+ }
+ }
+ }
+ }
+};
+
+export const ValidateOracleAzureDbForPostgreSqlSyncTaskProperties: msRest.CompositeMapper = {
+ serializedName: "Validate.Oracle.AzureDbPostgreSql.Sync",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "ValidateOracleAzureDbForPostgreSqlSyncTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "MigrateOracleAzureDbPostgreSqlSyncTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ValidateOracleAzureDbPostgreSqlSyncTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MongoDbError: msRest.CompositeMapper = {
+ serializedName: "MongoDbError",
+ type: {
+ name: "Composite",
+ className: "MongoDbError",
+ modelProperties: {
+ code: {
+ serializedName: "code",
+ type: {
+ name: "String"
+ }
+ },
+ count: {
+ serializedName: "count",
+ type: {
+ name: "Number"
+ }
+ },
+ message: {
+ serializedName: "message",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MongoDbProgress: msRest.CompositeMapper = {
+ serializedName: "MongoDbProgress",
+ type: {
+ name: "Composite",
+ className: "MongoDbProgress",
+ modelProperties: {
+ bytesCopied: {
+ required: true,
+ serializedName: "bytesCopied",
+ type: {
+ name: "Number"
+ }
+ },
+ documentsCopied: {
+ required: true,
+ serializedName: "documentsCopied",
+ type: {
+ name: "Number"
+ }
+ },
+ elapsedTime: {
+ required: true,
+ serializedName: "elapsedTime",
+ type: {
+ name: "String"
+ }
+ },
+ errors: {
+ required: true,
+ serializedName: "errors",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Composite",
+ className: "MongoDbError"
+ }
+ }
+ }
+ },
+ eventsPending: {
+ required: true,
+ serializedName: "eventsPending",
+ type: {
+ name: "Number"
+ }
+ },
+ eventsReplayed: {
+ required: true,
+ serializedName: "eventsReplayed",
+ type: {
+ name: "Number"
+ }
+ },
+ lastEventTime: {
+ serializedName: "lastEventTime",
+ type: {
+ name: "DateTime"
+ }
+ },
+ lastReplayTime: {
+ serializedName: "lastReplayTime",
+ type: {
+ name: "DateTime"
+ }
+ },
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ qualifiedName: {
+ serializedName: "qualifiedName",
+ type: {
+ name: "String"
+ }
+ },
+ resultType: {
+ required: true,
+ serializedName: "resultType",
+ type: {
+ name: "String"
+ }
+ },
+ state: {
+ required: true,
+ serializedName: "state",
+ type: {
+ name: "String"
+ }
+ },
+ totalBytes: {
+ required: true,
+ serializedName: "totalBytes",
+ type: {
+ name: "Number"
+ }
+ },
+ totalDocuments: {
+ required: true,
+ serializedName: "totalDocuments",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const MongoDbCollectionProgress: msRest.CompositeMapper = {
+ serializedName: "Collection",
+ type: {
+ name: "Composite",
+ className: "MongoDbCollectionProgress",
+ modelProperties: {
+ ...MongoDbProgress.type.modelProperties
+ }
+ }
+};
+
+export const MongoDbDatabaseProgress: msRest.CompositeMapper = {
+ serializedName: "Database",
+ type: {
+ name: "Composite",
+ className: "MongoDbDatabaseProgress",
+ modelProperties: {
+ ...MongoDbProgress.type.modelProperties,
+ collections: {
+ serializedName: "collections",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Composite",
+ className: "MongoDbCollectionProgress"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MongoDbMigrationProgress: msRest.CompositeMapper = {
+ serializedName: "Migration",
+ type: {
+ name: "Composite",
+ className: "MongoDbMigrationProgress",
+ modelProperties: {
+ ...MongoDbProgress.type.modelProperties,
+ databases: {
+ serializedName: "databases",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Composite",
+ className: "MongoDbDatabaseProgress"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MongoDbThrottlingSettings: msRest.CompositeMapper = {
+ serializedName: "MongoDbThrottlingSettings",
+ type: {
+ name: "Composite",
+ className: "MongoDbThrottlingSettings",
+ modelProperties: {
+ minFreeCpu: {
+ serializedName: "minFreeCpu",
+ type: {
+ name: "Number"
+ }
+ },
+ minFreeMemoryMb: {
+ serializedName: "minFreeMemoryMb",
+ type: {
+ name: "Number"
+ }
+ },
+ maxParallelism: {
+ serializedName: "maxParallelism",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const MongoDbShardKeyField: msRest.CompositeMapper = {
+ serializedName: "MongoDbShardKeyField",
+ type: {
+ name: "Composite",
+ className: "MongoDbShardKeyField",
+ modelProperties: {
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ order: {
+ required: true,
+ serializedName: "order",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MongoDbShardKeySetting: msRest.CompositeMapper = {
+ serializedName: "MongoDbShardKeySetting",
+ type: {
+ name: "Composite",
+ className: "MongoDbShardKeySetting",
+ modelProperties: {
+ fields: {
+ required: true,
+ serializedName: "fields",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MongoDbShardKeyField"
+ }
+ }
+ }
+ },
+ isUnique: {
+ required: true,
+ serializedName: "isUnique",
+ type: {
+ name: "Boolean"
+ }
+ }
+ }
+ }
+};
+
+export const MongoDbCollectionSettings: msRest.CompositeMapper = {
+ serializedName: "MongoDbCollectionSettings",
+ type: {
+ name: "Composite",
+ className: "MongoDbCollectionSettings",
+ modelProperties: {
+ canDelete: {
+ serializedName: "canDelete",
+ type: {
+ name: "Boolean"
+ }
+ },
+ shardKey: {
+ serializedName: "shardKey",
+ type: {
+ name: "Composite",
+ className: "MongoDbShardKeySetting"
+ }
+ },
+ targetRUs: {
+ serializedName: "targetRUs",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const MongoDbDatabaseSettings: msRest.CompositeMapper = {
+ serializedName: "MongoDbDatabaseSettings",
+ type: {
+ name: "Composite",
+ className: "MongoDbDatabaseSettings",
+ modelProperties: {
+ collections: {
+ required: true,
+ serializedName: "collections",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Composite",
+ className: "MongoDbCollectionSettings"
+ }
+ }
+ }
+ },
+ targetRUs: {
+ serializedName: "targetRUs",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const MongoDbMigrationSettings: msRest.CompositeMapper = {
+ serializedName: "MongoDbMigrationSettings",
+ type: {
+ name: "Composite",
+ className: "MongoDbMigrationSettings",
+ modelProperties: {
+ boostRUs: {
+ serializedName: "boostRUs",
+ type: {
+ name: "Number"
+ }
+ },
+ databases: {
+ required: true,
+ serializedName: "databases",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Composite",
+ className: "MongoDbDatabaseSettings"
+ }
+ }
+ }
+ },
+ replication: {
+ serializedName: "replication",
+ type: {
+ name: "String"
+ }
+ },
+ source: {
+ required: true,
+ serializedName: "source",
+ type: {
+ name: "Composite",
+ className: "MongoDbConnectionInfo"
+ }
+ },
+ target: {
+ required: true,
+ serializedName: "target",
+ type: {
+ name: "Composite",
+ className: "MongoDbConnectionInfo"
+ }
+ },
+ throttling: {
+ serializedName: "throttling",
+ type: {
+ name: "Composite",
+ className: "MongoDbThrottlingSettings"
+ }
+ }
+ }
+ }
+};
+
+export const ValidateMongoDbTaskProperties: msRest.CompositeMapper = {
+ serializedName: "Validate.MongoDb",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "ValidateMongoDbTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "MongoDbMigrationSettings"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MongoDbMigrationProgress"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ValidateMigrationInputSqlServerSqlMISyncTaskOutput: msRest.CompositeMapper = {
+ serializedName: "ValidateMigrationInputSqlServerSqlMISyncTaskOutput",
+ type: {
+ name: "Composite",
+ className: "ValidateMigrationInputSqlServerSqlMISyncTaskOutput",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ validationErrors: {
+ readOnly: true,
+ serializedName: "validationErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const AzureActiveDirectoryApp: msRest.CompositeMapper = {
+ serializedName: "AzureActiveDirectoryApp",
+ type: {
+ name: "Composite",
+ className: "AzureActiveDirectoryApp",
+ modelProperties: {
+ applicationId: {
+ required: true,
+ serializedName: "applicationId",
+ type: {
+ name: "String"
+ }
+ },
+ appKey: {
+ required: true,
+ serializedName: "appKey",
+ type: {
+ name: "String"
+ }
+ },
+ tenantId: {
+ required: true,
+ serializedName: "tenantId",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlMIDatabaseInput: msRest.CompositeMapper = {
+ serializedName: "MigrateSqlServerSqlMIDatabaseInput",
+ type: {
+ name: "Composite",
+ className: "MigrateSqlServerSqlMIDatabaseInput",
+ modelProperties: {
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ restoreDatabaseName: {
+ required: true,
+ serializedName: "restoreDatabaseName",
+ type: {
+ name: "String"
+ }
+ },
+ backupFileShare: {
+ serializedName: "backupFileShare",
+ type: {
+ name: "Composite",
+ className: "FileShare"
+ }
+ },
+ backupFilePaths: {
+ serializedName: "backupFilePaths",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const SqlServerSqlMISyncTaskInput: msRest.CompositeMapper = {
+ serializedName: "SqlServerSqlMISyncTaskInput",
+ type: {
+ name: "Composite",
+ className: "SqlServerSqlMISyncTaskInput",
+ modelProperties: {
+ selectedDatabases: {
+ required: true,
+ serializedName: "selectedDatabases",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MigrateSqlServerSqlMIDatabaseInput"
+ }
+ }
+ }
+ },
+ backupFileShare: {
+ serializedName: "backupFileShare",
+ type: {
+ name: "Composite",
+ className: "FileShare"
+ }
+ },
+ storageResourceId: {
+ required: true,
+ serializedName: "storageResourceId",
+ type: {
+ name: "String"
+ }
+ },
+ sourceConnectionInfo: {
+ required: true,
+ serializedName: "sourceConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "SqlConnectionInfo"
+ }
+ },
+ targetConnectionInfo: {
+ required: true,
+ serializedName: "targetConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "MiSqlConnectionInfo"
+ }
+ },
+ azureApp: {
+ required: true,
+ serializedName: "azureApp",
+ type: {
+ name: "Composite",
+ className: "AzureActiveDirectoryApp"
+ }
+ }
+ }
+ }
+};
+
+export const ValidateMigrationInputSqlServerSqlMISyncTaskInput: msRest.CompositeMapper = {
+ serializedName: "ValidateMigrationInputSqlServerSqlMISyncTaskInput",
+ type: {
+ name: "Composite",
+ className: "ValidateMigrationInputSqlServerSqlMISyncTaskInput",
+ modelProperties: {
+ ...SqlServerSqlMISyncTaskInput.type.modelProperties
+ }
+ }
+};
+
+export const ValidateMigrationInputSqlServerSqlMISyncTaskProperties: msRest.CompositeMapper = {
+ serializedName: "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "ValidateMigrationInputSqlServerSqlMISyncTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "ValidateMigrationInputSqlServerSqlMISyncTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ValidateMigrationInputSqlServerSqlMISyncTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const DatabaseBackupInfo: msRest.CompositeMapper = {
+ serializedName: "DatabaseBackupInfo",
+ type: {
+ name: "Composite",
+ className: "DatabaseBackupInfo",
+ modelProperties: {
+ databaseName: {
+ readOnly: true,
+ serializedName: "databaseName",
+ type: {
+ name: "String"
+ }
+ },
+ backupType: {
+ readOnly: true,
+ serializedName: "backupType",
+ type: {
+ name: "String"
+ }
+ },
+ backupFiles: {
+ readOnly: true,
+ serializedName: "backupFiles",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ position: {
+ readOnly: true,
+ serializedName: "position",
+ type: {
+ name: "Number"
+ }
+ },
+ isDamaged: {
+ readOnly: true,
+ serializedName: "isDamaged",
+ type: {
+ name: "Boolean"
+ }
+ },
+ isCompressed: {
+ readOnly: true,
+ serializedName: "isCompressed",
+ type: {
+ name: "Boolean"
+ }
+ },
+ familyCount: {
+ readOnly: true,
+ serializedName: "familyCount",
+ type: {
+ name: "Number"
+ }
+ },
+ backupFinishDate: {
+ readOnly: true,
+ serializedName: "backupFinishDate",
+ type: {
+ name: "DateTime"
+ }
+ }
+ }
+ }
+};
+
+export const ValidateMigrationInputSqlServerSqlMITaskOutput: msRest.CompositeMapper = {
+ serializedName: "ValidateMigrationInputSqlServerSqlMITaskOutput",
+ type: {
+ name: "Composite",
+ className: "ValidateMigrationInputSqlServerSqlMITaskOutput",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ restoreDatabaseNameErrors: {
+ readOnly: true,
+ serializedName: "restoreDatabaseNameErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ },
+ backupFolderErrors: {
+ readOnly: true,
+ serializedName: "backupFolderErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ },
+ backupShareCredentialsErrors: {
+ readOnly: true,
+ serializedName: "backupShareCredentialsErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ },
+ backupStorageAccountErrors: {
+ readOnly: true,
+ serializedName: "backupStorageAccountErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ },
+ existingBackupErrors: {
+ readOnly: true,
+ serializedName: "existingBackupErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ },
+ databaseBackupInfo: {
+ serializedName: "databaseBackupInfo",
+ type: {
+ name: "Composite",
+ className: "DatabaseBackupInfo"
+ }
+ }
+ }
+ }
+};
+
+export const BlobShare: msRest.CompositeMapper = {
+ serializedName: "BlobShare",
+ type: {
+ name: "Composite",
+ className: "BlobShare",
+ modelProperties: {
+ sasUri: {
+ required: true,
+ serializedName: "sasUri",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ValidateMigrationInputSqlServerSqlMITaskInput: msRest.CompositeMapper = {
+ serializedName: "ValidateMigrationInputSqlServerSqlMITaskInput",
+ type: {
+ name: "Composite",
+ className: "ValidateMigrationInputSqlServerSqlMITaskInput",
+ modelProperties: {
+ sourceConnectionInfo: {
+ required: true,
+ serializedName: "sourceConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "SqlConnectionInfo"
+ }
+ },
+ targetConnectionInfo: {
+ required: true,
+ serializedName: "targetConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "SqlConnectionInfo"
+ }
+ },
+ selectedDatabases: {
+ required: true,
+ serializedName: "selectedDatabases",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MigrateSqlServerSqlMIDatabaseInput"
+ }
+ }
+ }
+ },
+ selectedLogins: {
+ serializedName: "selectedLogins",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ backupFileShare: {
+ serializedName: "backupFileShare",
+ type: {
+ name: "Composite",
+ className: "FileShare"
+ }
+ },
+ backupBlobShare: {
+ required: true,
+ serializedName: "backupBlobShare",
+ type: {
+ name: "Composite",
+ className: "BlobShare"
+ }
+ },
+ backupMode: {
+ serializedName: "backupMode",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ValidateMigrationInputSqlServerSqlMITaskProperties: msRest.CompositeMapper = {
+ serializedName: "ValidateMigrationInput.SqlServer.AzureSqlDbMI",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "ValidateMigrationInputSqlServerSqlMITaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "ValidateMigrationInputSqlServerSqlMITaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ValidateMigrationInputSqlServerSqlMITaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ValidateSyncMigrationInputSqlServerTaskOutput: msRest.CompositeMapper = {
+ serializedName: "ValidateSyncMigrationInputSqlServerTaskOutput",
+ type: {
+ name: "Composite",
+ className: "ValidateSyncMigrationInputSqlServerTaskOutput",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ validationErrors: {
+ readOnly: true,
+ serializedName: "validationErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlDbSyncDatabaseInput: msRest.CompositeMapper = {
+ serializedName: "MigrateSqlServerSqlDbSyncDatabaseInput",
+ type: {
+ name: "Composite",
+ className: "MigrateSqlServerSqlDbSyncDatabaseInput",
+ modelProperties: {
+ id: {
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ targetDatabaseName: {
+ serializedName: "targetDatabaseName",
+ type: {
+ name: "String"
+ }
+ },
+ schemaName: {
+ serializedName: "schemaName",
+ type: {
+ name: "String"
+ }
+ },
+ tableMap: {
+ serializedName: "tableMap",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ migrationSetting: {
+ serializedName: "migrationSetting",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ sourceSetting: {
+ serializedName: "sourceSetting",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ targetSetting: {
+ serializedName: "targetSetting",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ValidateSyncMigrationInputSqlServerTaskInput: msRest.CompositeMapper = {
+ serializedName: "ValidateSyncMigrationInputSqlServerTaskInput",
+ type: {
+ name: "Composite",
+ className: "ValidateSyncMigrationInputSqlServerTaskInput",
+ modelProperties: {
+ sourceConnectionInfo: {
+ required: true,
+ serializedName: "sourceConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "SqlConnectionInfo"
+ }
+ },
+ targetConnectionInfo: {
+ required: true,
+ serializedName: "targetConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "SqlConnectionInfo"
+ }
+ },
+ selectedDatabases: {
+ required: true,
+ serializedName: "selectedDatabases",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MigrateSqlServerSqlDbSyncDatabaseInput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ValidateMigrationInputSqlServerSqlDbSyncTaskProperties: msRest.CompositeMapper = {
+ serializedName: "ValidateMigrationInput.SqlServer.SqlDb.Sync",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "ValidateMigrationInputSqlServerSqlDbSyncTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "ValidateSyncMigrationInputSqlServerTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ValidateSyncMigrationInputSqlServerTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const SyncMigrationDatabaseErrorEvent: msRest.CompositeMapper = {
+ serializedName: "SyncMigrationDatabaseErrorEvent",
+ type: {
+ name: "Composite",
+ className: "SyncMigrationDatabaseErrorEvent",
+ modelProperties: {
+ timestampString: {
+ readOnly: true,
+ serializedName: "timestampString",
+ type: {
+ name: "String"
+ }
+ },
+ eventTypeString: {
+ readOnly: true,
+ serializedName: "eventTypeString",
+ type: {
+ name: "String"
+ }
+ },
+ eventText: {
+ readOnly: true,
+ serializedName: "eventText",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateOracleAzureDbPostgreSqlSyncTaskOutput: msRest.CompositeMapper = {
+ serializedName: "MigrateOracleAzureDbPostgreSqlSyncTaskOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "resultType",
+ clientName: "resultType"
+ },
+ uberParent: "MigrateOracleAzureDbPostgreSqlSyncTaskOutput",
+ className: "MigrateOracleAzureDbPostgreSqlSyncTaskOutput",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ resultType: {
+ required: true,
+ serializedName: "resultType",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError: msRest.CompositeMapper = {
+ serializedName: "DatabaseLevelErrorOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateOracleAzureDbPostgreSqlSyncTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateOracleAzureDbPostgreSqlSyncTaskOutput",
+ className: "MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError",
+ modelProperties: {
+ ...MigrateOracleAzureDbPostgreSqlSyncTaskOutput.type.modelProperties,
+ errorMessage: {
+ serializedName: "errorMessage",
+ type: {
+ name: "String"
+ }
+ },
+ events: {
+ serializedName: "events",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "SyncMigrationDatabaseErrorEvent"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateOracleAzureDbPostgreSqlSyncTaskOutputError: msRest.CompositeMapper = {
+ serializedName: "ErrorOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateOracleAzureDbPostgreSqlSyncTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateOracleAzureDbPostgreSqlSyncTaskOutput",
+ className: "MigrateOracleAzureDbPostgreSqlSyncTaskOutputError",
+ modelProperties: {
+ ...MigrateOracleAzureDbPostgreSqlSyncTaskOutput.type.modelProperties,
+ error: {
+ readOnly: true,
+ serializedName: "error",
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel: msRest.CompositeMapper = {
+ serializedName: "TableLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateOracleAzureDbPostgreSqlSyncTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateOracleAzureDbPostgreSqlSyncTaskOutput",
+ className: "MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel",
+ modelProperties: {
+ ...MigrateOracleAzureDbPostgreSqlSyncTaskOutput.type.modelProperties,
+ tableName: {
+ readOnly: true,
+ serializedName: "tableName",
+ type: {
+ name: "String"
+ }
+ },
+ databaseName: {
+ readOnly: true,
+ serializedName: "databaseName",
+ type: {
+ name: "String"
+ }
+ },
+ cdcInsertCounter: {
+ readOnly: true,
+ serializedName: "cdcInsertCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ cdcUpdateCounter: {
+ readOnly: true,
+ serializedName: "cdcUpdateCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ cdcDeleteCounter: {
+ readOnly: true,
+ serializedName: "cdcDeleteCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ fullLoadEstFinishTime: {
+ readOnly: true,
+ serializedName: "fullLoadEstFinishTime",
+ type: {
+ name: "DateTime"
+ }
+ },
+ fullLoadStartedOn: {
+ readOnly: true,
+ serializedName: "fullLoadStartedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ fullLoadEndedOn: {
+ readOnly: true,
+ serializedName: "fullLoadEndedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ fullLoadTotalRows: {
+ readOnly: true,
+ serializedName: "fullLoadTotalRows",
+ type: {
+ name: "Number"
+ }
+ },
+ state: {
+ readOnly: true,
+ serializedName: "state",
+ type: {
+ name: "String"
+ }
+ },
+ totalChangesApplied: {
+ readOnly: true,
+ serializedName: "totalChangesApplied",
+ type: {
+ name: "Number"
+ }
+ },
+ dataErrorsCounter: {
+ readOnly: true,
+ serializedName: "dataErrorsCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ lastModifiedTime: {
+ readOnly: true,
+ serializedName: "lastModifiedTime",
+ type: {
+ name: "DateTime"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel: msRest.CompositeMapper = {
+ serializedName: "DatabaseLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateOracleAzureDbPostgreSqlSyncTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateOracleAzureDbPostgreSqlSyncTaskOutput",
+ className: "MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel",
+ modelProperties: {
+ ...MigrateOracleAzureDbPostgreSqlSyncTaskOutput.type.modelProperties,
+ databaseName: {
+ readOnly: true,
+ serializedName: "databaseName",
+ type: {
+ name: "String"
+ }
+ },
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ migrationState: {
+ readOnly: true,
+ serializedName: "migrationState",
+ type: {
+ name: "String"
+ }
+ },
+ incomingChanges: {
+ readOnly: true,
+ serializedName: "incomingChanges",
+ type: {
+ name: "Number"
+ }
+ },
+ appliedChanges: {
+ readOnly: true,
+ serializedName: "appliedChanges",
+ type: {
+ name: "Number"
+ }
+ },
+ cdcInsertCounter: {
+ readOnly: true,
+ serializedName: "cdcInsertCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ cdcDeleteCounter: {
+ readOnly: true,
+ serializedName: "cdcDeleteCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ cdcUpdateCounter: {
+ readOnly: true,
+ serializedName: "cdcUpdateCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ fullLoadCompletedTables: {
+ readOnly: true,
+ serializedName: "fullLoadCompletedTables",
+ type: {
+ name: "Number"
+ }
+ },
+ fullLoadLoadingTables: {
+ readOnly: true,
+ serializedName: "fullLoadLoadingTables",
+ type: {
+ name: "Number"
+ }
+ },
+ fullLoadQueuedTables: {
+ readOnly: true,
+ serializedName: "fullLoadQueuedTables",
+ type: {
+ name: "Number"
+ }
+ },
+ fullLoadErroredTables: {
+ readOnly: true,
+ serializedName: "fullLoadErroredTables",
+ type: {
+ name: "Number"
+ }
+ },
+ initializationCompleted: {
+ readOnly: true,
+ serializedName: "initializationCompleted",
+ type: {
+ name: "Boolean"
+ }
+ },
+ latency: {
+ readOnly: true,
+ serializedName: "latency",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel: msRest.CompositeMapper = {
+ serializedName: "MigrationLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateOracleAzureDbPostgreSqlSyncTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateOracleAzureDbPostgreSqlSyncTaskOutput",
+ className: "MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel",
+ modelProperties: {
+ ...MigrateOracleAzureDbPostgreSqlSyncTaskOutput.type.modelProperties,
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ sourceServerVersion: {
+ readOnly: true,
+ serializedName: "sourceServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ sourceServer: {
+ readOnly: true,
+ serializedName: "sourceServer",
+ type: {
+ name: "String"
+ }
+ },
+ targetServerVersion: {
+ readOnly: true,
+ serializedName: "targetServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ targetServer: {
+ readOnly: true,
+ serializedName: "targetServer",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateOracleAzureDbForPostgreSqlSyncTaskProperties: msRest.CompositeMapper = {
+ serializedName: "Migrate.Oracle.AzureDbForPostgreSql.Sync",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "MigrateOracleAzureDbForPostgreSqlSyncTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "MigrateOracleAzureDbPostgreSqlSyncTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MigrateOracleAzureDbPostgreSqlSyncTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput: msRest.CompositeMapper = {
+ serializedName: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "resultType",
+ clientName: "resultType"
+ },
+ uberParent: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput",
+ className: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ resultType: {
+ required: true,
+ serializedName: "resultType",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError: msRest.CompositeMapper = {
+ serializedName: "DatabaseLevelErrorOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput",
+ className: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError",
+ modelProperties: {
+ ...MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.type.modelProperties,
+ errorMessage: {
+ serializedName: "errorMessage",
+ type: {
+ name: "String"
+ }
+ },
+ events: {
+ serializedName: "events",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "SyncMigrationDatabaseErrorEvent"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError: msRest.CompositeMapper = {
+ serializedName: "ErrorOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput",
+ className: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError",
+ modelProperties: {
+ ...MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.type.modelProperties,
+ error: {
+ readOnly: true,
+ serializedName: "error",
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+};
+
+export const MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel: msRest.CompositeMapper = {
+ serializedName: "TableLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput",
+ className: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel",
+ modelProperties: {
+ ...MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.type.modelProperties,
+ tableName: {
+ readOnly: true,
+ serializedName: "tableName",
+ type: {
+ name: "String"
+ }
+ },
+ databaseName: {
+ readOnly: true,
+ serializedName: "databaseName",
+ type: {
+ name: "String"
+ }
+ },
+ cdcInsertCounter: {
+ readOnly: true,
+ serializedName: "cdcInsertCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ cdcUpdateCounter: {
+ readOnly: true,
+ serializedName: "cdcUpdateCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ cdcDeleteCounter: {
+ readOnly: true,
+ serializedName: "cdcDeleteCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ fullLoadEstFinishTime: {
+ readOnly: true,
+ serializedName: "fullLoadEstFinishTime",
+ type: {
+ name: "DateTime"
+ }
+ },
+ fullLoadStartedOn: {
+ readOnly: true,
+ serializedName: "fullLoadStartedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ fullLoadEndedOn: {
+ readOnly: true,
+ serializedName: "fullLoadEndedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ fullLoadTotalRows: {
+ readOnly: true,
+ serializedName: "fullLoadTotalRows",
+ type: {
+ name: "Number"
+ }
+ },
+ state: {
+ readOnly: true,
+ serializedName: "state",
+ type: {
+ name: "String"
+ }
+ },
+ totalChangesApplied: {
+ readOnly: true,
+ serializedName: "totalChangesApplied",
+ type: {
+ name: "Number"
+ }
+ },
+ dataErrorsCounter: {
+ readOnly: true,
+ serializedName: "dataErrorsCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ lastModifiedTime: {
+ readOnly: true,
+ serializedName: "lastModifiedTime",
+ type: {
+ name: "DateTime"
+ }
+ }
+ }
+ }
+};
+
+export const MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel: msRest.CompositeMapper = {
+ serializedName: "DatabaseLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput",
+ className: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel",
+ modelProperties: {
+ ...MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.type.modelProperties,
+ databaseName: {
+ readOnly: true,
+ serializedName: "databaseName",
+ type: {
+ name: "String"
+ }
+ },
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ migrationState: {
+ readOnly: true,
+ serializedName: "migrationState",
+ type: {
+ name: "String"
+ }
+ },
+ incomingChanges: {
+ readOnly: true,
+ serializedName: "incomingChanges",
+ type: {
+ name: "Number"
+ }
+ },
+ appliedChanges: {
+ readOnly: true,
+ serializedName: "appliedChanges",
+ type: {
+ name: "Number"
+ }
+ },
+ cdcInsertCounter: {
+ readOnly: true,
+ serializedName: "cdcInsertCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ cdcDeleteCounter: {
+ readOnly: true,
+ serializedName: "cdcDeleteCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ cdcUpdateCounter: {
+ readOnly: true,
+ serializedName: "cdcUpdateCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ fullLoadCompletedTables: {
+ readOnly: true,
+ serializedName: "fullLoadCompletedTables",
+ type: {
+ name: "Number"
+ }
+ },
+ fullLoadLoadingTables: {
+ readOnly: true,
+ serializedName: "fullLoadLoadingTables",
+ type: {
+ name: "Number"
+ }
+ },
+ fullLoadQueuedTables: {
+ readOnly: true,
+ serializedName: "fullLoadQueuedTables",
+ type: {
+ name: "Number"
+ }
+ },
+ fullLoadErroredTables: {
+ readOnly: true,
+ serializedName: "fullLoadErroredTables",
+ type: {
+ name: "Number"
+ }
+ },
+ initializationCompleted: {
+ readOnly: true,
+ serializedName: "initializationCompleted",
+ type: {
+ name: "Boolean"
+ }
+ },
+ latency: {
+ readOnly: true,
+ serializedName: "latency",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel: msRest.CompositeMapper = {
+ serializedName: "MigrationLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput",
+ className: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel",
+ modelProperties: {
+ ...MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.type.modelProperties,
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ sourceServerVersion: {
+ readOnly: true,
+ serializedName: "sourceServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ sourceServer: {
+ readOnly: true,
+ serializedName: "sourceServer",
+ type: {
+ name: "String"
+ }
+ },
+ targetServerVersion: {
+ readOnly: true,
+ serializedName: "targetServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ targetServer: {
+ readOnly: true,
+ serializedName: "targetServer",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput: msRest.CompositeMapper = {
+ serializedName: "MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput",
+ type: {
+ name: "Composite",
+ className: "MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput",
+ modelProperties: {
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ targetDatabaseName: {
+ serializedName: "targetDatabaseName",
+ type: {
+ name: "String"
+ }
+ },
+ migrationSetting: {
+ serializedName: "migrationSetting",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ sourceSetting: {
+ serializedName: "sourceSetting",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ targetSetting: {
+ serializedName: "targetSetting",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput: msRest.CompositeMapper = {
+ serializedName: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput",
+ type: {
+ name: "Composite",
+ className: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput",
+ modelProperties: {
+ selectedDatabases: {
+ required: true,
+ serializedName: "selectedDatabases",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput"
+ }
+ }
+ }
+ },
+ targetConnectionInfo: {
+ required: true,
+ serializedName: "targetConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "PostgreSqlConnectionInfo"
+ }
+ },
+ sourceConnectionInfo: {
+ required: true,
+ serializedName: "sourceConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "PostgreSqlConnectionInfo"
+ }
+ }
+ }
+ }
+};
+
+export const MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties: msRest.CompositeMapper = {
+ serializedName: "Migrate.PostgreSql.AzureDbForPostgreSql.Sync",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateMySqlAzureDbForMySqlSyncTaskOutput: msRest.CompositeMapper = {
+ serializedName: "MigrateMySqlAzureDbForMySqlSyncTaskOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "resultType",
+ clientName: "resultType"
+ },
+ uberParent: "MigrateMySqlAzureDbForMySqlSyncTaskOutput",
+ className: "MigrateMySqlAzureDbForMySqlSyncTaskOutput",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ resultType: {
+ required: true,
+ serializedName: "resultType",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError: msRest.CompositeMapper = {
+ serializedName: "DatabaseLevelErrorOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateMySqlAzureDbForMySqlSyncTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateMySqlAzureDbForMySqlSyncTaskOutput",
+ className: "MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError",
+ modelProperties: {
+ ...MigrateMySqlAzureDbForMySqlSyncTaskOutput.type.modelProperties,
+ errorMessage: {
+ serializedName: "errorMessage",
+ type: {
+ name: "String"
+ }
+ },
+ events: {
+ serializedName: "events",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "SyncMigrationDatabaseErrorEvent"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateMySqlAzureDbForMySqlSyncTaskOutputError: msRest.CompositeMapper = {
+ serializedName: "ErrorOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateMySqlAzureDbForMySqlSyncTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateMySqlAzureDbForMySqlSyncTaskOutput",
+ className: "MigrateMySqlAzureDbForMySqlSyncTaskOutputError",
+ modelProperties: {
+ ...MigrateMySqlAzureDbForMySqlSyncTaskOutput.type.modelProperties,
+ error: {
+ readOnly: true,
+ serializedName: "error",
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel: msRest.CompositeMapper = {
+ serializedName: "TableLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateMySqlAzureDbForMySqlSyncTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateMySqlAzureDbForMySqlSyncTaskOutput",
+ className: "MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel",
+ modelProperties: {
+ ...MigrateMySqlAzureDbForMySqlSyncTaskOutput.type.modelProperties,
+ tableName: {
+ readOnly: true,
+ serializedName: "tableName",
+ type: {
+ name: "String"
+ }
+ },
+ databaseName: {
+ readOnly: true,
+ serializedName: "databaseName",
+ type: {
+ name: "String"
+ }
+ },
+ cdcInsertCounter: {
+ readOnly: true,
+ serializedName: "cdcInsertCounter",
+ type: {
+ name: "String"
+ }
+ },
+ cdcUpdateCounter: {
+ readOnly: true,
+ serializedName: "cdcUpdateCounter",
+ type: {
+ name: "String"
+ }
+ },
+ cdcDeleteCounter: {
+ readOnly: true,
+ serializedName: "cdcDeleteCounter",
+ type: {
+ name: "String"
+ }
+ },
+ fullLoadEstFinishTime: {
+ readOnly: true,
+ serializedName: "fullLoadEstFinishTime",
+ type: {
+ name: "DateTime"
+ }
+ },
+ fullLoadStartedOn: {
+ readOnly: true,
+ serializedName: "fullLoadStartedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ fullLoadEndedOn: {
+ readOnly: true,
+ serializedName: "fullLoadEndedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ fullLoadTotalRows: {
+ readOnly: true,
+ serializedName: "fullLoadTotalRows",
+ type: {
+ name: "Number"
+ }
+ },
+ state: {
+ readOnly: true,
+ serializedName: "state",
+ type: {
+ name: "String"
+ }
+ },
+ totalChangesApplied: {
+ readOnly: true,
+ serializedName: "totalChangesApplied",
+ type: {
+ name: "Number"
+ }
+ },
+ dataErrorsCounter: {
+ readOnly: true,
+ serializedName: "dataErrorsCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ lastModifiedTime: {
+ readOnly: true,
+ serializedName: "lastModifiedTime",
+ type: {
+ name: "DateTime"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel: msRest.CompositeMapper = {
+ serializedName: "DatabaseLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateMySqlAzureDbForMySqlSyncTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateMySqlAzureDbForMySqlSyncTaskOutput",
+ className: "MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel",
+ modelProperties: {
+ ...MigrateMySqlAzureDbForMySqlSyncTaskOutput.type.modelProperties,
+ databaseName: {
+ readOnly: true,
+ serializedName: "databaseName",
+ type: {
+ name: "String"
+ }
+ },
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ migrationState: {
+ readOnly: true,
+ serializedName: "migrationState",
+ type: {
+ name: "String"
+ }
+ },
+ incomingChanges: {
+ readOnly: true,
+ serializedName: "incomingChanges",
+ type: {
+ name: "Number"
+ }
+ },
+ appliedChanges: {
+ readOnly: true,
+ serializedName: "appliedChanges",
+ type: {
+ name: "Number"
+ }
+ },
+ cdcInsertCounter: {
+ readOnly: true,
+ serializedName: "cdcInsertCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ cdcDeleteCounter: {
+ readOnly: true,
+ serializedName: "cdcDeleteCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ cdcUpdateCounter: {
+ readOnly: true,
+ serializedName: "cdcUpdateCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ fullLoadCompletedTables: {
+ readOnly: true,
+ serializedName: "fullLoadCompletedTables",
+ type: {
+ name: "Number"
+ }
+ },
+ fullLoadLoadingTables: {
+ readOnly: true,
+ serializedName: "fullLoadLoadingTables",
+ type: {
+ name: "Number"
+ }
+ },
+ fullLoadQueuedTables: {
+ readOnly: true,
+ serializedName: "fullLoadQueuedTables",
+ type: {
+ name: "Number"
+ }
+ },
+ fullLoadErroredTables: {
+ readOnly: true,
+ serializedName: "fullLoadErroredTables",
+ type: {
+ name: "Number"
+ }
+ },
+ initializationCompleted: {
+ readOnly: true,
+ serializedName: "initializationCompleted",
+ type: {
+ name: "Boolean"
+ }
+ },
+ latency: {
+ readOnly: true,
+ serializedName: "latency",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel: msRest.CompositeMapper = {
+ serializedName: "MigrationLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateMySqlAzureDbForMySqlSyncTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateMySqlAzureDbForMySqlSyncTaskOutput",
+ className: "MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel",
+ modelProperties: {
+ ...MigrateMySqlAzureDbForMySqlSyncTaskOutput.type.modelProperties,
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ sourceServerVersion: {
+ readOnly: true,
+ serializedName: "sourceServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ sourceServer: {
+ readOnly: true,
+ serializedName: "sourceServer",
+ type: {
+ name: "String"
+ }
+ },
+ targetServerVersion: {
+ readOnly: true,
+ serializedName: "targetServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ targetServer: {
+ readOnly: true,
+ serializedName: "targetServer",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateMySqlAzureDbForMySqlSyncDatabaseInput: msRest.CompositeMapper = {
+ serializedName: "MigrateMySqlAzureDbForMySqlSyncDatabaseInput",
+ type: {
+ name: "Composite",
+ className: "MigrateMySqlAzureDbForMySqlSyncDatabaseInput",
+ modelProperties: {
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ targetDatabaseName: {
+ serializedName: "targetDatabaseName",
+ type: {
+ name: "String"
+ }
+ },
+ migrationSetting: {
+ serializedName: "migrationSetting",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ sourceSetting: {
+ serializedName: "sourceSetting",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ targetSetting: {
+ serializedName: "targetSetting",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateMySqlAzureDbForMySqlSyncTaskInput: msRest.CompositeMapper = {
+ serializedName: "MigrateMySqlAzureDbForMySqlSyncTaskInput",
+ type: {
+ name: "Composite",
+ className: "MigrateMySqlAzureDbForMySqlSyncTaskInput",
+ modelProperties: {
+ sourceConnectionInfo: {
+ required: true,
+ serializedName: "sourceConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "MySqlConnectionInfo"
+ }
+ },
+ targetConnectionInfo: {
+ required: true,
+ serializedName: "targetConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "MySqlConnectionInfo"
+ }
+ },
+ selectedDatabases: {
+ required: true,
+ serializedName: "selectedDatabases",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MigrateMySqlAzureDbForMySqlSyncDatabaseInput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateMySqlAzureDbForMySqlSyncTaskProperties: msRest.CompositeMapper = {
+ serializedName: "Migrate.MySql.AzureDbForMySql.Sync",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "MigrateMySqlAzureDbForMySqlSyncTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "MigrateMySqlAzureDbForMySqlSyncTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MigrateMySqlAzureDbForMySqlSyncTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlDbSyncTaskOutput: msRest.CompositeMapper = {
+ serializedName: "MigrateSqlServerSqlDbSyncTaskOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "resultType",
+ clientName: "resultType"
+ },
+ uberParent: "MigrateSqlServerSqlDbSyncTaskOutput",
+ className: "MigrateSqlServerSqlDbSyncTaskOutput",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ resultType: {
+ required: true,
+ serializedName: "resultType",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlDbSyncTaskOutputDatabaseError: msRest.CompositeMapper = {
+ serializedName: "DatabaseLevelErrorOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateSqlServerSqlDbSyncTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateSqlServerSqlDbSyncTaskOutput",
+ className: "MigrateSqlServerSqlDbSyncTaskOutputDatabaseError",
+ modelProperties: {
+ ...MigrateSqlServerSqlDbSyncTaskOutput.type.modelProperties,
+ errorMessage: {
+ serializedName: "errorMessage",
+ type: {
+ name: "String"
+ }
+ },
+ events: {
+ serializedName: "events",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "SyncMigrationDatabaseErrorEvent"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlDbSyncTaskOutputError: msRest.CompositeMapper = {
+ serializedName: "ErrorOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateSqlServerSqlDbSyncTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateSqlServerSqlDbSyncTaskOutput",
+ className: "MigrateSqlServerSqlDbSyncTaskOutputError",
+ modelProperties: {
+ ...MigrateSqlServerSqlDbSyncTaskOutput.type.modelProperties,
+ error: {
+ readOnly: true,
+ serializedName: "error",
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlDbSyncTaskOutputTableLevel: msRest.CompositeMapper = {
+ serializedName: "TableLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateSqlServerSqlDbSyncTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateSqlServerSqlDbSyncTaskOutput",
+ className: "MigrateSqlServerSqlDbSyncTaskOutputTableLevel",
+ modelProperties: {
+ ...MigrateSqlServerSqlDbSyncTaskOutput.type.modelProperties,
+ tableName: {
+ readOnly: true,
+ serializedName: "tableName",
+ type: {
+ name: "String"
+ }
+ },
+ databaseName: {
+ readOnly: true,
+ serializedName: "databaseName",
+ type: {
+ name: "String"
+ }
+ },
+ cdcInsertCounter: {
+ readOnly: true,
+ serializedName: "cdcInsertCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ cdcUpdateCounter: {
+ readOnly: true,
+ serializedName: "cdcUpdateCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ cdcDeleteCounter: {
+ readOnly: true,
+ serializedName: "cdcDeleteCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ fullLoadEstFinishTime: {
+ readOnly: true,
+ serializedName: "fullLoadEstFinishTime",
+ type: {
+ name: "DateTime"
+ }
+ },
+ fullLoadStartedOn: {
+ readOnly: true,
+ serializedName: "fullLoadStartedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ fullLoadEndedOn: {
+ readOnly: true,
+ serializedName: "fullLoadEndedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ fullLoadTotalRows: {
+ readOnly: true,
+ serializedName: "fullLoadTotalRows",
+ type: {
+ name: "Number"
+ }
+ },
+ state: {
+ readOnly: true,
+ serializedName: "state",
+ type: {
+ name: "String"
+ }
+ },
+ totalChangesApplied: {
+ readOnly: true,
+ serializedName: "totalChangesApplied",
+ type: {
+ name: "Number"
+ }
+ },
+ dataErrorsCounter: {
+ readOnly: true,
+ serializedName: "dataErrorsCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ lastModifiedTime: {
+ readOnly: true,
+ serializedName: "lastModifiedTime",
+ type: {
+ name: "DateTime"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel: msRest.CompositeMapper = {
+ serializedName: "DatabaseLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateSqlServerSqlDbSyncTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateSqlServerSqlDbSyncTaskOutput",
+ className: "MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel",
+ modelProperties: {
+ ...MigrateSqlServerSqlDbSyncTaskOutput.type.modelProperties,
+ databaseName: {
+ readOnly: true,
+ serializedName: "databaseName",
+ type: {
+ name: "String"
+ }
+ },
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ migrationState: {
+ readOnly: true,
+ serializedName: "migrationState",
+ type: {
+ name: "String"
+ }
+ },
+ incomingChanges: {
+ readOnly: true,
+ serializedName: "incomingChanges",
+ type: {
+ name: "Number"
+ }
+ },
+ appliedChanges: {
+ readOnly: true,
+ serializedName: "appliedChanges",
+ type: {
+ name: "Number"
+ }
+ },
+ cdcInsertCounter: {
+ readOnly: true,
+ serializedName: "cdcInsertCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ cdcDeleteCounter: {
+ readOnly: true,
+ serializedName: "cdcDeleteCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ cdcUpdateCounter: {
+ readOnly: true,
+ serializedName: "cdcUpdateCounter",
+ type: {
+ name: "Number"
+ }
+ },
+ fullLoadCompletedTables: {
+ readOnly: true,
+ serializedName: "fullLoadCompletedTables",
+ type: {
+ name: "Number"
+ }
+ },
+ fullLoadLoadingTables: {
+ readOnly: true,
+ serializedName: "fullLoadLoadingTables",
+ type: {
+ name: "Number"
+ }
+ },
+ fullLoadQueuedTables: {
+ readOnly: true,
+ serializedName: "fullLoadQueuedTables",
+ type: {
+ name: "Number"
+ }
+ },
+ fullLoadErroredTables: {
+ readOnly: true,
+ serializedName: "fullLoadErroredTables",
+ type: {
+ name: "Number"
+ }
+ },
+ initializationCompleted: {
+ readOnly: true,
+ serializedName: "initializationCompleted",
+ type: {
+ name: "Boolean"
+ }
+ },
+ latency: {
+ readOnly: true,
+ serializedName: "latency",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel: msRest.CompositeMapper = {
+ serializedName: "MigrationLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateSqlServerSqlDbSyncTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateSqlServerSqlDbSyncTaskOutput",
+ className: "MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel",
+ modelProperties: {
+ ...MigrateSqlServerSqlDbSyncTaskOutput.type.modelProperties,
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ sourceServerVersion: {
+ readOnly: true,
+ serializedName: "sourceServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ sourceServer: {
+ readOnly: true,
+ serializedName: "sourceServer",
+ type: {
+ name: "String"
+ }
+ },
+ targetServerVersion: {
+ readOnly: true,
+ serializedName: "targetServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ targetServer: {
+ readOnly: true,
+ serializedName: "targetServer",
+ type: {
+ name: "String"
+ }
+ },
+ databaseCount: {
+ readOnly: true,
+ serializedName: "databaseCount",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const MigrationValidationOptions: msRest.CompositeMapper = {
+ serializedName: "MigrationValidationOptions",
+ type: {
+ name: "Composite",
+ className: "MigrationValidationOptions",
+ modelProperties: {
+ enableSchemaValidation: {
+ serializedName: "enableSchemaValidation",
+ type: {
+ name: "Boolean"
+ }
+ },
+ enableDataIntegrityValidation: {
+ serializedName: "enableDataIntegrityValidation",
+ type: {
+ name: "Boolean"
+ }
+ },
+ enableQueryAnalysisValidation: {
+ serializedName: "enableQueryAnalysisValidation",
+ type: {
+ name: "Boolean"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlDbSyncTaskInput: msRest.CompositeMapper = {
+ serializedName: "MigrateSqlServerSqlDbSyncTaskInput",
+ type: {
+ name: "Composite",
+ className: "MigrateSqlServerSqlDbSyncTaskInput",
+ modelProperties: {
+ ...SqlMigrationTaskInput.type.modelProperties,
+ selectedDatabases: {
+ required: true,
+ serializedName: "selectedDatabases",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MigrateSqlServerSqlDbSyncDatabaseInput"
+ }
+ }
+ }
+ },
+ validationOptions: {
+ serializedName: "validationOptions",
+ type: {
+ name: "Composite",
+ className: "MigrationValidationOptions"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlDbSyncTaskProperties: msRest.CompositeMapper = {
+ serializedName: "Migrate.SqlServer.AzureSqlDb.Sync",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "MigrateSqlServerSqlDbSyncTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "MigrateSqlServerSqlDbSyncTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MigrateSqlServerSqlDbSyncTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ValidationError: msRest.CompositeMapper = {
+ serializedName: "ValidationError",
+ type: {
+ name: "Composite",
+ className: "ValidationError",
+ modelProperties: {
+ text: {
+ serializedName: "text",
+ type: {
+ name: "String"
+ }
+ },
+ severity: {
+ serializedName: "severity",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const WaitStatistics: msRest.CompositeMapper = {
+ serializedName: "WaitStatistics",
+ type: {
+ name: "Composite",
+ className: "WaitStatistics",
+ modelProperties: {
+ waitType: {
+ serializedName: "waitType",
+ type: {
+ name: "String"
+ }
+ },
+ waitTimeMs: {
+ serializedName: "waitTimeMs",
+ defaultValue: 0,
+ type: {
+ name: "Number"
+ }
+ },
+ waitCount: {
+ serializedName: "waitCount",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const ExecutionStatistics: msRest.CompositeMapper = {
+ serializedName: "ExecutionStatistics",
+ type: {
+ name: "Composite",
+ className: "ExecutionStatistics",
+ modelProperties: {
+ executionCount: {
+ serializedName: "executionCount",
+ type: {
+ name: "Number"
+ }
+ },
+ cpuTimeMs: {
+ serializedName: "cpuTimeMs",
+ type: {
+ name: "Number"
+ }
+ },
+ elapsedTimeMs: {
+ serializedName: "elapsedTimeMs",
+ type: {
+ name: "Number"
+ }
+ },
+ waitStats: {
+ serializedName: "waitStats",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Composite",
+ className: "WaitStatistics"
+ }
+ }
+ }
+ },
+ hasErrors: {
+ serializedName: "hasErrors",
+ type: {
+ name: "Boolean"
+ }
+ },
+ sqlErrors: {
+ serializedName: "sqlErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const QueryExecutionResult: msRest.CompositeMapper = {
+ serializedName: "QueryExecutionResult",
+ type: {
+ name: "Composite",
+ className: "QueryExecutionResult",
+ modelProperties: {
+ queryText: {
+ serializedName: "queryText",
+ type: {
+ name: "String"
+ }
+ },
+ statementsInBatch: {
+ serializedName: "statementsInBatch",
+ type: {
+ name: "Number"
+ }
+ },
+ sourceResult: {
+ serializedName: "sourceResult",
+ type: {
+ name: "Composite",
+ className: "ExecutionStatistics"
+ }
+ },
+ targetResult: {
+ serializedName: "targetResult",
+ type: {
+ name: "Composite",
+ className: "ExecutionStatistics"
+ }
+ }
+ }
+ }
+};
+
+export const QueryAnalysisValidationResult: msRest.CompositeMapper = {
+ serializedName: "QueryAnalysisValidationResult",
+ type: {
+ name: "Composite",
+ className: "QueryAnalysisValidationResult",
+ modelProperties: {
+ queryResults: {
+ serializedName: "queryResults",
+ type: {
+ name: "Composite",
+ className: "QueryExecutionResult"
+ }
+ },
+ validationErrors: {
+ serializedName: "validationErrors",
+ type: {
+ name: "Composite",
+ className: "ValidationError"
+ }
+ }
+ }
+ }
+};
+
+export const SchemaComparisonValidationResultType: msRest.CompositeMapper = {
+ serializedName: "SchemaComparisonValidationResultType",
+ type: {
+ name: "Composite",
+ className: "SchemaComparisonValidationResultType",
+ modelProperties: {
+ objectName: {
+ serializedName: "objectName",
+ type: {
+ name: "String"
+ }
+ },
+ objectType: {
+ serializedName: "objectType",
+ type: {
+ name: "String"
+ }
+ },
+ updateAction: {
+ serializedName: "updateAction",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const SchemaComparisonValidationResult: msRest.CompositeMapper = {
+ serializedName: "SchemaComparisonValidationResult",
+ type: {
+ name: "Composite",
+ className: "SchemaComparisonValidationResult",
+ modelProperties: {
+ schemaDifferences: {
+ serializedName: "schemaDifferences",
+ type: {
+ name: "Composite",
+ className: "SchemaComparisonValidationResultType"
+ }
+ },
+ validationErrors: {
+ serializedName: "validationErrors",
+ type: {
+ name: "Composite",
+ className: "ValidationError"
+ }
+ },
+ sourceDatabaseObjectCount: {
+ serializedName: "sourceDatabaseObjectCount",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ },
+ targetDatabaseObjectCount: {
+ serializedName: "targetDatabaseObjectCount",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const DataIntegrityValidationResult: msRest.CompositeMapper = {
+ serializedName: "DataIntegrityValidationResult",
+ type: {
+ name: "Composite",
+ className: "DataIntegrityValidationResult",
+ modelProperties: {
+ failedObjects: {
+ serializedName: "failedObjects",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ validationErrors: {
+ serializedName: "validationErrors",
+ type: {
+ name: "Composite",
+ className: "ValidationError"
+ }
+ }
+ }
+ }
+};
+
+export const MigrationValidationDatabaseLevelResult: msRest.CompositeMapper = {
+ serializedName: "MigrationValidationDatabaseLevelResult",
+ type: {
+ name: "Composite",
+ className: "MigrationValidationDatabaseLevelResult",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ migrationId: {
+ readOnly: true,
+ serializedName: "migrationId",
+ type: {
+ name: "String"
+ }
+ },
+ sourceDatabaseName: {
+ readOnly: true,
+ serializedName: "sourceDatabaseName",
+ type: {
+ name: "String"
+ }
+ },
+ targetDatabaseName: {
+ readOnly: true,
+ serializedName: "targetDatabaseName",
+ type: {
+ name: "String"
+ }
+ },
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ dataIntegrityValidationResult: {
+ readOnly: true,
+ serializedName: "dataIntegrityValidationResult",
+ type: {
+ name: "Composite",
+ className: "DataIntegrityValidationResult"
+ }
+ },
+ schemaValidationResult: {
+ readOnly: true,
+ serializedName: "schemaValidationResult",
+ type: {
+ name: "Composite",
+ className: "SchemaComparisonValidationResult"
+ }
+ },
+ queryAnalysisValidationResult: {
+ readOnly: true,
+ serializedName: "queryAnalysisValidationResult",
+ type: {
+ name: "Composite",
+ className: "QueryAnalysisValidationResult"
+ }
+ },
+ status: {
+ readOnly: true,
+ serializedName: "status",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrationValidationDatabaseSummaryResult: msRest.CompositeMapper = {
+ serializedName: "MigrationValidationDatabaseSummaryResult",
+ type: {
+ name: "Composite",
+ className: "MigrationValidationDatabaseSummaryResult",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ migrationId: {
+ readOnly: true,
+ serializedName: "migrationId",
+ type: {
+ name: "String"
+ }
+ },
+ sourceDatabaseName: {
+ readOnly: true,
+ serializedName: "sourceDatabaseName",
+ type: {
+ name: "String"
+ }
+ },
+ targetDatabaseName: {
+ readOnly: true,
+ serializedName: "targetDatabaseName",
+ type: {
+ name: "String"
+ }
+ },
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ status: {
+ readOnly: true,
+ serializedName: "status",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrationValidationResult: msRest.CompositeMapper = {
+ serializedName: "MigrationValidationResult",
+ type: {
+ name: "Composite",
+ className: "MigrationValidationResult",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ migrationId: {
+ readOnly: true,
+ serializedName: "migrationId",
+ type: {
+ name: "String"
+ }
+ },
+ summaryResults: {
+ serializedName: "summaryResults",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Composite",
+ className: "MigrationValidationDatabaseSummaryResult"
+ }
+ }
+ }
+ },
+ status: {
+ readOnly: true,
+ serializedName: "status",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlDbTaskOutput: msRest.CompositeMapper = {
+ serializedName: "MigrateSqlServerSqlDbTaskOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "resultType",
+ clientName: "resultType"
+ },
+ uberParent: "MigrateSqlServerSqlDbTaskOutput",
+ className: "MigrateSqlServerSqlDbTaskOutput",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ resultType: {
+ required: true,
+ serializedName: "resultType",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlDbTaskOutputError: msRest.CompositeMapper = {
+ serializedName: "ErrorOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateSqlServerSqlDbTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateSqlServerSqlDbTaskOutput",
+ className: "MigrateSqlServerSqlDbTaskOutputError",
+ modelProperties: {
+ ...MigrateSqlServerSqlDbTaskOutput.type.modelProperties,
+ error: {
+ readOnly: true,
+ serializedName: "error",
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlDbTaskOutputTableLevel: msRest.CompositeMapper = {
+ serializedName: "TableLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateSqlServerSqlDbTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateSqlServerSqlDbTaskOutput",
+ className: "MigrateSqlServerSqlDbTaskOutputTableLevel",
+ modelProperties: {
+ ...MigrateSqlServerSqlDbTaskOutput.type.modelProperties,
+ objectName: {
+ readOnly: true,
+ serializedName: "objectName",
+ type: {
+ name: "String"
+ }
+ },
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ state: {
+ readOnly: true,
+ serializedName: "state",
+ type: {
+ name: "String"
+ }
+ },
+ statusMessage: {
+ readOnly: true,
+ serializedName: "statusMessage",
+ type: {
+ name: "String"
+ }
+ },
+ itemsCount: {
+ readOnly: true,
+ serializedName: "itemsCount",
+ type: {
+ name: "Number"
+ }
+ },
+ itemsCompletedCount: {
+ readOnly: true,
+ serializedName: "itemsCompletedCount",
+ type: {
+ name: "Number"
+ }
+ },
+ errorPrefix: {
+ readOnly: true,
+ serializedName: "errorPrefix",
+ type: {
+ name: "String"
+ }
+ },
+ resultPrefix: {
+ readOnly: true,
+ serializedName: "resultPrefix",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const DataItemMigrationSummaryResult: msRest.CompositeMapper = {
+ serializedName: "DataItemMigrationSummaryResult",
+ type: {
+ name: "Composite",
+ className: "DataItemMigrationSummaryResult",
+ modelProperties: {
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ state: {
+ readOnly: true,
+ serializedName: "state",
+ type: {
+ name: "String"
+ }
+ },
+ statusMessage: {
+ readOnly: true,
+ serializedName: "statusMessage",
+ type: {
+ name: "String"
+ }
+ },
+ itemsCount: {
+ readOnly: true,
+ serializedName: "itemsCount",
+ type: {
+ name: "Number"
+ }
+ },
+ itemsCompletedCount: {
+ readOnly: true,
+ serializedName: "itemsCompletedCount",
+ type: {
+ name: "Number"
+ }
+ },
+ errorPrefix: {
+ readOnly: true,
+ serializedName: "errorPrefix",
+ type: {
+ name: "String"
+ }
+ },
+ resultPrefix: {
+ readOnly: true,
+ serializedName: "resultPrefix",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlDbTaskOutputDatabaseLevel: msRest.CompositeMapper = {
+ serializedName: "DatabaseLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateSqlServerSqlDbTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateSqlServerSqlDbTaskOutput",
+ className: "MigrateSqlServerSqlDbTaskOutputDatabaseLevel",
+ modelProperties: {
+ ...MigrateSqlServerSqlDbTaskOutput.type.modelProperties,
+ databaseName: {
+ readOnly: true,
+ serializedName: "databaseName",
+ type: {
+ name: "String"
+ }
+ },
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ state: {
+ readOnly: true,
+ serializedName: "state",
+ type: {
+ name: "String"
+ }
+ },
+ stage: {
+ readOnly: true,
+ serializedName: "stage",
+ type: {
+ name: "String"
+ }
+ },
+ statusMessage: {
+ readOnly: true,
+ serializedName: "statusMessage",
+ type: {
+ name: "String"
+ }
+ },
+ message: {
+ readOnly: true,
+ serializedName: "message",
+ type: {
+ name: "String"
+ }
+ },
+ numberOfObjects: {
+ readOnly: true,
+ serializedName: "numberOfObjects",
+ type: {
+ name: "Number"
+ }
+ },
+ numberOfObjectsCompleted: {
+ readOnly: true,
+ serializedName: "numberOfObjectsCompleted",
+ type: {
+ name: "Number"
+ }
+ },
+ errorCount: {
+ readOnly: true,
+ serializedName: "errorCount",
+ type: {
+ name: "Number"
+ }
+ },
+ errorPrefix: {
+ readOnly: true,
+ serializedName: "errorPrefix",
+ type: {
+ name: "String"
+ }
+ },
+ resultPrefix: {
+ readOnly: true,
+ serializedName: "resultPrefix",
+ type: {
+ name: "String"
+ }
+ },
+ exceptionsAndWarnings: {
+ readOnly: true,
+ serializedName: "exceptionsAndWarnings",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ },
+ objectSummary: {
+ readOnly: true,
+ serializedName: "objectSummary",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Composite",
+ className: "DataItemMigrationSummaryResult"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrationReportResult: msRest.CompositeMapper = {
+ serializedName: "MigrationReportResult",
+ type: {
+ name: "Composite",
+ className: "MigrationReportResult",
+ modelProperties: {
+ id: {
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ reportUrl: {
+ serializedName: "reportUrl",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const DatabaseSummaryResult: msRest.CompositeMapper = {
+ serializedName: "DatabaseSummaryResult",
+ type: {
+ name: "Composite",
+ className: "DatabaseSummaryResult",
+ modelProperties: {
+ ...DataItemMigrationSummaryResult.type.modelProperties,
+ sizeMB: {
+ readOnly: true,
+ serializedName: "sizeMB",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlDbTaskOutputMigrationLevel: msRest.CompositeMapper = {
+ serializedName: "MigrationLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateSqlServerSqlDbTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateSqlServerSqlDbTaskOutput",
+ className: "MigrateSqlServerSqlDbTaskOutputMigrationLevel",
+ modelProperties: {
+ ...MigrateSqlServerSqlDbTaskOutput.type.modelProperties,
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ durationInSeconds: {
+ readOnly: true,
+ serializedName: "durationInSeconds",
+ type: {
+ name: "Number"
+ }
+ },
+ status: {
+ readOnly: true,
+ serializedName: "status",
+ type: {
+ name: "String"
+ }
+ },
+ statusMessage: {
+ readOnly: true,
+ serializedName: "statusMessage",
+ type: {
+ name: "String"
+ }
+ },
+ message: {
+ readOnly: true,
+ serializedName: "message",
+ type: {
+ name: "String"
+ }
+ },
+ databases: {
+ readOnly: true,
+ serializedName: "databases",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ databaseSummary: {
+ readOnly: true,
+ serializedName: "databaseSummary",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Composite",
+ className: "DatabaseSummaryResult"
+ }
+ }
+ }
+ },
+ migrationValidationResult: {
+ serializedName: "migrationValidationResult",
+ type: {
+ name: "Composite",
+ className: "MigrationValidationResult"
+ }
+ },
+ migrationReportResult: {
+ serializedName: "migrationReportResult",
+ type: {
+ name: "Composite",
+ className: "MigrationReportResult"
+ }
+ },
+ sourceServerVersion: {
+ readOnly: true,
+ serializedName: "sourceServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ sourceServerBrandVersion: {
+ readOnly: true,
+ serializedName: "sourceServerBrandVersion",
+ type: {
+ name: "String"
+ }
+ },
+ targetServerVersion: {
+ readOnly: true,
+ serializedName: "targetServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ targetServerBrandVersion: {
+ readOnly: true,
+ serializedName: "targetServerBrandVersion",
+ type: {
+ name: "String"
+ }
+ },
+ exceptionsAndWarnings: {
+ readOnly: true,
+ serializedName: "exceptionsAndWarnings",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlDbDatabaseInput: msRest.CompositeMapper = {
+ serializedName: "MigrateSqlServerSqlDbDatabaseInput",
+ type: {
+ name: "Composite",
+ className: "MigrateSqlServerSqlDbDatabaseInput",
+ modelProperties: {
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ targetDatabaseName: {
+ serializedName: "targetDatabaseName",
+ type: {
+ name: "String"
+ }
+ },
+ makeSourceDbReadOnly: {
+ serializedName: "makeSourceDbReadOnly",
+ type: {
+ name: "Boolean"
+ }
+ },
+ tableMap: {
+ serializedName: "tableMap",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlDbTaskInput: msRest.CompositeMapper = {
+ serializedName: "MigrateSqlServerSqlDbTaskInput",
+ type: {
+ name: "Composite",
+ className: "MigrateSqlServerSqlDbTaskInput",
+ modelProperties: {
+ ...SqlMigrationTaskInput.type.modelProperties,
+ selectedDatabases: {
+ required: true,
+ serializedName: "selectedDatabases",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MigrateSqlServerSqlDbDatabaseInput"
+ }
+ }
+ }
+ },
+ validationOptions: {
+ serializedName: "validationOptions",
+ type: {
+ name: "Composite",
+ className: "MigrationValidationOptions"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlDbTaskProperties: msRest.CompositeMapper = {
+ serializedName: "Migrate.SqlServer.SqlDb",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "MigrateSqlServerSqlDbTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "MigrateSqlServerSqlDbTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MigrateSqlServerSqlDbTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlMISyncTaskOutput: msRest.CompositeMapper = {
+ serializedName: "MigrateSqlServerSqlMISyncTaskOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "resultType",
+ clientName: "resultType"
+ },
+ uberParent: "MigrateSqlServerSqlMISyncTaskOutput",
+ className: "MigrateSqlServerSqlMISyncTaskOutput",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ resultType: {
+ required: true,
+ serializedName: "resultType",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlMISyncTaskOutputError: msRest.CompositeMapper = {
+ serializedName: "ErrorOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateSqlServerSqlMISyncTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateSqlServerSqlMISyncTaskOutput",
+ className: "MigrateSqlServerSqlMISyncTaskOutputError",
+ modelProperties: {
+ ...MigrateSqlServerSqlMISyncTaskOutput.type.modelProperties,
+ error: {
+ readOnly: true,
+ serializedName: "error",
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+};
+
+export const BackupFileInfo: msRest.CompositeMapper = {
+ serializedName: "BackupFileInfo",
+ type: {
+ name: "Composite",
+ className: "BackupFileInfo",
+ modelProperties: {
+ fileLocation: {
+ serializedName: "fileLocation",
+ type: {
+ name: "String"
+ }
+ },
+ familySequenceNumber: {
+ serializedName: "familySequenceNumber",
+ type: {
+ name: "Number"
+ }
+ },
+ status: {
+ serializedName: "status",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const BackupSetInfo: msRest.CompositeMapper = {
+ serializedName: "BackupSetInfo",
+ type: {
+ name: "Composite",
+ className: "BackupSetInfo",
+ modelProperties: {
+ backupSetId: {
+ serializedName: "backupSetId",
+ type: {
+ name: "String"
+ }
+ },
+ firstLsn: {
+ serializedName: "firstLsn",
+ type: {
+ name: "String"
+ }
+ },
+ lastLsn: {
+ serializedName: "lastLsn",
+ type: {
+ name: "String"
+ }
+ },
+ lastModifiedTime: {
+ serializedName: "lastModifiedTime",
+ type: {
+ name: "DateTime"
+ }
+ },
+ backupType: {
+ serializedName: "backupType",
+ type: {
+ name: "String"
+ }
+ },
+ listOfBackupFiles: {
+ serializedName: "listOfBackupFiles",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "BackupFileInfo"
+ }
+ }
+ }
+ },
+ databaseName: {
+ serializedName: "databaseName",
+ type: {
+ name: "String"
+ }
+ },
+ backupStartDate: {
+ serializedName: "backupStartDate",
+ type: {
+ name: "DateTime"
+ }
+ },
+ backupFinishedDate: {
+ serializedName: "backupFinishedDate",
+ type: {
+ name: "DateTime"
+ }
+ },
+ isBackupRestored: {
+ serializedName: "isBackupRestored",
+ type: {
+ name: "Boolean"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel: msRest.CompositeMapper = {
+ serializedName: "DatabaseLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateSqlServerSqlMISyncTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateSqlServerSqlMISyncTaskOutput",
+ className: "MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel",
+ modelProperties: {
+ ...MigrateSqlServerSqlMISyncTaskOutput.type.modelProperties,
+ sourceDatabaseName: {
+ readOnly: true,
+ serializedName: "sourceDatabaseName",
+ type: {
+ name: "String"
+ }
+ },
+ migrationState: {
+ readOnly: true,
+ serializedName: "migrationState",
+ type: {
+ name: "String"
+ }
+ },
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ fullBackupSetInfo: {
+ readOnly: true,
+ serializedName: "fullBackupSetInfo",
+ type: {
+ name: "Composite",
+ className: "BackupSetInfo"
+ }
+ },
+ lastRestoredBackupSetInfo: {
+ readOnly: true,
+ serializedName: "lastRestoredBackupSetInfo",
+ type: {
+ name: "Composite",
+ className: "BackupSetInfo"
+ }
+ },
+ activeBackupSets: {
+ readOnly: true,
+ serializedName: "activeBackupSets",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "BackupSetInfo"
+ }
+ }
+ }
+ },
+ containerName: {
+ readOnly: true,
+ serializedName: "containerName",
+ type: {
+ name: "String"
+ }
+ },
+ errorPrefix: {
+ readOnly: true,
+ serializedName: "errorPrefix",
+ type: {
+ name: "String"
+ }
+ },
+ isFullBackupRestored: {
+ readOnly: true,
+ serializedName: "isFullBackupRestored",
+ type: {
+ name: "Boolean"
+ }
+ },
+ exceptionsAndWarnings: {
+ readOnly: true,
+ serializedName: "exceptionsAndWarnings",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlMISyncTaskOutputMigrationLevel: msRest.CompositeMapper = {
+ serializedName: "MigrationLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateSqlServerSqlMISyncTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateSqlServerSqlMISyncTaskOutput",
+ className: "MigrateSqlServerSqlMISyncTaskOutputMigrationLevel",
+ modelProperties: {
+ ...MigrateSqlServerSqlMISyncTaskOutput.type.modelProperties,
+ databaseCount: {
+ readOnly: true,
+ serializedName: "databaseCount",
+ type: {
+ name: "Number"
+ }
+ },
+ state: {
+ readOnly: true,
+ serializedName: "state",
+ type: {
+ name: "String"
+ }
+ },
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ sourceServerName: {
+ readOnly: true,
+ serializedName: "sourceServerName",
+ type: {
+ name: "String"
+ }
+ },
+ sourceServerVersion: {
+ readOnly: true,
+ serializedName: "sourceServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ sourceServerBrandVersion: {
+ readOnly: true,
+ serializedName: "sourceServerBrandVersion",
+ type: {
+ name: "String"
+ }
+ },
+ targetServerName: {
+ readOnly: true,
+ serializedName: "targetServerName",
+ type: {
+ name: "String"
+ }
+ },
+ targetServerVersion: {
+ readOnly: true,
+ serializedName: "targetServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ targetServerBrandVersion: {
+ readOnly: true,
+ serializedName: "targetServerBrandVersion",
+ type: {
+ name: "String"
+ }
+ },
+ databaseErrorCount: {
+ readOnly: true,
+ serializedName: "databaseErrorCount",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlMISyncTaskInput: msRest.CompositeMapper = {
+ serializedName: "MigrateSqlServerSqlMISyncTaskInput",
+ type: {
+ name: "Composite",
+ className: "MigrateSqlServerSqlMISyncTaskInput",
+ modelProperties: {
+ ...SqlServerSqlMISyncTaskInput.type.modelProperties
+ }
+ }
+};
+
+export const MigrateSqlServerSqlMISyncTaskProperties: msRest.CompositeMapper = {
+ serializedName: "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "MigrateSqlServerSqlMISyncTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "MigrateSqlServerSqlMISyncTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MigrateSqlServerSqlMISyncTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlMITaskOutput: msRest.CompositeMapper = {
+ serializedName: "MigrateSqlServerSqlMITaskOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "resultType",
+ clientName: "resultType"
+ },
+ uberParent: "MigrateSqlServerSqlMITaskOutput",
+ className: "MigrateSqlServerSqlMITaskOutput",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ resultType: {
+ required: true,
+ serializedName: "resultType",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlMITaskOutputError: msRest.CompositeMapper = {
+ serializedName: "ErrorOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateSqlServerSqlMITaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateSqlServerSqlMITaskOutput",
+ className: "MigrateSqlServerSqlMITaskOutputError",
+ modelProperties: {
+ ...MigrateSqlServerSqlMITaskOutput.type.modelProperties,
+ error: {
+ readOnly: true,
+ serializedName: "error",
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlMITaskOutputLoginLevel: msRest.CompositeMapper = {
+ serializedName: "LoginLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateSqlServerSqlMITaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateSqlServerSqlMITaskOutput",
+ className: "MigrateSqlServerSqlMITaskOutputLoginLevel",
+ modelProperties: {
+ ...MigrateSqlServerSqlMITaskOutput.type.modelProperties,
+ loginName: {
+ readOnly: true,
+ serializedName: "loginName",
+ type: {
+ name: "String"
+ }
+ },
+ state: {
+ readOnly: true,
+ serializedName: "state",
+ type: {
+ name: "String"
+ }
+ },
+ stage: {
+ readOnly: true,
+ serializedName: "stage",
+ type: {
+ name: "String"
+ }
+ },
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ message: {
+ readOnly: true,
+ serializedName: "message",
+ type: {
+ name: "String"
+ }
+ },
+ exceptionsAndWarnings: {
+ readOnly: true,
+ serializedName: "exceptionsAndWarnings",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlMITaskOutputAgentJobLevel: msRest.CompositeMapper = {
+ serializedName: "AgentJobLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateSqlServerSqlMITaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateSqlServerSqlMITaskOutput",
+ className: "MigrateSqlServerSqlMITaskOutputAgentJobLevel",
+ modelProperties: {
+ ...MigrateSqlServerSqlMITaskOutput.type.modelProperties,
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ isEnabled: {
+ readOnly: true,
+ serializedName: "isEnabled",
+ type: {
+ name: "Boolean"
+ }
+ },
+ state: {
+ readOnly: true,
+ serializedName: "state",
+ type: {
+ name: "String"
+ }
+ },
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ message: {
+ readOnly: true,
+ serializedName: "message",
+ type: {
+ name: "String"
+ }
+ },
+ exceptionsAndWarnings: {
+ readOnly: true,
+ serializedName: "exceptionsAndWarnings",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlMITaskOutputDatabaseLevel: msRest.CompositeMapper = {
+ serializedName: "DatabaseLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateSqlServerSqlMITaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateSqlServerSqlMITaskOutput",
+ className: "MigrateSqlServerSqlMITaskOutputDatabaseLevel",
+ modelProperties: {
+ ...MigrateSqlServerSqlMITaskOutput.type.modelProperties,
+ databaseName: {
+ readOnly: true,
+ serializedName: "databaseName",
+ type: {
+ name: "String"
+ }
+ },
+ sizeMB: {
+ readOnly: true,
+ serializedName: "sizeMB",
+ type: {
+ name: "Number"
+ }
+ },
+ state: {
+ readOnly: true,
+ serializedName: "state",
+ type: {
+ name: "String"
+ }
+ },
+ stage: {
+ readOnly: true,
+ serializedName: "stage",
+ type: {
+ name: "String"
+ }
+ },
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ message: {
+ readOnly: true,
+ serializedName: "message",
+ type: {
+ name: "String"
+ }
+ },
+ exceptionsAndWarnings: {
+ readOnly: true,
+ serializedName: "exceptionsAndWarnings",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const OrphanedUserInfo: msRest.CompositeMapper = {
+ serializedName: "OrphanedUserInfo",
+ type: {
+ name: "Composite",
+ className: "OrphanedUserInfo",
+ modelProperties: {
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ databaseName: {
+ serializedName: "databaseName",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const StartMigrationScenarioServerRoleResult: msRest.CompositeMapper = {
+ serializedName: "StartMigrationScenarioServerRoleResult",
+ type: {
+ name: "Composite",
+ className: "StartMigrationScenarioServerRoleResult",
+ modelProperties: {
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ state: {
+ readOnly: true,
+ serializedName: "state",
+ type: {
+ name: "String"
+ }
+ },
+ exceptionsAndWarnings: {
+ readOnly: true,
+ serializedName: "exceptionsAndWarnings",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlMITaskOutputMigrationLevel: msRest.CompositeMapper = {
+ serializedName: "MigrationLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateSqlServerSqlMITaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateSqlServerSqlMITaskOutput",
+ className: "MigrateSqlServerSqlMITaskOutputMigrationLevel",
+ modelProperties: {
+ ...MigrateSqlServerSqlMITaskOutput.type.modelProperties,
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ status: {
+ readOnly: true,
+ serializedName: "status",
+ type: {
+ name: "String"
+ }
+ },
+ state: {
+ readOnly: true,
+ serializedName: "state",
+ type: {
+ name: "String"
+ }
+ },
+ agentJobs: {
+ readOnly: true,
+ serializedName: "agentJobs",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ logins: {
+ readOnly: true,
+ serializedName: "logins",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ message: {
+ readOnly: true,
+ serializedName: "message",
+ type: {
+ name: "String"
+ }
+ },
+ serverRoleResults: {
+ readOnly: true,
+ serializedName: "serverRoleResults",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Composite",
+ className: "StartMigrationScenarioServerRoleResult"
+ }
+ }
+ }
+ },
+ orphanedUsersInfo: {
+ readOnly: true,
+ serializedName: "orphanedUsersInfo",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "OrphanedUserInfo"
+ }
+ }
+ }
+ },
+ databases: {
+ readOnly: true,
+ serializedName: "databases",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ sourceServerVersion: {
+ readOnly: true,
+ serializedName: "sourceServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ sourceServerBrandVersion: {
+ readOnly: true,
+ serializedName: "sourceServerBrandVersion",
+ type: {
+ name: "String"
+ }
+ },
+ targetServerVersion: {
+ readOnly: true,
+ serializedName: "targetServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ targetServerBrandVersion: {
+ readOnly: true,
+ serializedName: "targetServerBrandVersion",
+ type: {
+ name: "String"
+ }
+ },
+ exceptionsAndWarnings: {
+ readOnly: true,
+ serializedName: "exceptionsAndWarnings",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlMITaskInput: msRest.CompositeMapper = {
+ serializedName: "MigrateSqlServerSqlMITaskInput",
+ type: {
+ name: "Composite",
+ className: "MigrateSqlServerSqlMITaskInput",
+ modelProperties: {
+ ...SqlMigrationTaskInput.type.modelProperties,
+ selectedDatabases: {
+ required: true,
+ serializedName: "selectedDatabases",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MigrateSqlServerSqlMIDatabaseInput"
+ }
+ }
+ }
+ },
+ selectedLogins: {
+ serializedName: "selectedLogins",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ selectedAgentJobs: {
+ serializedName: "selectedAgentJobs",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ backupFileShare: {
+ serializedName: "backupFileShare",
+ type: {
+ name: "Composite",
+ className: "FileShare"
+ }
+ },
+ backupBlobShare: {
+ required: true,
+ serializedName: "backupBlobShare",
+ type: {
+ name: "Composite",
+ className: "BlobShare"
+ }
+ },
+ backupMode: {
+ serializedName: "backupMode",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlMITaskProperties: msRest.CompositeMapper = {
+ serializedName: "Migrate.SqlServer.AzureSqlDbMI",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "MigrateSqlServerSqlMITaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "MigrateSqlServerSqlMITaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MigrateSqlServerSqlMITaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateMongoDbTaskProperties: msRest.CompositeMapper = {
+ serializedName: "Migrate.MongoDb",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "MigrateMongoDbTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "MongoDbMigrationSettings"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MongoDbProgress"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToTargetAzureDbForMySqlTaskOutput: msRest.CompositeMapper = {
+ serializedName: "ConnectToTargetAzureDbForMySqlTaskOutput",
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetAzureDbForMySqlTaskOutput",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ serverVersion: {
+ readOnly: true,
+ serializedName: "serverVersion",
+ type: {
+ name: "String"
+ }
+ },
+ databases: {
+ readOnly: true,
+ serializedName: "databases",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ targetServerBrandVersion: {
+ readOnly: true,
+ serializedName: "targetServerBrandVersion",
+ type: {
+ name: "String"
+ }
+ },
+ validationErrors: {
+ readOnly: true,
+ serializedName: "validationErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToTargetAzureDbForMySqlTaskInput: msRest.CompositeMapper = {
+ serializedName: "ConnectToTargetAzureDbForMySqlTaskInput",
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetAzureDbForMySqlTaskInput",
+ modelProperties: {
+ sourceConnectionInfo: {
+ required: true,
+ serializedName: "sourceConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "MySqlConnectionInfo"
+ }
+ },
+ targetConnectionInfo: {
+ required: true,
+ serializedName: "targetConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "MySqlConnectionInfo"
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToTargetAzureDbForMySqlTaskProperties: msRest.CompositeMapper = {
+ serializedName: "ConnectToTarget.AzureDbForMySql",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "ConnectToTargetAzureDbForMySqlTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetAzureDbForMySqlTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetAzureDbForMySqlTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToTargetSqlMISyncTaskOutput: msRest.CompositeMapper = {
+ serializedName: "ConnectToTargetSqlMISyncTaskOutput",
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetSqlMISyncTaskOutput",
+ modelProperties: {
+ targetServerVersion: {
+ readOnly: true,
+ serializedName: "targetServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ targetServerBrandVersion: {
+ readOnly: true,
+ serializedName: "targetServerBrandVersion",
+ type: {
+ name: "String"
+ }
+ },
+ validationErrors: {
+ readOnly: true,
+ serializedName: "validationErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToTargetSqlMISyncTaskInput: msRest.CompositeMapper = {
+ serializedName: "ConnectToTargetSqlMISyncTaskInput",
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetSqlMISyncTaskInput",
+ modelProperties: {
+ targetConnectionInfo: {
+ required: true,
+ serializedName: "targetConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "MiSqlConnectionInfo"
+ }
+ },
+ azureApp: {
+ required: true,
+ serializedName: "azureApp",
+ type: {
+ name: "Composite",
+ className: "AzureActiveDirectoryApp"
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToTargetSqlMISyncTaskProperties: msRest.CompositeMapper = {
+ serializedName: "ConnectToTarget.AzureSqlDbMI.Sync.LRS",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "ConnectToTargetSqlMISyncTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetSqlMISyncTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetSqlMISyncTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToTargetSqlMITaskOutput: msRest.CompositeMapper = {
+ serializedName: "ConnectToTargetSqlMITaskOutput",
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetSqlMITaskOutput",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ targetServerVersion: {
+ readOnly: true,
+ serializedName: "targetServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ targetServerBrandVersion: {
+ readOnly: true,
+ serializedName: "targetServerBrandVersion",
+ type: {
+ name: "String"
+ }
+ },
+ logins: {
+ readOnly: true,
+ serializedName: "logins",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ agentJobs: {
+ readOnly: true,
+ serializedName: "agentJobs",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ validationErrors: {
+ readOnly: true,
+ serializedName: "validationErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToTargetSqlMITaskInput: msRest.CompositeMapper = {
+ serializedName: "ConnectToTargetSqlMITaskInput",
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetSqlMITaskInput",
+ modelProperties: {
+ targetConnectionInfo: {
+ required: true,
+ serializedName: "targetConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "SqlConnectionInfo"
+ }
+ },
+ collectLogins: {
+ serializedName: "collectLogins",
+ defaultValue: true,
+ type: {
+ name: "Boolean"
+ }
+ },
+ collectAgentJobs: {
+ serializedName: "collectAgentJobs",
+ defaultValue: true,
+ type: {
+ name: "Boolean"
+ }
+ },
+ validateSsisCatalogOnly: {
+ serializedName: "validateSsisCatalogOnly",
+ defaultValue: false,
+ type: {
+ name: "Boolean"
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToTargetSqlMITaskProperties: msRest.CompositeMapper = {
+ serializedName: "ConnectToTarget.AzureSqlDbMI",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "ConnectToTargetSqlMITaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetSqlMITaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetSqlMITaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const DatabaseTable: msRest.CompositeMapper = {
+ serializedName: "DatabaseTable",
+ type: {
+ name: "Composite",
+ className: "DatabaseTable",
+ modelProperties: {
+ hasRows: {
+ readOnly: true,
+ serializedName: "hasRows",
+ type: {
+ name: "Boolean"
+ }
+ },
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const GetUserTablesPostgreSqlTaskOutput: msRest.CompositeMapper = {
+ serializedName: "GetUserTablesPostgreSqlTaskOutput",
+ type: {
+ name: "Composite",
+ className: "GetUserTablesPostgreSqlTaskOutput",
+ modelProperties: {
+ databaseName: {
+ readOnly: true,
+ serializedName: "databaseName",
+ type: {
+ name: "String"
+ }
+ },
+ tables: {
+ readOnly: true,
+ serializedName: "tables",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "DatabaseTable"
+ }
+ }
+ }
+ },
+ validationErrors: {
+ readOnly: true,
+ serializedName: "validationErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const GetUserTablesPostgreSqlTaskInput: msRest.CompositeMapper = {
+ serializedName: "GetUserTablesPostgreSqlTaskInput",
+ type: {
+ name: "Composite",
+ className: "GetUserTablesPostgreSqlTaskInput",
+ modelProperties: {
+ connectionInfo: {
+ required: true,
+ serializedName: "connectionInfo",
+ type: {
+ name: "Composite",
+ className: "PostgreSqlConnectionInfo"
+ }
+ },
+ selectedDatabases: {
+ required: true,
+ serializedName: "selectedDatabases",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const GetUserTablesPostgreSqlTaskProperties: msRest.CompositeMapper = {
+ serializedName: "GetUserTablesPostgreSql",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "GetUserTablesPostgreSqlTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "GetUserTablesPostgreSqlTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "GetUserTablesPostgreSqlTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const GetUserTablesOracleTaskOutput: msRest.CompositeMapper = {
+ serializedName: "GetUserTablesOracleTaskOutput",
+ type: {
+ name: "Composite",
+ className: "GetUserTablesOracleTaskOutput",
+ modelProperties: {
+ schemaName: {
+ readOnly: true,
+ serializedName: "schemaName",
+ type: {
+ name: "String"
+ }
+ },
+ tables: {
+ readOnly: true,
+ serializedName: "tables",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "DatabaseTable"
+ }
+ }
+ }
+ },
+ validationErrors: {
+ readOnly: true,
+ serializedName: "validationErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const GetUserTablesOracleTaskInput: msRest.CompositeMapper = {
+ serializedName: "GetUserTablesOracleTaskInput",
+ type: {
+ name: "Composite",
+ className: "GetUserTablesOracleTaskInput",
+ modelProperties: {
+ connectionInfo: {
+ required: true,
+ serializedName: "connectionInfo",
+ type: {
+ name: "Composite",
+ className: "OracleConnectionInfo"
+ }
+ },
+ selectedSchemas: {
+ required: true,
+ serializedName: "selectedSchemas",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const GetUserTablesOracleTaskProperties: msRest.CompositeMapper = {
+ serializedName: "GetUserTablesOracle",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "GetUserTablesOracleTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "GetUserTablesOracleTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "GetUserTablesOracleTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const GetUserTablesSqlSyncTaskOutput: msRest.CompositeMapper = {
+ serializedName: "GetUserTablesSqlSyncTaskOutput",
+ type: {
+ name: "Composite",
+ className: "GetUserTablesSqlSyncTaskOutput",
+ modelProperties: {
+ databasesToSourceTables: {
+ readOnly: true,
+ serializedName: "databasesToSourceTables",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "DatabaseTable"
+ }
+ }
+ }
+ }
+ }
+ },
+ databasesToTargetTables: {
+ readOnly: true,
+ serializedName: "databasesToTargetTables",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "DatabaseTable"
+ }
+ }
+ }
+ }
+ }
+ },
+ tableValidationErrors: {
+ readOnly: true,
+ serializedName: "tableValidationErrors",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ },
+ validationErrors: {
+ readOnly: true,
+ serializedName: "validationErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const GetUserTablesSqlSyncTaskInput: msRest.CompositeMapper = {
+ serializedName: "GetUserTablesSqlSyncTaskInput",
+ type: {
+ name: "Composite",
+ className: "GetUserTablesSqlSyncTaskInput",
+ modelProperties: {
+ sourceConnectionInfo: {
+ required: true,
+ serializedName: "sourceConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "SqlConnectionInfo"
+ }
+ },
+ targetConnectionInfo: {
+ required: true,
+ serializedName: "targetConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "SqlConnectionInfo"
+ }
+ },
+ selectedSourceDatabases: {
+ required: true,
+ serializedName: "selectedSourceDatabases",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ selectedTargetDatabases: {
+ required: true,
+ serializedName: "selectedTargetDatabases",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const GetUserTablesSqlSyncTaskProperties: msRest.CompositeMapper = {
+ serializedName: "GetUserTables.AzureSqlDb.Sync",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "GetUserTablesSqlSyncTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "GetUserTablesSqlSyncTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "GetUserTablesSqlSyncTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const GetUserTablesSqlTaskOutput: msRest.CompositeMapper = {
+ serializedName: "GetUserTablesSqlTaskOutput",
+ type: {
+ name: "Composite",
+ className: "GetUserTablesSqlTaskOutput",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ databasesToTables: {
+ readOnly: true,
+ serializedName: "databasesToTables",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "DatabaseTable"
+ }
+ }
+ }
+ }
+ }
+ },
+ validationErrors: {
+ readOnly: true,
+ serializedName: "validationErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const GetUserTablesSqlTaskInput: msRest.CompositeMapper = {
+ serializedName: "GetUserTablesSqlTaskInput",
+ type: {
+ name: "Composite",
+ className: "GetUserTablesSqlTaskInput",
+ modelProperties: {
+ connectionInfo: {
+ required: true,
+ serializedName: "connectionInfo",
+ type: {
+ name: "Composite",
+ className: "SqlConnectionInfo"
+ }
+ },
+ selectedDatabases: {
+ required: true,
+ serializedName: "selectedDatabases",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const GetUserTablesSqlTaskProperties: msRest.CompositeMapper = {
+ serializedName: "GetUserTables.Sql",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "GetUserTablesSqlTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "GetUserTablesSqlTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "GetUserTablesSqlTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem: msRest.CompositeMapper = {
+ serializedName: "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput_databaseSchemaMapItem",
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem",
+ modelProperties: {
+ database: {
+ serializedName: "database",
+ type: {
+ name: "String"
+ }
+ },
+ schemas: {
+ serializedName: "schemas",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput: msRest.CompositeMapper = {
+ serializedName: "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput",
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput",
+ modelProperties: {
+ targetServerVersion: {
+ readOnly: true,
+ serializedName: "targetServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ databases: {
+ readOnly: true,
+ serializedName: "databases",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ targetServerBrandVersion: {
+ readOnly: true,
+ serializedName: "targetServerBrandVersion",
+ type: {
+ name: "String"
+ }
+ },
+ validationErrors: {
+ readOnly: true,
+ serializedName: "validationErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ },
+ databaseSchemaMap: {
+ serializedName: "databaseSchemaMap",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput: msRest.CompositeMapper = {
+ serializedName: "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput",
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput",
+ modelProperties: {
+ targetConnectionInfo: {
+ required: true,
+ serializedName: "targetConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "PostgreSqlConnectionInfo"
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties: msRest.CompositeMapper = {
+ serializedName: "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput: msRest.CompositeMapper = {
+ serializedName: "ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput",
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ targetServerVersion: {
+ readOnly: true,
+ serializedName: "targetServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ databases: {
+ readOnly: true,
+ serializedName: "databases",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ targetServerBrandVersion: {
+ readOnly: true,
+ serializedName: "targetServerBrandVersion",
+ type: {
+ name: "String"
+ }
+ },
+ validationErrors: {
+ readOnly: true,
+ serializedName: "validationErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToTargetAzureDbForPostgreSqlSyncTaskInput: msRest.CompositeMapper = {
+ serializedName: "ConnectToTargetAzureDbForPostgreSqlSyncTaskInput",
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetAzureDbForPostgreSqlSyncTaskInput",
+ modelProperties: {
+ sourceConnectionInfo: {
+ required: true,
+ serializedName: "sourceConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "PostgreSqlConnectionInfo"
+ }
+ },
+ targetConnectionInfo: {
+ required: true,
+ serializedName: "targetConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "PostgreSqlConnectionInfo"
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties: msRest.CompositeMapper = {
+ serializedName: "ConnectToTarget.AzureDbForPostgreSql.Sync",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetAzureDbForPostgreSqlSyncTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToTargetSqlDbTaskOutput: msRest.CompositeMapper = {
+ serializedName: "ConnectToTargetSqlDbTaskOutput",
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetSqlDbTaskOutput",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ databases: {
+ readOnly: true,
+ serializedName: "databases",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ targetServerVersion: {
+ readOnly: true,
+ serializedName: "targetServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ targetServerBrandVersion: {
+ readOnly: true,
+ serializedName: "targetServerBrandVersion",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToTargetSqlSqlDbSyncTaskInput: msRest.CompositeMapper = {
+ serializedName: "ConnectToTargetSqlSqlDbSyncTaskInput",
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetSqlSqlDbSyncTaskInput",
+ modelProperties: {
+ sourceConnectionInfo: {
+ required: true,
+ serializedName: "sourceConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "SqlConnectionInfo"
+ }
+ },
+ targetConnectionInfo: {
+ required: true,
+ serializedName: "targetConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "SqlConnectionInfo"
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToTargetSqlSqlDbSyncTaskProperties: msRest.CompositeMapper = {
+ serializedName: "ConnectToTarget.SqlDb.Sync",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "ConnectToTargetSqlSqlDbSyncTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetSqlSqlDbSyncTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetSqlDbTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToTargetSqlDbTaskInput: msRest.CompositeMapper = {
+ serializedName: "ConnectToTargetSqlDbTaskInput",
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetSqlDbTaskInput",
+ modelProperties: {
+ targetConnectionInfo: {
+ required: true,
+ serializedName: "targetConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "SqlConnectionInfo"
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToTargetSqlDbTaskProperties: msRest.CompositeMapper = {
+ serializedName: "ConnectToTarget.SqlDb",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "ConnectToTargetSqlDbTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetSqlDbTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ConnectToTargetSqlDbTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToSourceOracleSyncTaskOutput: msRest.CompositeMapper = {
+ serializedName: "ConnectToSourceOracleSyncTaskOutput",
+ type: {
+ name: "Composite",
+ className: "ConnectToSourceOracleSyncTaskOutput",
+ modelProperties: {
+ sourceServerVersion: {
+ readOnly: true,
+ serializedName: "sourceServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ databases: {
+ readOnly: true,
+ serializedName: "databases",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ sourceServerBrandVersion: {
+ readOnly: true,
+ serializedName: "sourceServerBrandVersion",
+ type: {
+ name: "String"
+ }
+ },
+ validationErrors: {
+ readOnly: true,
+ serializedName: "validationErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToSourceOracleSyncTaskInput: msRest.CompositeMapper = {
+ serializedName: "ConnectToSourceOracleSyncTaskInput",
+ type: {
+ name: "Composite",
+ className: "ConnectToSourceOracleSyncTaskInput",
+ modelProperties: {
+ sourceConnectionInfo: {
+ required: true,
+ serializedName: "sourceConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "OracleConnectionInfo"
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToSourceOracleSyncTaskProperties: msRest.CompositeMapper = {
+ serializedName: "ConnectToSource.Oracle.Sync",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "ConnectToSourceOracleSyncTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "ConnectToSourceOracleSyncTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ConnectToSourceOracleSyncTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToSourcePostgreSqlSyncTaskOutput: msRest.CompositeMapper = {
+ serializedName: "ConnectToSourcePostgreSqlSyncTaskOutput",
+ type: {
+ name: "Composite",
+ className: "ConnectToSourcePostgreSqlSyncTaskOutput",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ sourceServerVersion: {
+ readOnly: true,
+ serializedName: "sourceServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ databases: {
+ readOnly: true,
+ serializedName: "databases",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ sourceServerBrandVersion: {
+ readOnly: true,
+ serializedName: "sourceServerBrandVersion",
+ type: {
+ name: "String"
+ }
+ },
+ validationErrors: {
+ readOnly: true,
+ serializedName: "validationErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToSourcePostgreSqlSyncTaskInput: msRest.CompositeMapper = {
+ serializedName: "ConnectToSourcePostgreSqlSyncTaskInput",
+ type: {
+ name: "Composite",
+ className: "ConnectToSourcePostgreSqlSyncTaskInput",
+ modelProperties: {
+ sourceConnectionInfo: {
+ required: true,
+ serializedName: "sourceConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "PostgreSqlConnectionInfo"
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToSourcePostgreSqlSyncTaskProperties: msRest.CompositeMapper = {
+ serializedName: "ConnectToSource.PostgreSql.Sync",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "ConnectToSourcePostgreSqlSyncTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "ConnectToSourcePostgreSqlSyncTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ConnectToSourcePostgreSqlSyncTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrationEligibilityInfo: msRest.CompositeMapper = {
+ serializedName: "MigrationEligibilityInfo",
+ type: {
+ name: "Composite",
+ className: "MigrationEligibilityInfo",
+ modelProperties: {
+ isEligibileForMigration: {
+ readOnly: true,
+ serializedName: "isEligibileForMigration",
+ type: {
+ name: "Boolean"
+ }
+ },
+ validationMessages: {
+ readOnly: true,
+ serializedName: "validationMessages",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToSourceSqlServerTaskOutput: msRest.CompositeMapper = {
+ serializedName: "ConnectToSourceSqlServerTaskOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "resultType",
+ clientName: "resultType"
+ },
+ uberParent: "ConnectToSourceSqlServerTaskOutput",
+ className: "ConnectToSourceSqlServerTaskOutput",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ resultType: {
+ required: true,
+ serializedName: "resultType",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToSourceSqlServerTaskOutputAgentJobLevel: msRest.CompositeMapper = {
+ serializedName: "AgentJobLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ConnectToSourceSqlServerTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "ConnectToSourceSqlServerTaskOutput",
+ className: "ConnectToSourceSqlServerTaskOutputAgentJobLevel",
+ modelProperties: {
+ ...ConnectToSourceSqlServerTaskOutput.type.modelProperties,
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ jobCategory: {
+ readOnly: true,
+ serializedName: "jobCategory",
+ type: {
+ name: "String"
+ }
+ },
+ isEnabled: {
+ readOnly: true,
+ serializedName: "isEnabled",
+ type: {
+ name: "Boolean"
+ }
+ },
+ jobOwner: {
+ readOnly: true,
+ serializedName: "jobOwner",
+ type: {
+ name: "String"
+ }
+ },
+ lastExecutedOn: {
+ readOnly: true,
+ serializedName: "lastExecutedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ validationErrors: {
+ readOnly: true,
+ serializedName: "validationErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ },
+ migrationEligibility: {
+ readOnly: true,
+ serializedName: "migrationEligibility",
+ type: {
+ name: "Composite",
+ className: "MigrationEligibilityInfo"
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToSourceSqlServerTaskOutputLoginLevel: msRest.CompositeMapper = {
+ serializedName: "LoginLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ConnectToSourceSqlServerTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "ConnectToSourceSqlServerTaskOutput",
+ className: "ConnectToSourceSqlServerTaskOutputLoginLevel",
+ modelProperties: {
+ ...ConnectToSourceSqlServerTaskOutput.type.modelProperties,
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ loginType: {
+ readOnly: true,
+ serializedName: "loginType",
+ type: {
+ name: "String"
+ }
+ },
+ defaultDatabase: {
+ readOnly: true,
+ serializedName: "defaultDatabase",
+ type: {
+ name: "String"
+ }
+ },
+ isEnabled: {
+ readOnly: true,
+ serializedName: "isEnabled",
+ type: {
+ name: "Boolean"
+ }
+ },
+ migrationEligibility: {
+ readOnly: true,
+ serializedName: "migrationEligibility",
+ type: {
+ name: "Composite",
+ className: "MigrationEligibilityInfo"
+ }
+ }
+ }
+ }
+};
+
+export const DatabaseFileInfo: msRest.CompositeMapper = {
+ serializedName: "DatabaseFileInfo",
+ type: {
+ name: "Composite",
+ className: "DatabaseFileInfo",
+ modelProperties: {
+ databaseName: {
+ serializedName: "databaseName",
+ type: {
+ name: "String"
+ }
+ },
+ id: {
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ logicalName: {
+ serializedName: "logicalName",
+ type: {
+ name: "String"
+ }
+ },
+ physicalFullName: {
+ serializedName: "physicalFullName",
+ type: {
+ name: "String"
+ }
+ },
+ restoreFullName: {
+ serializedName: "restoreFullName",
+ type: {
+ name: "String"
+ }
+ },
+ fileType: {
+ serializedName: "fileType",
+ type: {
+ name: "String"
+ }
+ },
+ sizeMB: {
+ serializedName: "sizeMB",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToSourceSqlServerTaskOutputDatabaseLevel: msRest.CompositeMapper = {
+ serializedName: "DatabaseLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ConnectToSourceSqlServerTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "ConnectToSourceSqlServerTaskOutput",
+ className: "ConnectToSourceSqlServerTaskOutputDatabaseLevel",
+ modelProperties: {
+ ...ConnectToSourceSqlServerTaskOutput.type.modelProperties,
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ sizeMB: {
+ readOnly: true,
+ serializedName: "sizeMB",
+ type: {
+ name: "Number"
+ }
+ },
+ databaseFiles: {
+ readOnly: true,
+ serializedName: "databaseFiles",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "DatabaseFileInfo"
+ }
+ }
+ }
+ },
+ compatibilityLevel: {
+ readOnly: true,
+ serializedName: "compatibilityLevel",
+ type: {
+ name: "String"
+ }
+ },
+ databaseState: {
+ readOnly: true,
+ serializedName: "databaseState",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToSourceSqlServerTaskOutputTaskLevel: msRest.CompositeMapper = {
+ serializedName: "TaskLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ConnectToSourceSqlServerTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "ConnectToSourceSqlServerTaskOutput",
+ className: "ConnectToSourceSqlServerTaskOutputTaskLevel",
+ modelProperties: {
+ ...ConnectToSourceSqlServerTaskOutput.type.modelProperties,
+ databases: {
+ readOnly: true,
+ serializedName: "databases",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ logins: {
+ readOnly: true,
+ serializedName: "logins",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ agentJobs: {
+ readOnly: true,
+ serializedName: "agentJobs",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ databaseTdeCertificateMapping: {
+ readOnly: true,
+ serializedName: "databaseTdeCertificateMapping",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ sourceServerVersion: {
+ readOnly: true,
+ serializedName: "sourceServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ sourceServerBrandVersion: {
+ readOnly: true,
+ serializedName: "sourceServerBrandVersion",
+ type: {
+ name: "String"
+ }
+ },
+ validationErrors: {
+ readOnly: true,
+ serializedName: "validationErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToSourceSqlServerTaskInput: msRest.CompositeMapper = {
+ serializedName: "ConnectToSourceSqlServerTaskInput",
+ type: {
+ name: "Composite",
+ className: "ConnectToSourceSqlServerTaskInput",
+ modelProperties: {
+ sourceConnectionInfo: {
+ required: true,
+ serializedName: "sourceConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "SqlConnectionInfo"
+ }
+ },
+ checkPermissionsGroup: {
+ serializedName: "checkPermissionsGroup",
+ type: {
+ name: "Enum",
+ allowedValues: [
+ "Default",
+ "MigrationFromSqlServerToAzureDB",
+ "MigrationFromSqlServerToAzureMI",
+ "MigrationFromMySQLToAzureDBForMySQL"
+ ]
+ }
+ },
+ collectDatabases: {
+ serializedName: "collectDatabases",
+ defaultValue: true,
+ type: {
+ name: "Boolean"
+ }
+ },
+ collectLogins: {
+ serializedName: "collectLogins",
+ defaultValue: false,
+ type: {
+ name: "Boolean"
+ }
+ },
+ collectAgentJobs: {
+ serializedName: "collectAgentJobs",
+ defaultValue: false,
+ type: {
+ name: "Boolean"
+ }
+ },
+ collectTdeCertificateInfo: {
+ serializedName: "collectTdeCertificateInfo",
+ defaultValue: false,
+ type: {
+ name: "Boolean"
+ }
+ },
+ validateSsisCatalogOnly: {
+ serializedName: "validateSsisCatalogOnly",
+ defaultValue: false,
+ type: {
+ name: "Boolean"
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToSourceSqlServerSyncTaskProperties: msRest.CompositeMapper = {
+ serializedName: "ConnectToSource.SqlServer.Sync",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "ConnectToSourceSqlServerSyncTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "ConnectToSourceSqlServerTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ConnectToSourceSqlServerTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToSourceSqlServerTaskProperties: msRest.CompositeMapper = {
+ serializedName: "ConnectToSource.SqlServer",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "ConnectToSourceSqlServerTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "ConnectToSourceSqlServerTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ConnectToSourceSqlServerTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MongoDbShardKeyInfo: msRest.CompositeMapper = {
+ serializedName: "MongoDbShardKeyInfo",
+ type: {
+ name: "Composite",
+ className: "MongoDbShardKeyInfo",
+ modelProperties: {
+ fields: {
+ required: true,
+ serializedName: "fields",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MongoDbShardKeyField"
+ }
+ }
+ }
+ },
+ isUnique: {
+ required: true,
+ serializedName: "isUnique",
+ type: {
+ name: "Boolean"
+ }
+ }
+ }
+ }
+};
+
+export const MongoDbObjectInfo: msRest.CompositeMapper = {
+ serializedName: "MongoDbObjectInfo",
+ type: {
+ name: "Composite",
+ className: "MongoDbObjectInfo",
+ modelProperties: {
+ averageDocumentSize: {
+ required: true,
+ serializedName: "averageDocumentSize",
+ type: {
+ name: "Number"
+ }
+ },
+ dataSize: {
+ required: true,
+ serializedName: "dataSize",
+ type: {
+ name: "Number"
+ }
+ },
+ documentCount: {
+ required: true,
+ serializedName: "documentCount",
+ type: {
+ name: "Number"
+ }
+ },
+ name: {
+ required: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ qualifiedName: {
+ required: true,
+ serializedName: "qualifiedName",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MongoDbCollectionInfo: msRest.CompositeMapper = {
+ serializedName: "MongoDbCollectionInfo",
+ type: {
+ name: "Composite",
+ className: "MongoDbCollectionInfo",
+ modelProperties: {
+ ...MongoDbObjectInfo.type.modelProperties,
+ databaseName: {
+ required: true,
+ serializedName: "databaseName",
+ type: {
+ name: "String"
+ }
+ },
+ isCapped: {
+ required: true,
+ serializedName: "isCapped",
+ type: {
+ name: "Boolean"
+ }
+ },
+ isSystemCollection: {
+ required: true,
+ serializedName: "isSystemCollection",
+ type: {
+ name: "Boolean"
+ }
+ },
+ isView: {
+ required: true,
+ serializedName: "isView",
+ type: {
+ name: "Boolean"
+ }
+ },
+ shardKey: {
+ serializedName: "shardKey",
+ type: {
+ name: "Composite",
+ className: "MongoDbShardKeyInfo"
+ }
+ },
+ supportsSharding: {
+ required: true,
+ serializedName: "supportsSharding",
+ type: {
+ name: "Boolean"
+ }
+ },
+ viewOf: {
+ serializedName: "viewOf",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MongoDbDatabaseInfo: msRest.CompositeMapper = {
+ serializedName: "MongoDbDatabaseInfo",
+ type: {
+ name: "Composite",
+ className: "MongoDbDatabaseInfo",
+ modelProperties: {
+ ...MongoDbObjectInfo.type.modelProperties,
+ collections: {
+ required: true,
+ serializedName: "collections",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MongoDbCollectionInfo"
+ }
+ }
+ }
+ },
+ supportsSharding: {
+ required: true,
+ serializedName: "supportsSharding",
+ type: {
+ name: "Boolean"
+ }
+ }
+ }
+ }
+};
+
+export const MongoDbClusterInfo: msRest.CompositeMapper = {
+ serializedName: "MongoDbClusterInfo",
+ type: {
+ name: "Composite",
+ className: "MongoDbClusterInfo",
+ modelProperties: {
+ databases: {
+ required: true,
+ serializedName: "databases",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MongoDbDatabaseInfo"
+ }
+ }
+ }
+ },
+ supportsSharding: {
+ required: true,
+ serializedName: "supportsSharding",
+ type: {
+ name: "Boolean"
+ }
+ },
+ type: {
+ required: true,
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ },
+ version: {
+ required: true,
+ serializedName: "version",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToMongoDbTaskProperties: msRest.CompositeMapper = {
+ serializedName: "Connect.MongoDb",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "ConnectToMongoDbTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "MongoDbConnectionInfo"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MongoDbClusterInfo"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ProjectTask: msRest.CompositeMapper = {
+ serializedName: "ProjectTask",
+ type: {
+ name: "Composite",
+ className: "ProjectTask",
+ modelProperties: {
+ ...Resource.type.modelProperties,
+ etag: {
+ serializedName: "etag",
+ type: {
+ name: "String"
+ }
+ },
+ properties: {
+ serializedName: "properties",
+ type: {
+ name: "Composite",
+ className: "ProjectTaskProperties"
+ }
+ }
+ }
+ }
+};
+
+export const ServiceSku: msRest.CompositeMapper = {
+ serializedName: "ServiceSku",
+ type: {
+ name: "Composite",
+ className: "ServiceSku",
+ modelProperties: {
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ tier: {
+ serializedName: "tier",
+ type: {
+ name: "String"
+ }
+ },
+ family: {
+ serializedName: "family",
+ type: {
+ name: "String"
+ }
+ },
+ size: {
+ serializedName: "size",
+ type: {
+ name: "String"
+ }
+ },
+ capacity: {
+ serializedName: "capacity",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const DataMigrationService: msRest.CompositeMapper = {
+ serializedName: "DataMigrationService",
+ type: {
+ name: "Composite",
+ className: "DataMigrationService",
+ modelProperties: {
+ ...TrackedResource.type.modelProperties,
+ etag: {
+ serializedName: "etag",
+ type: {
+ name: "String"
+ }
+ },
+ kind: {
+ serializedName: "kind",
+ type: {
+ name: "String"
+ }
+ },
+ provisioningState: {
+ readOnly: true,
+ serializedName: "properties.provisioningState",
+ type: {
+ name: "String"
+ }
+ },
+ publicKey: {
+ serializedName: "properties.publicKey",
+ type: {
+ name: "String"
+ }
+ },
+ virtualSubnetId: {
+ required: true,
+ serializedName: "properties.virtualSubnetId",
+ type: {
+ name: "String"
+ }
+ },
+ sku: {
+ serializedName: "sku",
+ type: {
+ name: "Composite",
+ className: "ServiceSku"
+ }
+ }
+ }
+ }
+};
+
+export const NameAvailabilityRequest: msRest.CompositeMapper = {
+ serializedName: "NameAvailabilityRequest",
+ type: {
+ name: "Composite",
+ className: "NameAvailabilityRequest",
+ modelProperties: {
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const DatabaseInfo: msRest.CompositeMapper = {
+ serializedName: "DatabaseInfo",
+ type: {
+ name: "Composite",
+ className: "DatabaseInfo",
+ modelProperties: {
+ sourceDatabaseName: {
+ required: true,
+ serializedName: "sourceDatabaseName",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const Project: msRest.CompositeMapper = {
+ serializedName: "Project",
+ type: {
+ name: "Composite",
+ className: "Project",
+ modelProperties: {
+ ...TrackedResource.type.modelProperties,
+ sourcePlatform: {
+ required: true,
+ serializedName: "properties.sourcePlatform",
+ type: {
+ name: "String"
+ }
+ },
+ targetPlatform: {
+ required: true,
+ serializedName: "properties.targetPlatform",
+ type: {
+ name: "String"
+ }
+ },
+ creationTime: {
+ readOnly: true,
+ serializedName: "properties.creationTime",
+ type: {
+ name: "DateTime"
+ }
+ },
+ sourceConnectionInfo: {
+ serializedName: "properties.sourceConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "ConnectionInfo"
+ }
+ },
+ targetConnectionInfo: {
+ serializedName: "properties.targetConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "ConnectionInfo"
+ }
+ },
+ databasesInfo: {
+ serializedName: "properties.databasesInfo",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "DatabaseInfo"
+ }
+ }
+ }
+ },
+ provisioningState: {
+ readOnly: true,
+ serializedName: "properties.provisioningState",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ApiError: msRest.CompositeMapper = {
+ serializedName: "ApiError",
+ type: {
+ name: "Composite",
+ className: "ApiError",
+ modelProperties: {
+ error: {
+ serializedName: "error",
+ type: {
+ name: "Composite",
+ className: "ODataError"
+ }
+ }
+ }
+ }
+};
+
+export const FileStorageInfo: msRest.CompositeMapper = {
+ serializedName: "Unknown",
+ type: {
+ name: "Composite",
+ className: "FileStorageInfo",
+ modelProperties: {
+ uri: {
+ serializedName: "uri",
+ type: {
+ name: "String"
+ }
+ },
+ headers: {
+ serializedName: "headers",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ServiceOperationDisplay: msRest.CompositeMapper = {
+ serializedName: "ServiceOperation_display",
+ type: {
+ name: "Composite",
+ className: "ServiceOperationDisplay",
+ modelProperties: {
+ provider: {
+ serializedName: "provider",
+ type: {
+ name: "String"
+ }
+ },
+ resource: {
+ serializedName: "resource",
+ type: {
+ name: "String"
+ }
+ },
+ operation: {
+ serializedName: "operation",
+ type: {
+ name: "String"
+ }
+ },
+ description: {
+ serializedName: "description",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ServiceOperation: msRest.CompositeMapper = {
+ serializedName: "ServiceOperation",
+ type: {
+ name: "Composite",
+ className: "ServiceOperation",
+ modelProperties: {
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ display: {
+ serializedName: "display",
+ type: {
+ name: "Composite",
+ className: "ServiceOperationDisplay"
+ }
+ }
+ }
+ }
+};
+
+export const QuotaName: msRest.CompositeMapper = {
+ serializedName: "Quota_name",
+ type: {
+ name: "Composite",
+ className: "QuotaName",
+ modelProperties: {
+ localizedValue: {
+ serializedName: "localizedValue",
+ type: {
+ name: "String"
+ }
+ },
+ value: {
+ serializedName: "value",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const Quota: msRest.CompositeMapper = {
+ serializedName: "Quota",
+ type: {
+ name: "Composite",
+ className: "Quota",
+ modelProperties: {
+ currentValue: {
+ serializedName: "currentValue",
+ type: {
+ name: "Number"
+ }
+ },
+ id: {
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ limit: {
+ serializedName: "limit",
+ type: {
+ name: "Number"
+ }
+ },
+ name: {
+ serializedName: "name",
+ type: {
+ name: "Composite",
+ className: "QuotaName"
+ }
+ },
+ unit: {
+ serializedName: "unit",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const NameAvailabilityResponse: msRest.CompositeMapper = {
+ serializedName: "NameAvailabilityResponse",
+ type: {
+ name: "Composite",
+ className: "NameAvailabilityResponse",
+ modelProperties: {
+ nameAvailable: {
+ serializedName: "nameAvailable",
+ type: {
+ name: "Boolean"
+ }
+ },
+ reason: {
+ serializedName: "reason",
+ type: {
+ name: "String"
+ }
+ },
+ message: {
+ serializedName: "message",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const AvailableServiceSkuSku: msRest.CompositeMapper = {
+ serializedName: "AvailableServiceSku_sku",
+ type: {
+ name: "Composite",
+ className: "AvailableServiceSkuSku",
+ modelProperties: {
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ family: {
+ serializedName: "family",
+ type: {
+ name: "String"
+ }
+ },
+ size: {
+ serializedName: "size",
+ type: {
+ name: "String"
+ }
+ },
+ tier: {
+ serializedName: "tier",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const AvailableServiceSkuCapacity: msRest.CompositeMapper = {
+ serializedName: "AvailableServiceSku_capacity",
+ type: {
+ name: "Composite",
+ className: "AvailableServiceSkuCapacity",
+ modelProperties: {
+ minimum: {
+ serializedName: "minimum",
+ type: {
+ name: "Number"
+ }
+ },
+ maximum: {
+ serializedName: "maximum",
+ type: {
+ name: "Number"
+ }
+ },
+ default: {
+ serializedName: "default",
+ type: {
+ name: "Number"
+ }
+ },
+ scaleType: {
+ serializedName: "scaleType",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const AvailableServiceSku: msRest.CompositeMapper = {
+ serializedName: "AvailableServiceSku",
+ type: {
+ name: "Composite",
+ className: "AvailableServiceSku",
+ modelProperties: {
+ resourceType: {
+ serializedName: "resourceType",
+ type: {
+ name: "String"
+ }
+ },
+ sku: {
+ serializedName: "sku",
+ type: {
+ name: "Composite",
+ className: "AvailableServiceSkuSku"
+ }
+ },
+ capacity: {
+ serializedName: "capacity",
+ type: {
+ name: "Composite",
+ className: "AvailableServiceSkuCapacity"
+ }
+ }
+ }
+ }
+};
+
+export const DataMigrationServiceStatusResponse: msRest.CompositeMapper = {
+ serializedName: "DataMigrationServiceStatusResponse",
+ type: {
+ name: "Composite",
+ className: "DataMigrationServiceStatusResponse",
+ modelProperties: {
+ agentVersion: {
+ serializedName: "agentVersion",
+ type: {
+ name: "String"
+ }
+ },
+ status: {
+ serializedName: "status",
+ type: {
+ name: "String"
+ }
+ },
+ vmSize: {
+ serializedName: "vmSize",
+ type: {
+ name: "String"
+ }
+ },
+ supportedTaskTypes: {
+ serializedName: "supportedTaskTypes",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ResourceSkuRestrictions: msRest.CompositeMapper = {
+ serializedName: "ResourceSkuRestrictions",
+ type: {
+ name: "Composite",
+ className: "ResourceSkuRestrictions",
+ modelProperties: {
+ type: {
+ readOnly: true,
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ },
+ values: {
+ readOnly: true,
+ serializedName: "values",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ reasonCode: {
+ readOnly: true,
+ serializedName: "reasonCode",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ResourceSkuCapabilities: msRest.CompositeMapper = {
+ serializedName: "ResourceSkuCapabilities",
+ type: {
+ name: "Composite",
+ className: "ResourceSkuCapabilities",
+ modelProperties: {
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ value: {
+ readOnly: true,
+ serializedName: "value",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ResourceSkuCosts: msRest.CompositeMapper = {
+ serializedName: "ResourceSkuCosts",
+ type: {
+ name: "Composite",
+ className: "ResourceSkuCosts",
+ modelProperties: {
+ meterID: {
+ readOnly: true,
+ serializedName: "meterID",
+ type: {
+ name: "String"
+ }
+ },
+ quantity: {
+ readOnly: true,
+ serializedName: "quantity",
+ type: {
+ name: "Number"
+ }
+ },
+ extendedUnit: {
+ readOnly: true,
+ serializedName: "extendedUnit",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ResourceSkuCapacity: msRest.CompositeMapper = {
+ serializedName: "ResourceSkuCapacity",
+ type: {
+ name: "Composite",
+ className: "ResourceSkuCapacity",
+ modelProperties: {
+ minimum: {
+ readOnly: true,
+ serializedName: "minimum",
+ type: {
+ name: "Number"
+ }
+ },
+ maximum: {
+ readOnly: true,
+ serializedName: "maximum",
+ type: {
+ name: "Number"
+ }
+ },
+ default: {
+ readOnly: true,
+ serializedName: "default",
+ type: {
+ name: "Number"
+ }
+ },
+ scaleType: {
+ readOnly: true,
+ serializedName: "scaleType",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ResourceSku: msRest.CompositeMapper = {
+ serializedName: "ResourceSku",
+ type: {
+ name: "Composite",
+ className: "ResourceSku",
+ modelProperties: {
+ resourceType: {
+ readOnly: true,
+ serializedName: "resourceType",
+ type: {
+ name: "String"
+ }
+ },
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ tier: {
+ readOnly: true,
+ serializedName: "tier",
+ type: {
+ name: "String"
+ }
+ },
+ size: {
+ readOnly: true,
+ serializedName: "size",
+ type: {
+ name: "String"
+ }
+ },
+ family: {
+ readOnly: true,
+ serializedName: "family",
+ type: {
+ name: "String"
+ }
+ },
+ kind: {
+ readOnly: true,
+ serializedName: "kind",
+ type: {
+ name: "String"
+ }
+ },
+ capacity: {
+ readOnly: true,
+ serializedName: "capacity",
+ type: {
+ name: "Composite",
+ className: "ResourceSkuCapacity"
+ }
+ },
+ locations: {
+ readOnly: true,
+ serializedName: "locations",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ apiVersions: {
+ readOnly: true,
+ serializedName: "apiVersions",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ costs: {
+ readOnly: true,
+ serializedName: "costs",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ResourceSkuCosts"
+ }
+ }
+ }
+ },
+ capabilities: {
+ readOnly: true,
+ serializedName: "capabilities",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ResourceSkuCapabilities"
+ }
+ }
+ }
+ },
+ restrictions: {
+ readOnly: true,
+ serializedName: "restrictions",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ResourceSkuRestrictions"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToSourceMySqlTaskInput: msRest.CompositeMapper = {
+ serializedName: "ConnectToSourceMySqlTaskInput",
+ type: {
+ name: "Composite",
+ className: "ConnectToSourceMySqlTaskInput",
+ modelProperties: {
+ sourceConnectionInfo: {
+ required: true,
+ serializedName: "sourceConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "MySqlConnectionInfo"
+ }
+ },
+ targetPlatform: {
+ serializedName: "targetPlatform",
+ type: {
+ name: "String"
+ }
+ },
+ checkPermissionsGroup: {
+ serializedName: "checkPermissionsGroup",
+ type: {
+ name: "Enum",
+ allowedValues: [
+ "Default",
+ "MigrationFromSqlServerToAzureDB",
+ "MigrationFromSqlServerToAzureMI",
+ "MigrationFromMySQLToAzureDBForMySQL"
+ ]
+ }
+ }
+ }
+ }
+};
+
+export const ServerProperties: msRest.CompositeMapper = {
+ serializedName: "ServerProperties",
+ type: {
+ name: "Composite",
+ className: "ServerProperties",
+ modelProperties: {
+ serverPlatform: {
+ readOnly: true,
+ serializedName: "serverPlatform",
+ type: {
+ name: "String"
+ }
+ },
+ serverName: {
+ readOnly: true,
+ serializedName: "serverName",
+ type: {
+ name: "String"
+ }
+ },
+ serverVersion: {
+ readOnly: true,
+ serializedName: "serverVersion",
+ type: {
+ name: "String"
+ }
+ },
+ serverEdition: {
+ readOnly: true,
+ serializedName: "serverEdition",
+ type: {
+ name: "String"
+ }
+ },
+ serverOperatingSystemVersion: {
+ readOnly: true,
+ serializedName: "serverOperatingSystemVersion",
+ type: {
+ name: "String"
+ }
+ },
+ serverDatabaseCount: {
+ readOnly: true,
+ serializedName: "serverDatabaseCount",
+ type: {
+ name: "Number"
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToSourceNonSqlTaskOutput: msRest.CompositeMapper = {
+ serializedName: "ConnectToSourceNonSqlTaskOutput",
+ type: {
+ name: "Composite",
+ className: "ConnectToSourceNonSqlTaskOutput",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ sourceServerBrandVersion: {
+ readOnly: true,
+ serializedName: "sourceServerBrandVersion",
+ type: {
+ name: "String"
+ }
+ },
+ serverProperties: {
+ readOnly: true,
+ serializedName: "serverProperties",
+ type: {
+ name: "Composite",
+ className: "ServerProperties"
+ }
+ },
+ databases: {
+ readOnly: true,
+ serializedName: "databases",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ validationErrors: {
+ readOnly: true,
+ serializedName: "validationErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConnectToSourceMySqlTaskProperties: msRest.CompositeMapper = {
+ serializedName: "ConnectToSource.MySql",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "ConnectToSourceMySqlTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "ConnectToSourceMySqlTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ConnectToSourceNonSqlTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const SchemaMigrationSetting: msRest.CompositeMapper = {
+ serializedName: "SchemaMigrationSetting",
+ type: {
+ name: "Composite",
+ className: "SchemaMigrationSetting",
+ modelProperties: {
+ schemaOption: {
+ serializedName: "schemaOption",
+ type: {
+ name: "String"
+ }
+ },
+ fileId: {
+ serializedName: "fileId",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSchemaSqlServerSqlDbDatabaseInput: msRest.CompositeMapper = {
+ serializedName: "MigrateSchemaSqlServerSqlDbDatabaseInput",
+ type: {
+ name: "Composite",
+ className: "MigrateSchemaSqlServerSqlDbDatabaseInput",
+ modelProperties: {
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ targetDatabaseName: {
+ serializedName: "targetDatabaseName",
+ type: {
+ name: "String"
+ }
+ },
+ schemaSetting: {
+ serializedName: "schemaSetting",
+ type: {
+ name: "Composite",
+ className: "SchemaMigrationSetting"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSchemaSqlServerSqlDbTaskInput: msRest.CompositeMapper = {
+ serializedName: "MigrateSchemaSqlServerSqlDbTaskInput",
+ type: {
+ name: "Composite",
+ className: "MigrateSchemaSqlServerSqlDbTaskInput",
+ modelProperties: {
+ ...SqlMigrationTaskInput.type.modelProperties,
+ selectedDatabases: {
+ required: true,
+ serializedName: "selectedDatabases",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MigrateSchemaSqlServerSqlDbDatabaseInput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSchemaSqlServerSqlDbTaskOutput: msRest.CompositeMapper = {
+ serializedName: "MigrateSchemaSqlServerSqlDbTaskOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: {
+ serializedName: "resultType",
+ clientName: "resultType"
+ },
+ uberParent: "MigrateSchemaSqlServerSqlDbTaskOutput",
+ className: "MigrateSchemaSqlServerSqlDbTaskOutput",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ resultType: {
+ required: true,
+ serializedName: "resultType",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSchemaSqlServerSqlDbTaskProperties: msRest.CompositeMapper = {
+ serializedName: "MigrateSchemaSqlServerSqlDb",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "MigrateSchemaSqlServerSqlDbTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "MigrateSchemaSqlServerSqlDbTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MigrateSchemaSqlServerSqlDbTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel: msRest.CompositeMapper = {
+ serializedName: "MigrationLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateSchemaSqlServerSqlDbTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateSchemaSqlServerSqlDbTaskOutput",
+ className: "MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel",
+ modelProperties: {
+ ...MigrateSchemaSqlServerSqlDbTaskOutput.type.modelProperties,
+ state: {
+ readOnly: true,
+ serializedName: "state",
+ type: {
+ name: "String"
+ }
+ },
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ sourceServerVersion: {
+ readOnly: true,
+ serializedName: "sourceServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ sourceServerBrandVersion: {
+ readOnly: true,
+ serializedName: "sourceServerBrandVersion",
+ type: {
+ name: "String"
+ }
+ },
+ targetServerVersion: {
+ readOnly: true,
+ serializedName: "targetServerVersion",
+ type: {
+ name: "String"
+ }
+ },
+ targetServerBrandVersion: {
+ readOnly: true,
+ serializedName: "targetServerBrandVersion",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel: msRest.CompositeMapper = {
+ serializedName: "DatabaseLevelOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateSchemaSqlServerSqlDbTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateSchemaSqlServerSqlDbTaskOutput",
+ className: "MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel",
+ modelProperties: {
+ ...MigrateSchemaSqlServerSqlDbTaskOutput.type.modelProperties,
+ databaseName: {
+ readOnly: true,
+ serializedName: "databaseName",
+ type: {
+ name: "String"
+ }
+ },
+ state: {
+ readOnly: true,
+ serializedName: "state",
+ type: {
+ name: "String"
+ }
+ },
+ stage: {
+ readOnly: true,
+ serializedName: "stage",
+ type: {
+ name: "String"
+ }
+ },
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ databaseErrorResultPrefix: {
+ readOnly: true,
+ serializedName: "databaseErrorResultPrefix",
+ type: {
+ name: "String"
+ }
+ },
+ schemaErrorResultPrefix: {
+ readOnly: true,
+ serializedName: "schemaErrorResultPrefix",
+ type: {
+ name: "String"
+ }
+ },
+ numberOfSuccessfulOperations: {
+ readOnly: true,
+ serializedName: "numberOfSuccessfulOperations",
+ type: {
+ name: "Number"
+ }
+ },
+ numberOfFailedOperations: {
+ readOnly: true,
+ serializedName: "numberOfFailedOperations",
+ type: {
+ name: "Number"
+ }
+ },
+ fileId: {
+ readOnly: true,
+ serializedName: "fileId",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSchemaSqlServerSqlDbTaskOutputError: msRest.CompositeMapper = {
+ serializedName: "SchemaErrorOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateSchemaSqlServerSqlDbTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateSchemaSqlServerSqlDbTaskOutput",
+ className: "MigrateSchemaSqlServerSqlDbTaskOutputError",
+ modelProperties: {
+ ...MigrateSchemaSqlServerSqlDbTaskOutput.type.modelProperties,
+ commandText: {
+ readOnly: true,
+ serializedName: "commandText",
+ type: {
+ name: "String"
+ }
+ },
+ errorText: {
+ readOnly: true,
+ serializedName: "errorText",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSchemaSqlTaskOutputError: msRest.CompositeMapper = {
+ serializedName: "ErrorOutput",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: MigrateSchemaSqlServerSqlDbTaskOutput.type.polymorphicDiscriminator,
+ uberParent: "MigrateSchemaSqlServerSqlDbTaskOutput",
+ className: "MigrateSchemaSqlTaskOutputError",
+ modelProperties: {
+ ...MigrateSchemaSqlServerSqlDbTaskOutput.type.modelProperties,
+ error: {
+ readOnly: true,
+ serializedName: "error",
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+};
+
+export const MongoDbCommandInput: msRest.CompositeMapper = {
+ serializedName: "MongoDbCommandInput",
+ type: {
+ name: "Composite",
+ className: "MongoDbCommandInput",
+ modelProperties: {
+ objectName: {
+ serializedName: "objectName",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MongoDbCancelCommand: msRest.CompositeMapper = {
+ serializedName: "cancel",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: CommandProperties.type.polymorphicDiscriminator,
+ uberParent: "CommandProperties",
+ className: "MongoDbCancelCommand",
+ modelProperties: {
+ ...CommandProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "MongoDbCommandInput"
+ }
+ }
+ }
+ }
+};
+
+export const MongoDbFinishCommandInput: msRest.CompositeMapper = {
+ serializedName: "MongoDbFinishCommandInput",
+ type: {
+ name: "Composite",
+ className: "MongoDbFinishCommandInput",
+ modelProperties: {
+ ...MongoDbCommandInput.type.modelProperties,
+ immediate: {
+ required: true,
+ serializedName: "immediate",
+ type: {
+ name: "Boolean"
+ }
+ }
+ }
+ }
+};
+
+export const MongoDbFinishCommand: msRest.CompositeMapper = {
+ serializedName: "finish",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: CommandProperties.type.polymorphicDiscriminator,
+ uberParent: "CommandProperties",
+ className: "MongoDbFinishCommand",
+ modelProperties: {
+ ...CommandProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "MongoDbFinishCommandInput"
+ }
+ }
+ }
+ }
+};
+
+export const MongoDbRestartCommand: msRest.CompositeMapper = {
+ serializedName: "restart",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: CommandProperties.type.polymorphicDiscriminator,
+ uberParent: "CommandProperties",
+ className: "MongoDbRestartCommand",
+ modelProperties: {
+ ...CommandProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "MongoDbCommandInput"
+ }
+ }
+ }
+ }
+};
+
+export const OracleOCIDriverInfo: msRest.CompositeMapper = {
+ serializedName: "OracleOCIDriverInfo",
+ type: {
+ name: "Composite",
+ className: "OracleOCIDriverInfo",
+ modelProperties: {
+ driverName: {
+ readOnly: true,
+ serializedName: "driverName",
+ type: {
+ name: "String"
+ }
+ },
+ driverSize: {
+ readOnly: true,
+ serializedName: "driverSize",
+ type: {
+ name: "String"
+ }
+ },
+ archiveChecksum: {
+ readOnly: true,
+ serializedName: "archiveChecksum",
+ type: {
+ name: "String"
+ }
+ },
+ oracleChecksum: {
+ readOnly: true,
+ serializedName: "oracleChecksum",
+ type: {
+ name: "String"
+ }
+ },
+ assemblyVersion: {
+ readOnly: true,
+ serializedName: "assemblyVersion",
+ type: {
+ name: "String"
+ }
+ },
+ supportedOracleVersions: {
+ readOnly: true,
+ serializedName: "supportedOracleVersions",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const CheckOCIDriverTaskInput: msRest.CompositeMapper = {
+ serializedName: "CheckOCIDriverTaskInput",
+ type: {
+ name: "Composite",
+ className: "CheckOCIDriverTaskInput",
+ modelProperties: {
+ serverVersion: {
+ serializedName: "serverVersion",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const CheckOCIDriverTaskOutput: msRest.CompositeMapper = {
+ serializedName: "CheckOCIDriverTaskOutput",
+ type: {
+ name: "Composite",
+ className: "CheckOCIDriverTaskOutput",
+ modelProperties: {
+ installedDriver: {
+ readOnly: true,
+ serializedName: "installedDriver",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "OracleOCIDriverInfo"
+ }
+ }
+ }
+ }
+ }
+ },
+ validationErrors: {
+ readOnly: true,
+ serializedName: "validationErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const UploadOCIDriverTaskInput: msRest.CompositeMapper = {
+ serializedName: "UploadOCIDriverTaskInput",
+ type: {
+ name: "Composite",
+ className: "UploadOCIDriverTaskInput",
+ modelProperties: {
+ driverShare: {
+ serializedName: "driverShare",
+ type: {
+ name: "Composite",
+ className: "FileShare"
+ }
+ }
+ }
+ }
+};
+
+export const UploadOCIDriverTaskOutput: msRest.CompositeMapper = {
+ serializedName: "UploadOCIDriverTaskOutput",
+ type: {
+ name: "Composite",
+ className: "UploadOCIDriverTaskOutput",
+ modelProperties: {
+ driverPackageName: {
+ readOnly: true,
+ serializedName: "driverPackageName",
+ type: {
+ name: "String"
+ }
+ },
+ validationErrors: {
+ readOnly: true,
+ serializedName: "validationErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const InstallOCIDriverTaskInput: msRest.CompositeMapper = {
+ serializedName: "InstallOCIDriverTaskInput",
+ type: {
+ name: "Composite",
+ className: "InstallOCIDriverTaskInput",
+ modelProperties: {
+ driverPackageName: {
+ serializedName: "driverPackageName",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const InstallOCIDriverTaskOutput: msRest.CompositeMapper = {
+ serializedName: "InstallOCIDriverTaskOutput",
+ type: {
+ name: "Composite",
+ className: "InstallOCIDriverTaskOutput",
+ modelProperties: {
+ validationErrors: {
+ readOnly: true,
+ serializedName: "validationErrors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ReportableException"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const CheckOCIDriverTaskProperties: msRest.CompositeMapper = {
+ serializedName: "Service.Check.OCI",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "CheckOCIDriverTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "CheckOCIDriverTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "CheckOCIDriverTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const UploadOCIDriverTaskProperties: msRest.CompositeMapper = {
+ serializedName: "Service.Upload.OCI",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "UploadOCIDriverTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "UploadOCIDriverTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "UploadOCIDriverTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const InstallOCIDriverTaskProperties: msRest.CompositeMapper = {
+ serializedName: "Service.Install.OCI",
+ type: {
+ name: "Composite",
+ polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator,
+ uberParent: "ProjectTaskProperties",
+ className: "InstallOCIDriverTaskProperties",
+ modelProperties: {
+ ...ProjectTaskProperties.type.modelProperties,
+ input: {
+ serializedName: "input",
+ type: {
+ name: "Composite",
+ className: "InstallOCIDriverTaskInput"
+ }
+ },
+ output: {
+ readOnly: true,
+ serializedName: "output",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "InstallOCIDriverTaskOutput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const Database: msRest.CompositeMapper = {
+ serializedName: "Database",
+ type: {
+ name: "Composite",
+ className: "Database",
+ modelProperties: {
+ id: {
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ compatibilityLevel: {
+ serializedName: "compatibilityLevel",
+ type: {
+ name: "String"
+ }
+ },
+ collation: {
+ serializedName: "collation",
+ type: {
+ name: "String"
+ }
+ },
+ serverName: {
+ serializedName: "serverName",
+ type: {
+ name: "String"
+ }
+ },
+ fqdn: {
+ serializedName: "fqdn",
+ type: {
+ name: "String"
+ }
+ },
+ installId: {
+ serializedName: "installId",
+ type: {
+ name: "String"
+ }
+ },
+ serverVersion: {
+ serializedName: "serverVersion",
+ type: {
+ name: "String"
+ }
+ },
+ serverEdition: {
+ serializedName: "serverEdition",
+ type: {
+ name: "String"
+ }
+ },
+ serverLevel: {
+ serializedName: "serverLevel",
+ type: {
+ name: "String"
+ }
+ },
+ serverDefaultDataPath: {
+ serializedName: "serverDefaultDataPath",
+ type: {
+ name: "String"
+ }
+ },
+ serverDefaultLogPath: {
+ serializedName: "serverDefaultLogPath",
+ type: {
+ name: "String"
+ }
+ },
+ serverDefaultBackupPath: {
+ serializedName: "serverDefaultBackupPath",
+ type: {
+ name: "String"
+ }
+ },
+ serverCoreCount: {
+ serializedName: "serverCoreCount",
+ type: {
+ name: "Number"
+ }
+ },
+ serverVisibleOnlineCoreCount: {
+ serializedName: "serverVisibleOnlineCoreCount",
+ type: {
+ name: "Number"
+ }
+ },
+ databaseState: {
+ serializedName: "databaseState",
+ type: {
+ name: "String"
+ }
+ },
+ serverId: {
+ serializedName: "serverId",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const DatabaseObjectName: msRest.CompositeMapper = {
+ serializedName: "DatabaseObjectName",
+ type: {
+ name: "Composite",
+ className: "DatabaseObjectName",
+ modelProperties: {
+ databaseName: {
+ readOnly: true,
+ serializedName: "databaseName",
+ type: {
+ name: "String"
+ }
+ },
+ objectName: {
+ readOnly: true,
+ serializedName: "objectName",
+ type: {
+ name: "String"
+ }
+ },
+ schemaName: {
+ readOnly: true,
+ serializedName: "schemaName",
+ type: {
+ name: "String"
+ }
+ },
+ objectType: {
+ serializedName: "objectType",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrationTableMetadata: msRest.CompositeMapper = {
+ serializedName: "MigrationTableMetadata",
+ type: {
+ name: "Composite",
+ className: "MigrationTableMetadata",
+ modelProperties: {
+ sourceTableName: {
+ readOnly: true,
+ serializedName: "sourceTableName",
+ type: {
+ name: "String"
+ }
+ },
+ targetTableName: {
+ readOnly: true,
+ serializedName: "targetTableName",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const DataMigrationProjectMetadata: msRest.CompositeMapper = {
+ serializedName: "DataMigrationProjectMetadata",
+ type: {
+ name: "Composite",
+ className: "DataMigrationProjectMetadata",
+ modelProperties: {
+ sourceServerName: {
+ readOnly: true,
+ serializedName: "sourceServerName",
+ type: {
+ name: "String"
+ }
+ },
+ sourceServerPort: {
+ readOnly: true,
+ serializedName: "sourceServerPort",
+ type: {
+ name: "String"
+ }
+ },
+ sourceUsername: {
+ readOnly: true,
+ serializedName: "sourceUsername",
+ type: {
+ name: "String"
+ }
+ },
+ targetServerName: {
+ readOnly: true,
+ serializedName: "targetServerName",
+ type: {
+ name: "String"
+ }
+ },
+ targetUsername: {
+ readOnly: true,
+ serializedName: "targetUsername",
+ type: {
+ name: "String"
+ }
+ },
+ targetDbName: {
+ readOnly: true,
+ serializedName: "targetDbName",
+ type: {
+ name: "String"
+ }
+ },
+ targetUsingWinAuth: {
+ readOnly: true,
+ serializedName: "targetUsingWinAuth",
+ type: {
+ name: "Boolean"
+ }
+ },
+ selectedMigrationTables: {
+ readOnly: true,
+ serializedName: "selectedMigrationTables",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "MigrationTableMetadata"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const GetProjectDetailsNonSqlTaskInput: msRest.CompositeMapper = {
+ serializedName: "GetProjectDetailsNonSqlTaskInput",
+ type: {
+ name: "Composite",
+ className: "GetProjectDetailsNonSqlTaskInput",
+ modelProperties: {
+ projectName: {
+ required: true,
+ serializedName: "projectName",
+ type: {
+ name: "String"
+ }
+ },
+ projectLocation: {
+ required: true,
+ serializedName: "projectLocation",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const NonSqlDataMigrationTable: msRest.CompositeMapper = {
+ serializedName: "NonSqlDataMigrationTable",
+ type: {
+ name: "Composite",
+ className: "NonSqlDataMigrationTable",
+ modelProperties: {
+ sourceName: {
+ serializedName: "sourceName",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const NonSqlMigrationTaskInput: msRest.CompositeMapper = {
+ serializedName: "NonSqlMigrationTaskInput",
+ type: {
+ name: "Composite",
+ className: "NonSqlMigrationTaskInput",
+ modelProperties: {
+ targetConnectionInfo: {
+ required: true,
+ serializedName: "targetConnectionInfo",
+ type: {
+ name: "Composite",
+ className: "SqlConnectionInfo"
+ }
+ },
+ targetDatabaseName: {
+ required: true,
+ serializedName: "targetDatabaseName",
+ type: {
+ name: "String"
+ }
+ },
+ projectName: {
+ required: true,
+ serializedName: "projectName",
+ type: {
+ name: "String"
+ }
+ },
+ projectLocation: {
+ required: true,
+ serializedName: "projectLocation",
+ type: {
+ name: "String"
+ }
+ },
+ selectedTables: {
+ required: true,
+ serializedName: "selectedTables",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "NonSqlDataMigrationTable"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const DataMigrationError: msRest.CompositeMapper = {
+ serializedName: "DataMigrationError",
+ type: {
+ name: "Composite",
+ className: "DataMigrationError",
+ modelProperties: {
+ message: {
+ readOnly: true,
+ serializedName: "message",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const NonSqlDataMigrationTableResult: msRest.CompositeMapper = {
+ serializedName: "NonSqlDataMigrationTableResult",
+ type: {
+ name: "Composite",
+ className: "NonSqlDataMigrationTableResult",
+ modelProperties: {
+ resultCode: {
+ readOnly: true,
+ serializedName: "resultCode",
+ type: {
+ name: "String"
+ }
+ },
+ sourceName: {
+ readOnly: true,
+ serializedName: "sourceName",
+ type: {
+ name: "String"
+ }
+ },
+ targetName: {
+ readOnly: true,
+ serializedName: "targetName",
+ type: {
+ name: "String"
+ }
+ },
+ sourceRowCount: {
+ readOnly: true,
+ serializedName: "sourceRowCount",
+ type: {
+ name: "Number"
+ }
+ },
+ targetRowCount: {
+ readOnly: true,
+ serializedName: "targetRowCount",
+ type: {
+ name: "Number"
+ }
+ },
+ elapsedTimeInMiliseconds: {
+ readOnly: true,
+ serializedName: "elapsedTimeInMiliseconds",
+ type: {
+ name: "Number"
+ }
+ },
+ errors: {
+ readOnly: true,
+ serializedName: "errors",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "DataMigrationError"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const NonSqlMigrationTaskOutput: msRest.CompositeMapper = {
+ serializedName: "NonSqlMigrationTaskOutput",
+ type: {
+ name: "Composite",
+ className: "NonSqlMigrationTaskOutput",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ startedOn: {
+ readOnly: true,
+ serializedName: "startedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ endedOn: {
+ readOnly: true,
+ serializedName: "endedOn",
+ type: {
+ name: "DateTime"
+ }
+ },
+ status: {
+ readOnly: true,
+ serializedName: "status",
+ type: {
+ name: "String"
+ }
+ },
+ dataMigrationTableResults: {
+ readOnly: true,
+ serializedName: "dataMigrationTableResults",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "Composite",
+ className: "NonSqlDataMigrationTableResult"
+ }
+ }
+ }
+ },
+ progressMessage: {
+ readOnly: true,
+ serializedName: "progressMessage",
+ type: {
+ name: "String"
+ }
+ },
+ sourceServerName: {
+ readOnly: true,
+ serializedName: "sourceServerName",
+ type: {
+ name: "String"
+ }
+ },
+ targetServerName: {
+ readOnly: true,
+ serializedName: "targetServerName",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const DatabaseFileInput: msRest.CompositeMapper = {
+ serializedName: "DatabaseFileInput",
+ type: {
+ name: "Composite",
+ className: "DatabaseFileInput",
+ modelProperties: {
+ id: {
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ logicalName: {
+ serializedName: "logicalName",
+ type: {
+ name: "String"
+ }
+ },
+ physicalFullName: {
+ serializedName: "physicalFullName",
+ type: {
+ name: "String"
+ }
+ },
+ restoreFullName: {
+ serializedName: "restoreFullName",
+ type: {
+ name: "String"
+ }
+ },
+ fileType: {
+ serializedName: "fileType",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const MigrateSqlServerSqlServerDatabaseInput: msRest.CompositeMapper = {
+ serializedName: "MigrateSqlServerSqlServerDatabaseInput",
+ type: {
+ name: "Composite",
+ className: "MigrateSqlServerSqlServerDatabaseInput",
+ modelProperties: {
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ restoreDatabaseName: {
+ serializedName: "restoreDatabaseName",
+ type: {
+ name: "String"
+ }
+ },
+ backupAndRestoreFolder: {
+ serializedName: "backupAndRestoreFolder",
+ type: {
+ name: "String"
+ }
+ },
+ databaseFiles: {
+ serializedName: "databaseFiles",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "DatabaseFileInput"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ResourceSkusResult: msRest.CompositeMapper = {
+ serializedName: "ResourceSkusResult",
+ type: {
+ name: "Composite",
+ className: "ResourceSkusResult",
+ modelProperties: {
+ value: {
+ required: true,
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ResourceSku"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ServiceSkuList: msRest.CompositeMapper = {
+ serializedName: "ServiceSkuList",
+ type: {
+ name: "Composite",
+ className: "ServiceSkuList",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "AvailableServiceSku"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const DataMigrationServiceList: msRest.CompositeMapper = {
+ serializedName: "DataMigrationServiceList",
+ type: {
+ name: "Composite",
+ className: "DataMigrationServiceList",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "DataMigrationService"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const TaskList: msRest.CompositeMapper = {
+ serializedName: "TaskList",
+ type: {
+ name: "Composite",
+ className: "TaskList",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ProjectTask"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ProjectList: msRest.CompositeMapper = {
+ serializedName: "ProjectList",
+ type: {
+ name: "Composite",
+ className: "ProjectList",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "Project"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const QuotaList: msRest.CompositeMapper = {
+ serializedName: "QuotaList",
+ type: {
+ name: "Composite",
+ className: "QuotaList",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "Quota"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ServiceOperationList: msRest.CompositeMapper = {
+ serializedName: "ServiceOperationList",
+ type: {
+ name: "Composite",
+ className: "ServiceOperationList",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ServiceOperation"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const FileList: msRest.CompositeMapper = {
+ serializedName: "FileList",
+ type: {
+ name: "Composite",
+ className: "FileList",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ProjectFile"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const discriminators = {
+ 'CommandProperties.Migrate.SqlServer.AzureDbSqlMi.Complete' : MigrateMISyncCompleteCommandProperties,
+ 'CommandProperties.Migrate.Sync.Complete.Database' : MigrateSyncCompleteCommandProperties,
+ 'Unknown' : CommandProperties,
+ 'MigrateSsisTaskOutput.SsisProjectLevelOutput' : MigrateSsisTaskOutputProjectLevel,
+ 'MigrateSsisTaskOutput.MigrationLevelOutput' : MigrateSsisTaskOutputMigrationLevel,
+ 'MigrateSsisTaskOutput' : MigrateSsisTaskOutput,
+ 'ConnectionInfo.MiSqlConnectionInfo' : MiSqlConnectionInfo,
+ 'ConnectionInfo.PostgreSqlConnectionInfo' : PostgreSqlConnectionInfo,
+ 'ConnectionInfo.OracleConnectionInfo' : OracleConnectionInfo,
+ 'ConnectionInfo.MySqlConnectionInfo' : MySqlConnectionInfo,
+ 'ConnectionInfo.MongoDbConnectionInfo' : MongoDbConnectionInfo,
+ 'Unknown' : ConnectionInfo,
+ 'ConnectionInfo.SqlConnectionInfo' : SqlConnectionInfo,
+ 'ProjectTaskProperties.Migrate.Ssis' : MigrateSsisTaskProperties,
+ 'ProjectTaskProperties.GetTDECertificates.Sql' : GetTdeCertificatesSqlTaskProperties,
+ 'ProjectTaskProperties.Validate.Oracle.AzureDbPostgreSql.Sync' : ValidateOracleAzureDbForPostgreSqlSyncTaskProperties,
+ 'ProjectTaskProperties.Validate.MongoDb' : ValidateMongoDbTaskProperties,
+ 'ProjectTaskProperties.ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS' : ValidateMigrationInputSqlServerSqlMISyncTaskProperties,
+ 'ProjectTaskProperties.ValidateMigrationInput.SqlServer.AzureSqlDbMI' : ValidateMigrationInputSqlServerSqlMITaskProperties,
+ 'ProjectTaskProperties.ValidateMigrationInput.SqlServer.SqlDb.Sync' : ValidateMigrationInputSqlServerSqlDbSyncTaskProperties,
+ 'MigrateOracleAzureDbPostgreSqlSyncTaskOutput.DatabaseLevelErrorOutput' : MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError,
+ 'MigrateOracleAzureDbPostgreSqlSyncTaskOutput.ErrorOutput' : MigrateOracleAzureDbPostgreSqlSyncTaskOutputError,
+ 'MigrateOracleAzureDbPostgreSqlSyncTaskOutput.TableLevelOutput' : MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel,
+ 'MigrateOracleAzureDbPostgreSqlSyncTaskOutput.DatabaseLevelOutput' : MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel,
+ 'MigrateOracleAzureDbPostgreSqlSyncTaskOutput.MigrationLevelOutput' : MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel,
+ 'MigrateOracleAzureDbPostgreSqlSyncTaskOutput' : MigrateOracleAzureDbPostgreSqlSyncTaskOutput,
+ 'ProjectTaskProperties.Migrate.Oracle.AzureDbForPostgreSql.Sync' : MigrateOracleAzureDbForPostgreSqlSyncTaskProperties,
+ 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.DatabaseLevelErrorOutput' : MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError,
+ 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.ErrorOutput' : MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError,
+ 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.TableLevelOutput' : MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel,
+ 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.DatabaseLevelOutput' : MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel,
+ 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.MigrationLevelOutput' : MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel,
+ 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput' : MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput,
+ 'ProjectTaskProperties.Migrate.PostgreSql.AzureDbForPostgreSql.Sync' : MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties,
+ 'MigrateMySqlAzureDbForMySqlSyncTaskOutput.DatabaseLevelErrorOutput' : MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError,
+ 'MigrateMySqlAzureDbForMySqlSyncTaskOutput.ErrorOutput' : MigrateMySqlAzureDbForMySqlSyncTaskOutputError,
+ 'MigrateMySqlAzureDbForMySqlSyncTaskOutput.TableLevelOutput' : MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel,
+ 'MigrateMySqlAzureDbForMySqlSyncTaskOutput.DatabaseLevelOutput' : MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel,
+ 'MigrateMySqlAzureDbForMySqlSyncTaskOutput.MigrationLevelOutput' : MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel,
+ 'MigrateMySqlAzureDbForMySqlSyncTaskOutput' : MigrateMySqlAzureDbForMySqlSyncTaskOutput,
+ 'ProjectTaskProperties.Migrate.MySql.AzureDbForMySql.Sync' : MigrateMySqlAzureDbForMySqlSyncTaskProperties,
+ 'MigrateSqlServerSqlDbSyncTaskOutput.DatabaseLevelErrorOutput' : MigrateSqlServerSqlDbSyncTaskOutputDatabaseError,
+ 'MigrateSqlServerSqlDbSyncTaskOutput.ErrorOutput' : MigrateSqlServerSqlDbSyncTaskOutputError,
+ 'MigrateSqlServerSqlDbSyncTaskOutput.TableLevelOutput' : MigrateSqlServerSqlDbSyncTaskOutputTableLevel,
+ 'MigrateSqlServerSqlDbSyncTaskOutput.DatabaseLevelOutput' : MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel,
+ 'MigrateSqlServerSqlDbSyncTaskOutput.MigrationLevelOutput' : MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel,
+ 'MigrateSqlServerSqlDbSyncTaskOutput' : MigrateSqlServerSqlDbSyncTaskOutput,
+ 'ProjectTaskProperties.Migrate.SqlServer.AzureSqlDb.Sync' : MigrateSqlServerSqlDbSyncTaskProperties,
+ 'MigrateSqlServerSqlDbTaskOutput.ErrorOutput' : MigrateSqlServerSqlDbTaskOutputError,
+ 'MigrateSqlServerSqlDbTaskOutput.TableLevelOutput' : MigrateSqlServerSqlDbTaskOutputTableLevel,
+ 'MigrateSqlServerSqlDbTaskOutput.DatabaseLevelOutput' : MigrateSqlServerSqlDbTaskOutputDatabaseLevel,
+ 'MigrateSqlServerSqlDbTaskOutput.MigrationLevelOutput' : MigrateSqlServerSqlDbTaskOutputMigrationLevel,
+ 'MigrateSqlServerSqlDbTaskOutput' : MigrateSqlServerSqlDbTaskOutput,
+ 'ProjectTaskProperties.Migrate.SqlServer.SqlDb' : MigrateSqlServerSqlDbTaskProperties,
+ 'MigrateSqlServerSqlMISyncTaskOutput.ErrorOutput' : MigrateSqlServerSqlMISyncTaskOutputError,
+ 'MigrateSqlServerSqlMISyncTaskOutput.DatabaseLevelOutput' : MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel,
+ 'MigrateSqlServerSqlMISyncTaskOutput.MigrationLevelOutput' : MigrateSqlServerSqlMISyncTaskOutputMigrationLevel,
+ 'MigrateSqlServerSqlMISyncTaskOutput' : MigrateSqlServerSqlMISyncTaskOutput,
+ 'ProjectTaskProperties.Migrate.SqlServer.AzureSqlDbMI.Sync.LRS' : MigrateSqlServerSqlMISyncTaskProperties,
+ 'MigrateSqlServerSqlMITaskOutput.ErrorOutput' : MigrateSqlServerSqlMITaskOutputError,
+ 'MigrateSqlServerSqlMITaskOutput.LoginLevelOutput' : MigrateSqlServerSqlMITaskOutputLoginLevel,
+ 'MigrateSqlServerSqlMITaskOutput.AgentJobLevelOutput' : MigrateSqlServerSqlMITaskOutputAgentJobLevel,
+ 'MigrateSqlServerSqlMITaskOutput.DatabaseLevelOutput' : MigrateSqlServerSqlMITaskOutputDatabaseLevel,
+ 'MigrateSqlServerSqlMITaskOutput.MigrationLevelOutput' : MigrateSqlServerSqlMITaskOutputMigrationLevel,
+ 'MigrateSqlServerSqlMITaskOutput' : MigrateSqlServerSqlMITaskOutput,
+ 'ProjectTaskProperties.Migrate.SqlServer.AzureSqlDbMI' : MigrateSqlServerSqlMITaskProperties,
+ 'ProjectTaskProperties.Migrate.MongoDb' : MigrateMongoDbTaskProperties,
+ 'ProjectTaskProperties.ConnectToTarget.AzureDbForMySql' : ConnectToTargetAzureDbForMySqlTaskProperties,
+ 'ProjectTaskProperties.ConnectToTarget.AzureSqlDbMI.Sync.LRS' : ConnectToTargetSqlMISyncTaskProperties,
+ 'ProjectTaskProperties.ConnectToTarget.AzureSqlDbMI' : ConnectToTargetSqlMITaskProperties,
+ 'ProjectTaskProperties.GetUserTablesPostgreSql' : GetUserTablesPostgreSqlTaskProperties,
+ 'ProjectTaskProperties.GetUserTablesOracle' : GetUserTablesOracleTaskProperties,
+ 'ProjectTaskProperties.GetUserTables.AzureSqlDb.Sync' : GetUserTablesSqlSyncTaskProperties,
+ 'ProjectTaskProperties.GetUserTables.Sql' : GetUserTablesSqlTaskProperties,
+ 'ProjectTaskProperties.ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync' : ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties,
+ 'ProjectTaskProperties.ConnectToTarget.AzureDbForPostgreSql.Sync' : ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties,
+ 'ProjectTaskProperties.ConnectToTarget.SqlDb.Sync' : ConnectToTargetSqlSqlDbSyncTaskProperties,
+ 'ProjectTaskProperties.ConnectToTarget.SqlDb' : ConnectToTargetSqlDbTaskProperties,
+ 'ProjectTaskProperties.ConnectToSource.Oracle.Sync' : ConnectToSourceOracleSyncTaskProperties,
+ 'ProjectTaskProperties.ConnectToSource.PostgreSql.Sync' : ConnectToSourcePostgreSqlSyncTaskProperties,
+ 'ConnectToSourceSqlServerTaskOutput.AgentJobLevelOutput' : ConnectToSourceSqlServerTaskOutputAgentJobLevel,
+ 'ConnectToSourceSqlServerTaskOutput.LoginLevelOutput' : ConnectToSourceSqlServerTaskOutputLoginLevel,
+ 'ConnectToSourceSqlServerTaskOutput.DatabaseLevelOutput' : ConnectToSourceSqlServerTaskOutputDatabaseLevel,
+ 'ConnectToSourceSqlServerTaskOutput.TaskLevelOutput' : ConnectToSourceSqlServerTaskOutputTaskLevel,
+ 'ConnectToSourceSqlServerTaskOutput' : ConnectToSourceSqlServerTaskOutput,
+ 'ProjectTaskProperties.ConnectToSource.SqlServer.Sync' : ConnectToSourceSqlServerSyncTaskProperties,
+ 'ProjectTaskProperties.ConnectToSource.SqlServer' : ConnectToSourceSqlServerTaskProperties,
+ 'ProjectTaskProperties.Connect.MongoDb' : ConnectToMongoDbTaskProperties,
+ 'Unknown' : ProjectTaskProperties,
+ 'ProjectTaskProperties.ConnectToSource.MySql' : ConnectToSourceMySqlTaskProperties,
+ 'MigrateSchemaSqlServerSqlDbTaskOutput' : MigrateSchemaSqlServerSqlDbTaskOutput,
+ 'ProjectTaskProperties.MigrateSchemaSqlServerSqlDb' : MigrateSchemaSqlServerSqlDbTaskProperties,
+ 'MigrateSchemaSqlServerSqlDbTaskOutput.MigrationLevelOutput' : MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel,
+ 'MigrateSchemaSqlServerSqlDbTaskOutput.DatabaseLevelOutput' : MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel,
+ 'MigrateSchemaSqlServerSqlDbTaskOutput.SchemaErrorOutput' : MigrateSchemaSqlServerSqlDbTaskOutputError,
+ 'MigrateSchemaSqlServerSqlDbTaskOutput.ErrorOutput' : MigrateSchemaSqlTaskOutputError,
+ 'CommandProperties.cancel' : MongoDbCancelCommand,
+ 'CommandProperties.finish' : MongoDbFinishCommand,
+ 'CommandProperties.restart' : MongoDbRestartCommand,
+ 'ProjectTaskProperties.Service.Check.OCI' : CheckOCIDriverTaskProperties,
+ 'ProjectTaskProperties.Service.Upload.OCI' : UploadOCIDriverTaskProperties,
+ 'ProjectTaskProperties.Service.Install.OCI' : InstallOCIDriverTaskProperties
+
+};
diff --git a/sdk/datamigration/arm-datamigration/src/models/operationsMappers.ts b/sdk/datamigration/arm-datamigration/src/models/operationsMappers.ts
new file mode 100644
index 000000000000..3074236f242d
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/src/models/operationsMappers.ts
@@ -0,0 +1,16 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ discriminators,
+ ApiError,
+ ODataError,
+ ServiceOperation,
+ ServiceOperationDisplay,
+ ServiceOperationList
+} from "../models/mappers";
diff --git a/sdk/datamigration/arm-datamigration/src/models/parameters.ts b/sdk/datamigration/arm-datamigration/src/models/parameters.ts
new file mode 100644
index 000000000000..1e3467fb21b5
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/src/models/parameters.ts
@@ -0,0 +1,149 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+
+export const acceptLanguage: msRest.OperationParameter = {
+ parameterPath: "acceptLanguage",
+ mapper: {
+ serializedName: "accept-language",
+ defaultValue: 'en-US',
+ type: {
+ name: "String"
+ }
+ }
+};
+export const apiVersion: msRest.OperationQueryParameter = {
+ parameterPath: "apiVersion",
+ mapper: {
+ required: true,
+ serializedName: "api-version",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const deleteRunningTasks: msRest.OperationQueryParameter = {
+ parameterPath: [
+ "options",
+ "deleteRunningTasks"
+ ],
+ mapper: {
+ serializedName: "deleteRunningTasks",
+ type: {
+ name: "Boolean"
+ }
+ }
+};
+export const expand: msRest.OperationQueryParameter = {
+ parameterPath: [
+ "options",
+ "expand"
+ ],
+ mapper: {
+ serializedName: "$expand",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const fileName: msRest.OperationURLParameter = {
+ parameterPath: "fileName",
+ mapper: {
+ required: true,
+ serializedName: "fileName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const groupName: msRest.OperationURLParameter = {
+ parameterPath: "groupName",
+ mapper: {
+ required: true,
+ serializedName: "groupName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const location: msRest.OperationURLParameter = {
+ parameterPath: "location",
+ mapper: {
+ required: true,
+ serializedName: "location",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const nextPageLink: msRest.OperationURLParameter = {
+ parameterPath: "nextPageLink",
+ mapper: {
+ required: true,
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ },
+ skipEncoding: true
+};
+export const projectName: msRest.OperationURLParameter = {
+ parameterPath: "projectName",
+ mapper: {
+ required: true,
+ serializedName: "projectName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const serviceName: msRest.OperationURLParameter = {
+ parameterPath: "serviceName",
+ mapper: {
+ required: true,
+ serializedName: "serviceName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const subscriptionId: msRest.OperationURLParameter = {
+ parameterPath: "subscriptionId",
+ mapper: {
+ required: true,
+ serializedName: "subscriptionId",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const taskName: msRest.OperationURLParameter = {
+ parameterPath: "taskName",
+ mapper: {
+ required: true,
+ serializedName: "taskName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const taskType: msRest.OperationQueryParameter = {
+ parameterPath: [
+ "options",
+ "taskType"
+ ],
+ mapper: {
+ serializedName: "taskType",
+ type: {
+ name: "String"
+ }
+ }
+};
diff --git a/sdk/datamigration/arm-datamigration/src/models/projectsMappers.ts b/sdk/datamigration/arm-datamigration/src/models/projectsMappers.ts
new file mode 100644
index 000000000000..aff2b842cacf
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/src/models/projectsMappers.ts
@@ -0,0 +1,234 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ discriminators,
+ ApiError,
+ AzureActiveDirectoryApp,
+ BackupFileInfo,
+ BackupSetInfo,
+ BaseResource,
+ BlobShare,
+ CheckOCIDriverTaskInput,
+ CheckOCIDriverTaskOutput,
+ CheckOCIDriverTaskProperties,
+ CommandProperties,
+ ConnectionInfo,
+ ConnectToMongoDbTaskProperties,
+ ConnectToSourceMySqlTaskInput,
+ ConnectToSourceMySqlTaskProperties,
+ ConnectToSourceNonSqlTaskOutput,
+ ConnectToSourceOracleSyncTaskInput,
+ ConnectToSourceOracleSyncTaskOutput,
+ ConnectToSourceOracleSyncTaskProperties,
+ ConnectToSourcePostgreSqlSyncTaskInput,
+ ConnectToSourcePostgreSqlSyncTaskOutput,
+ ConnectToSourcePostgreSqlSyncTaskProperties,
+ ConnectToSourceSqlServerSyncTaskProperties,
+ ConnectToSourceSqlServerTaskInput,
+ ConnectToSourceSqlServerTaskOutput,
+ ConnectToSourceSqlServerTaskOutputAgentJobLevel,
+ ConnectToSourceSqlServerTaskOutputDatabaseLevel,
+ ConnectToSourceSqlServerTaskOutputLoginLevel,
+ ConnectToSourceSqlServerTaskOutputTaskLevel,
+ ConnectToSourceSqlServerTaskProperties,
+ ConnectToTargetAzureDbForMySqlTaskInput,
+ ConnectToTargetAzureDbForMySqlTaskOutput,
+ ConnectToTargetAzureDbForMySqlTaskProperties,
+ ConnectToTargetAzureDbForPostgreSqlSyncTaskInput,
+ ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput,
+ ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties,
+ ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput,
+ ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput,
+ ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem,
+ ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties,
+ ConnectToTargetSqlDbTaskInput,
+ ConnectToTargetSqlDbTaskOutput,
+ ConnectToTargetSqlDbTaskProperties,
+ ConnectToTargetSqlMISyncTaskInput,
+ ConnectToTargetSqlMISyncTaskOutput,
+ ConnectToTargetSqlMISyncTaskProperties,
+ ConnectToTargetSqlMITaskInput,
+ ConnectToTargetSqlMITaskOutput,
+ ConnectToTargetSqlMITaskProperties,
+ ConnectToTargetSqlSqlDbSyncTaskInput,
+ ConnectToTargetSqlSqlDbSyncTaskProperties,
+ DatabaseBackupInfo,
+ DatabaseFileInfo,
+ DatabaseInfo,
+ DatabaseSummaryResult,
+ DatabaseTable,
+ DataItemMigrationSummaryResult,
+ DataMigrationService,
+ FileShare,
+ GetTdeCertificatesSqlTaskInput,
+ GetTdeCertificatesSqlTaskOutput,
+ GetTdeCertificatesSqlTaskProperties,
+ GetUserTablesOracleTaskInput,
+ GetUserTablesOracleTaskOutput,
+ GetUserTablesOracleTaskProperties,
+ GetUserTablesPostgreSqlTaskInput,
+ GetUserTablesPostgreSqlTaskOutput,
+ GetUserTablesPostgreSqlTaskProperties,
+ GetUserTablesSqlSyncTaskInput,
+ GetUserTablesSqlSyncTaskOutput,
+ GetUserTablesSqlSyncTaskProperties,
+ GetUserTablesSqlTaskInput,
+ GetUserTablesSqlTaskOutput,
+ GetUserTablesSqlTaskProperties,
+ InstallOCIDriverTaskInput,
+ InstallOCIDriverTaskOutput,
+ InstallOCIDriverTaskProperties,
+ MigrateMISyncCompleteCommandInput,
+ MigrateMISyncCompleteCommandOutput,
+ MigrateMISyncCompleteCommandProperties,
+ MigrateMongoDbTaskProperties,
+ MigrateMySqlAzureDbForMySqlSyncDatabaseInput,
+ MigrateMySqlAzureDbForMySqlSyncTaskInput,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutput,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputError,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel,
+ MigrateMySqlAzureDbForMySqlSyncTaskProperties,
+ MigrateOracleAzureDbForPostgreSqlSyncTaskProperties,
+ MigrateOracleAzureDbPostgreSqlSyncDatabaseInput,
+ MigrateOracleAzureDbPostgreSqlSyncTaskInput,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutput,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputError,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties,
+ MigrateSchemaSqlServerSqlDbDatabaseInput,
+ MigrateSchemaSqlServerSqlDbTaskInput,
+ MigrateSchemaSqlServerSqlDbTaskOutput,
+ MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel,
+ MigrateSchemaSqlServerSqlDbTaskOutputError,
+ MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel,
+ MigrateSchemaSqlServerSqlDbTaskProperties,
+ MigrateSchemaSqlTaskOutputError,
+ MigrateSqlServerSqlDbDatabaseInput,
+ MigrateSqlServerSqlDbSyncDatabaseInput,
+ MigrateSqlServerSqlDbSyncTaskInput,
+ MigrateSqlServerSqlDbSyncTaskOutput,
+ MigrateSqlServerSqlDbSyncTaskOutputDatabaseError,
+ MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel,
+ MigrateSqlServerSqlDbSyncTaskOutputError,
+ MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel,
+ MigrateSqlServerSqlDbSyncTaskOutputTableLevel,
+ MigrateSqlServerSqlDbSyncTaskProperties,
+ MigrateSqlServerSqlDbTaskInput,
+ MigrateSqlServerSqlDbTaskOutput,
+ MigrateSqlServerSqlDbTaskOutputDatabaseLevel,
+ MigrateSqlServerSqlDbTaskOutputError,
+ MigrateSqlServerSqlDbTaskOutputMigrationLevel,
+ MigrateSqlServerSqlDbTaskOutputTableLevel,
+ MigrateSqlServerSqlDbTaskProperties,
+ MigrateSqlServerSqlMIDatabaseInput,
+ MigrateSqlServerSqlMISyncTaskInput,
+ MigrateSqlServerSqlMISyncTaskOutput,
+ MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel,
+ MigrateSqlServerSqlMISyncTaskOutputError,
+ MigrateSqlServerSqlMISyncTaskOutputMigrationLevel,
+ MigrateSqlServerSqlMISyncTaskProperties,
+ MigrateSqlServerSqlMITaskInput,
+ MigrateSqlServerSqlMITaskOutput,
+ MigrateSqlServerSqlMITaskOutputAgentJobLevel,
+ MigrateSqlServerSqlMITaskOutputDatabaseLevel,
+ MigrateSqlServerSqlMITaskOutputError,
+ MigrateSqlServerSqlMITaskOutputLoginLevel,
+ MigrateSqlServerSqlMITaskOutputMigrationLevel,
+ MigrateSqlServerSqlMITaskProperties,
+ MigrateSsisTaskInput,
+ MigrateSsisTaskOutput,
+ MigrateSsisTaskOutputMigrationLevel,
+ MigrateSsisTaskOutputProjectLevel,
+ MigrateSsisTaskProperties,
+ MigrateSyncCompleteCommandInput,
+ MigrateSyncCompleteCommandOutput,
+ MigrateSyncCompleteCommandProperties,
+ MigrationEligibilityInfo,
+ MigrationReportResult,
+ MigrationValidationDatabaseSummaryResult,
+ MigrationValidationOptions,
+ MigrationValidationResult,
+ MiSqlConnectionInfo,
+ MongoDbCancelCommand,
+ MongoDbClusterInfo,
+ MongoDbCollectionInfo,
+ MongoDbCollectionProgress,
+ MongoDbCollectionSettings,
+ MongoDbCommandInput,
+ MongoDbConnectionInfo,
+ MongoDbDatabaseInfo,
+ MongoDbDatabaseProgress,
+ MongoDbDatabaseSettings,
+ MongoDbError,
+ MongoDbFinishCommand,
+ MongoDbFinishCommandInput,
+ MongoDbMigrationProgress,
+ MongoDbMigrationSettings,
+ MongoDbObjectInfo,
+ MongoDbProgress,
+ MongoDbRestartCommand,
+ MongoDbShardKeyField,
+ MongoDbShardKeyInfo,
+ MongoDbShardKeySetting,
+ MongoDbThrottlingSettings,
+ MySqlConnectionInfo,
+ ODataError,
+ OracleConnectionInfo,
+ OracleOCIDriverInfo,
+ OrphanedUserInfo,
+ PostgreSqlConnectionInfo,
+ Project,
+ ProjectFile,
+ ProjectFileProperties,
+ ProjectList,
+ ProjectTask,
+ ProjectTaskProperties,
+ ReportableException,
+ Resource,
+ SchemaMigrationSetting,
+ SelectedCertificateInput,
+ ServerProperties,
+ ServiceSku,
+ SqlConnectionInfo,
+ SqlMigrationTaskInput,
+ SqlServerSqlMISyncTaskInput,
+ SsisMigrationInfo,
+ StartMigrationScenarioServerRoleResult,
+ SyncMigrationDatabaseErrorEvent,
+ TrackedResource,
+ UploadOCIDriverTaskInput,
+ UploadOCIDriverTaskOutput,
+ UploadOCIDriverTaskProperties,
+ ValidateMigrationInputSqlServerSqlDbSyncTaskProperties,
+ ValidateMigrationInputSqlServerSqlMISyncTaskInput,
+ ValidateMigrationInputSqlServerSqlMISyncTaskOutput,
+ ValidateMigrationInputSqlServerSqlMISyncTaskProperties,
+ ValidateMigrationInputSqlServerSqlMITaskInput,
+ ValidateMigrationInputSqlServerSqlMITaskOutput,
+ ValidateMigrationInputSqlServerSqlMITaskProperties,
+ ValidateMongoDbTaskProperties,
+ ValidateOracleAzureDbForPostgreSqlSyncTaskProperties,
+ ValidateOracleAzureDbPostgreSqlSyncTaskOutput,
+ ValidateSyncMigrationInputSqlServerTaskInput,
+ ValidateSyncMigrationInputSqlServerTaskOutput
+} from "../models/mappers";
diff --git a/sdk/datamigration/arm-datamigration/src/models/resourceSkusMappers.ts b/sdk/datamigration/arm-datamigration/src/models/resourceSkusMappers.ts
new file mode 100644
index 000000000000..958464b4952f
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/src/models/resourceSkusMappers.ts
@@ -0,0 +1,19 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ discriminators,
+ ApiError,
+ ODataError,
+ ResourceSku,
+ ResourceSkuCapabilities,
+ ResourceSkuCapacity,
+ ResourceSkuCosts,
+ ResourceSkuRestrictions,
+ ResourceSkusResult
+} from "../models/mappers";
diff --git a/sdk/datamigration/arm-datamigration/src/models/serviceTasksMappers.ts b/sdk/datamigration/arm-datamigration/src/models/serviceTasksMappers.ts
new file mode 100644
index 000000000000..17dccc4b299d
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/src/models/serviceTasksMappers.ts
@@ -0,0 +1,234 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ discriminators,
+ ApiError,
+ AzureActiveDirectoryApp,
+ BackupFileInfo,
+ BackupSetInfo,
+ BaseResource,
+ BlobShare,
+ CheckOCIDriverTaskInput,
+ CheckOCIDriverTaskOutput,
+ CheckOCIDriverTaskProperties,
+ CommandProperties,
+ ConnectionInfo,
+ ConnectToMongoDbTaskProperties,
+ ConnectToSourceMySqlTaskInput,
+ ConnectToSourceMySqlTaskProperties,
+ ConnectToSourceNonSqlTaskOutput,
+ ConnectToSourceOracleSyncTaskInput,
+ ConnectToSourceOracleSyncTaskOutput,
+ ConnectToSourceOracleSyncTaskProperties,
+ ConnectToSourcePostgreSqlSyncTaskInput,
+ ConnectToSourcePostgreSqlSyncTaskOutput,
+ ConnectToSourcePostgreSqlSyncTaskProperties,
+ ConnectToSourceSqlServerSyncTaskProperties,
+ ConnectToSourceSqlServerTaskInput,
+ ConnectToSourceSqlServerTaskOutput,
+ ConnectToSourceSqlServerTaskOutputAgentJobLevel,
+ ConnectToSourceSqlServerTaskOutputDatabaseLevel,
+ ConnectToSourceSqlServerTaskOutputLoginLevel,
+ ConnectToSourceSqlServerTaskOutputTaskLevel,
+ ConnectToSourceSqlServerTaskProperties,
+ ConnectToTargetAzureDbForMySqlTaskInput,
+ ConnectToTargetAzureDbForMySqlTaskOutput,
+ ConnectToTargetAzureDbForMySqlTaskProperties,
+ ConnectToTargetAzureDbForPostgreSqlSyncTaskInput,
+ ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput,
+ ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties,
+ ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput,
+ ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput,
+ ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem,
+ ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties,
+ ConnectToTargetSqlDbTaskInput,
+ ConnectToTargetSqlDbTaskOutput,
+ ConnectToTargetSqlDbTaskProperties,
+ ConnectToTargetSqlMISyncTaskInput,
+ ConnectToTargetSqlMISyncTaskOutput,
+ ConnectToTargetSqlMISyncTaskProperties,
+ ConnectToTargetSqlMITaskInput,
+ ConnectToTargetSqlMITaskOutput,
+ ConnectToTargetSqlMITaskProperties,
+ ConnectToTargetSqlSqlDbSyncTaskInput,
+ ConnectToTargetSqlSqlDbSyncTaskProperties,
+ DatabaseBackupInfo,
+ DatabaseFileInfo,
+ DatabaseInfo,
+ DatabaseSummaryResult,
+ DatabaseTable,
+ DataItemMigrationSummaryResult,
+ DataMigrationService,
+ FileShare,
+ GetTdeCertificatesSqlTaskInput,
+ GetTdeCertificatesSqlTaskOutput,
+ GetTdeCertificatesSqlTaskProperties,
+ GetUserTablesOracleTaskInput,
+ GetUserTablesOracleTaskOutput,
+ GetUserTablesOracleTaskProperties,
+ GetUserTablesPostgreSqlTaskInput,
+ GetUserTablesPostgreSqlTaskOutput,
+ GetUserTablesPostgreSqlTaskProperties,
+ GetUserTablesSqlSyncTaskInput,
+ GetUserTablesSqlSyncTaskOutput,
+ GetUserTablesSqlSyncTaskProperties,
+ GetUserTablesSqlTaskInput,
+ GetUserTablesSqlTaskOutput,
+ GetUserTablesSqlTaskProperties,
+ InstallOCIDriverTaskInput,
+ InstallOCIDriverTaskOutput,
+ InstallOCIDriverTaskProperties,
+ MigrateMISyncCompleteCommandInput,
+ MigrateMISyncCompleteCommandOutput,
+ MigrateMISyncCompleteCommandProperties,
+ MigrateMongoDbTaskProperties,
+ MigrateMySqlAzureDbForMySqlSyncDatabaseInput,
+ MigrateMySqlAzureDbForMySqlSyncTaskInput,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutput,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputError,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel,
+ MigrateMySqlAzureDbForMySqlSyncTaskProperties,
+ MigrateOracleAzureDbForPostgreSqlSyncTaskProperties,
+ MigrateOracleAzureDbPostgreSqlSyncDatabaseInput,
+ MigrateOracleAzureDbPostgreSqlSyncTaskInput,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutput,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputError,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties,
+ MigrateSchemaSqlServerSqlDbDatabaseInput,
+ MigrateSchemaSqlServerSqlDbTaskInput,
+ MigrateSchemaSqlServerSqlDbTaskOutput,
+ MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel,
+ MigrateSchemaSqlServerSqlDbTaskOutputError,
+ MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel,
+ MigrateSchemaSqlServerSqlDbTaskProperties,
+ MigrateSchemaSqlTaskOutputError,
+ MigrateSqlServerSqlDbDatabaseInput,
+ MigrateSqlServerSqlDbSyncDatabaseInput,
+ MigrateSqlServerSqlDbSyncTaskInput,
+ MigrateSqlServerSqlDbSyncTaskOutput,
+ MigrateSqlServerSqlDbSyncTaskOutputDatabaseError,
+ MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel,
+ MigrateSqlServerSqlDbSyncTaskOutputError,
+ MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel,
+ MigrateSqlServerSqlDbSyncTaskOutputTableLevel,
+ MigrateSqlServerSqlDbSyncTaskProperties,
+ MigrateSqlServerSqlDbTaskInput,
+ MigrateSqlServerSqlDbTaskOutput,
+ MigrateSqlServerSqlDbTaskOutputDatabaseLevel,
+ MigrateSqlServerSqlDbTaskOutputError,
+ MigrateSqlServerSqlDbTaskOutputMigrationLevel,
+ MigrateSqlServerSqlDbTaskOutputTableLevel,
+ MigrateSqlServerSqlDbTaskProperties,
+ MigrateSqlServerSqlMIDatabaseInput,
+ MigrateSqlServerSqlMISyncTaskInput,
+ MigrateSqlServerSqlMISyncTaskOutput,
+ MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel,
+ MigrateSqlServerSqlMISyncTaskOutputError,
+ MigrateSqlServerSqlMISyncTaskOutputMigrationLevel,
+ MigrateSqlServerSqlMISyncTaskProperties,
+ MigrateSqlServerSqlMITaskInput,
+ MigrateSqlServerSqlMITaskOutput,
+ MigrateSqlServerSqlMITaskOutputAgentJobLevel,
+ MigrateSqlServerSqlMITaskOutputDatabaseLevel,
+ MigrateSqlServerSqlMITaskOutputError,
+ MigrateSqlServerSqlMITaskOutputLoginLevel,
+ MigrateSqlServerSqlMITaskOutputMigrationLevel,
+ MigrateSqlServerSqlMITaskProperties,
+ MigrateSsisTaskInput,
+ MigrateSsisTaskOutput,
+ MigrateSsisTaskOutputMigrationLevel,
+ MigrateSsisTaskOutputProjectLevel,
+ MigrateSsisTaskProperties,
+ MigrateSyncCompleteCommandInput,
+ MigrateSyncCompleteCommandOutput,
+ MigrateSyncCompleteCommandProperties,
+ MigrationEligibilityInfo,
+ MigrationReportResult,
+ MigrationValidationDatabaseSummaryResult,
+ MigrationValidationOptions,
+ MigrationValidationResult,
+ MiSqlConnectionInfo,
+ MongoDbCancelCommand,
+ MongoDbClusterInfo,
+ MongoDbCollectionInfo,
+ MongoDbCollectionProgress,
+ MongoDbCollectionSettings,
+ MongoDbCommandInput,
+ MongoDbConnectionInfo,
+ MongoDbDatabaseInfo,
+ MongoDbDatabaseProgress,
+ MongoDbDatabaseSettings,
+ MongoDbError,
+ MongoDbFinishCommand,
+ MongoDbFinishCommandInput,
+ MongoDbMigrationProgress,
+ MongoDbMigrationSettings,
+ MongoDbObjectInfo,
+ MongoDbProgress,
+ MongoDbRestartCommand,
+ MongoDbShardKeyField,
+ MongoDbShardKeyInfo,
+ MongoDbShardKeySetting,
+ MongoDbThrottlingSettings,
+ MySqlConnectionInfo,
+ ODataError,
+ OracleConnectionInfo,
+ OracleOCIDriverInfo,
+ OrphanedUserInfo,
+ PostgreSqlConnectionInfo,
+ Project,
+ ProjectFile,
+ ProjectFileProperties,
+ ProjectTask,
+ ProjectTaskProperties,
+ ReportableException,
+ Resource,
+ SchemaMigrationSetting,
+ SelectedCertificateInput,
+ ServerProperties,
+ ServiceSku,
+ SqlConnectionInfo,
+ SqlMigrationTaskInput,
+ SqlServerSqlMISyncTaskInput,
+ SsisMigrationInfo,
+ StartMigrationScenarioServerRoleResult,
+ SyncMigrationDatabaseErrorEvent,
+ TaskList,
+ TrackedResource,
+ UploadOCIDriverTaskInput,
+ UploadOCIDriverTaskOutput,
+ UploadOCIDriverTaskProperties,
+ ValidateMigrationInputSqlServerSqlDbSyncTaskProperties,
+ ValidateMigrationInputSqlServerSqlMISyncTaskInput,
+ ValidateMigrationInputSqlServerSqlMISyncTaskOutput,
+ ValidateMigrationInputSqlServerSqlMISyncTaskProperties,
+ ValidateMigrationInputSqlServerSqlMITaskInput,
+ ValidateMigrationInputSqlServerSqlMITaskOutput,
+ ValidateMigrationInputSqlServerSqlMITaskProperties,
+ ValidateMongoDbTaskProperties,
+ ValidateOracleAzureDbForPostgreSqlSyncTaskProperties,
+ ValidateOracleAzureDbPostgreSqlSyncTaskOutput,
+ ValidateSyncMigrationInputSqlServerTaskInput,
+ ValidateSyncMigrationInputSqlServerTaskOutput
+} from "../models/mappers";
diff --git a/sdk/datamigration/arm-datamigration/src/models/servicesMappers.ts b/sdk/datamigration/arm-datamigration/src/models/servicesMappers.ts
new file mode 100644
index 000000000000..7d444195a34e
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/src/models/servicesMappers.ts
@@ -0,0 +1,241 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ discriminators,
+ ApiError,
+ AvailableServiceSku,
+ AvailableServiceSkuCapacity,
+ AvailableServiceSkuSku,
+ AzureActiveDirectoryApp,
+ BackupFileInfo,
+ BackupSetInfo,
+ BaseResource,
+ BlobShare,
+ CheckOCIDriverTaskInput,
+ CheckOCIDriverTaskOutput,
+ CheckOCIDriverTaskProperties,
+ CommandProperties,
+ ConnectionInfo,
+ ConnectToMongoDbTaskProperties,
+ ConnectToSourceMySqlTaskInput,
+ ConnectToSourceMySqlTaskProperties,
+ ConnectToSourceNonSqlTaskOutput,
+ ConnectToSourceOracleSyncTaskInput,
+ ConnectToSourceOracleSyncTaskOutput,
+ ConnectToSourceOracleSyncTaskProperties,
+ ConnectToSourcePostgreSqlSyncTaskInput,
+ ConnectToSourcePostgreSqlSyncTaskOutput,
+ ConnectToSourcePostgreSqlSyncTaskProperties,
+ ConnectToSourceSqlServerSyncTaskProperties,
+ ConnectToSourceSqlServerTaskInput,
+ ConnectToSourceSqlServerTaskOutput,
+ ConnectToSourceSqlServerTaskOutputAgentJobLevel,
+ ConnectToSourceSqlServerTaskOutputDatabaseLevel,
+ ConnectToSourceSqlServerTaskOutputLoginLevel,
+ ConnectToSourceSqlServerTaskOutputTaskLevel,
+ ConnectToSourceSqlServerTaskProperties,
+ ConnectToTargetAzureDbForMySqlTaskInput,
+ ConnectToTargetAzureDbForMySqlTaskOutput,
+ ConnectToTargetAzureDbForMySqlTaskProperties,
+ ConnectToTargetAzureDbForPostgreSqlSyncTaskInput,
+ ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput,
+ ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties,
+ ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput,
+ ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput,
+ ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem,
+ ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties,
+ ConnectToTargetSqlDbTaskInput,
+ ConnectToTargetSqlDbTaskOutput,
+ ConnectToTargetSqlDbTaskProperties,
+ ConnectToTargetSqlMISyncTaskInput,
+ ConnectToTargetSqlMISyncTaskOutput,
+ ConnectToTargetSqlMISyncTaskProperties,
+ ConnectToTargetSqlMITaskInput,
+ ConnectToTargetSqlMITaskOutput,
+ ConnectToTargetSqlMITaskProperties,
+ ConnectToTargetSqlSqlDbSyncTaskInput,
+ ConnectToTargetSqlSqlDbSyncTaskProperties,
+ DatabaseBackupInfo,
+ DatabaseFileInfo,
+ DatabaseInfo,
+ DatabaseSummaryResult,
+ DatabaseTable,
+ DataItemMigrationSummaryResult,
+ DataMigrationService,
+ DataMigrationServiceList,
+ DataMigrationServiceStatusResponse,
+ FileShare,
+ GetTdeCertificatesSqlTaskInput,
+ GetTdeCertificatesSqlTaskOutput,
+ GetTdeCertificatesSqlTaskProperties,
+ GetUserTablesOracleTaskInput,
+ GetUserTablesOracleTaskOutput,
+ GetUserTablesOracleTaskProperties,
+ GetUserTablesPostgreSqlTaskInput,
+ GetUserTablesPostgreSqlTaskOutput,
+ GetUserTablesPostgreSqlTaskProperties,
+ GetUserTablesSqlSyncTaskInput,
+ GetUserTablesSqlSyncTaskOutput,
+ GetUserTablesSqlSyncTaskProperties,
+ GetUserTablesSqlTaskInput,
+ GetUserTablesSqlTaskOutput,
+ GetUserTablesSqlTaskProperties,
+ InstallOCIDriverTaskInput,
+ InstallOCIDriverTaskOutput,
+ InstallOCIDriverTaskProperties,
+ MigrateMISyncCompleteCommandInput,
+ MigrateMISyncCompleteCommandOutput,
+ MigrateMISyncCompleteCommandProperties,
+ MigrateMongoDbTaskProperties,
+ MigrateMySqlAzureDbForMySqlSyncDatabaseInput,
+ MigrateMySqlAzureDbForMySqlSyncTaskInput,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutput,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputError,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel,
+ MigrateMySqlAzureDbForMySqlSyncTaskProperties,
+ MigrateOracleAzureDbForPostgreSqlSyncTaskProperties,
+ MigrateOracleAzureDbPostgreSqlSyncDatabaseInput,
+ MigrateOracleAzureDbPostgreSqlSyncTaskInput,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutput,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputError,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties,
+ MigrateSchemaSqlServerSqlDbDatabaseInput,
+ MigrateSchemaSqlServerSqlDbTaskInput,
+ MigrateSchemaSqlServerSqlDbTaskOutput,
+ MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel,
+ MigrateSchemaSqlServerSqlDbTaskOutputError,
+ MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel,
+ MigrateSchemaSqlServerSqlDbTaskProperties,
+ MigrateSchemaSqlTaskOutputError,
+ MigrateSqlServerSqlDbDatabaseInput,
+ MigrateSqlServerSqlDbSyncDatabaseInput,
+ MigrateSqlServerSqlDbSyncTaskInput,
+ MigrateSqlServerSqlDbSyncTaskOutput,
+ MigrateSqlServerSqlDbSyncTaskOutputDatabaseError,
+ MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel,
+ MigrateSqlServerSqlDbSyncTaskOutputError,
+ MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel,
+ MigrateSqlServerSqlDbSyncTaskOutputTableLevel,
+ MigrateSqlServerSqlDbSyncTaskProperties,
+ MigrateSqlServerSqlDbTaskInput,
+ MigrateSqlServerSqlDbTaskOutput,
+ MigrateSqlServerSqlDbTaskOutputDatabaseLevel,
+ MigrateSqlServerSqlDbTaskOutputError,
+ MigrateSqlServerSqlDbTaskOutputMigrationLevel,
+ MigrateSqlServerSqlDbTaskOutputTableLevel,
+ MigrateSqlServerSqlDbTaskProperties,
+ MigrateSqlServerSqlMIDatabaseInput,
+ MigrateSqlServerSqlMISyncTaskInput,
+ MigrateSqlServerSqlMISyncTaskOutput,
+ MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel,
+ MigrateSqlServerSqlMISyncTaskOutputError,
+ MigrateSqlServerSqlMISyncTaskOutputMigrationLevel,
+ MigrateSqlServerSqlMISyncTaskProperties,
+ MigrateSqlServerSqlMITaskInput,
+ MigrateSqlServerSqlMITaskOutput,
+ MigrateSqlServerSqlMITaskOutputAgentJobLevel,
+ MigrateSqlServerSqlMITaskOutputDatabaseLevel,
+ MigrateSqlServerSqlMITaskOutputError,
+ MigrateSqlServerSqlMITaskOutputLoginLevel,
+ MigrateSqlServerSqlMITaskOutputMigrationLevel,
+ MigrateSqlServerSqlMITaskProperties,
+ MigrateSsisTaskInput,
+ MigrateSsisTaskOutput,
+ MigrateSsisTaskOutputMigrationLevel,
+ MigrateSsisTaskOutputProjectLevel,
+ MigrateSsisTaskProperties,
+ MigrateSyncCompleteCommandInput,
+ MigrateSyncCompleteCommandOutput,
+ MigrateSyncCompleteCommandProperties,
+ MigrationEligibilityInfo,
+ MigrationReportResult,
+ MigrationValidationDatabaseSummaryResult,
+ MigrationValidationOptions,
+ MigrationValidationResult,
+ MiSqlConnectionInfo,
+ MongoDbCancelCommand,
+ MongoDbClusterInfo,
+ MongoDbCollectionInfo,
+ MongoDbCollectionProgress,
+ MongoDbCollectionSettings,
+ MongoDbCommandInput,
+ MongoDbConnectionInfo,
+ MongoDbDatabaseInfo,
+ MongoDbDatabaseProgress,
+ MongoDbDatabaseSettings,
+ MongoDbError,
+ MongoDbFinishCommand,
+ MongoDbFinishCommandInput,
+ MongoDbMigrationProgress,
+ MongoDbMigrationSettings,
+ MongoDbObjectInfo,
+ MongoDbProgress,
+ MongoDbRestartCommand,
+ MongoDbShardKeyField,
+ MongoDbShardKeyInfo,
+ MongoDbShardKeySetting,
+ MongoDbThrottlingSettings,
+ MySqlConnectionInfo,
+ NameAvailabilityRequest,
+ NameAvailabilityResponse,
+ ODataError,
+ OracleConnectionInfo,
+ OracleOCIDriverInfo,
+ OrphanedUserInfo,
+ PostgreSqlConnectionInfo,
+ Project,
+ ProjectFile,
+ ProjectFileProperties,
+ ProjectTask,
+ ProjectTaskProperties,
+ ReportableException,
+ Resource,
+ SchemaMigrationSetting,
+ SelectedCertificateInput,
+ ServerProperties,
+ ServiceSku,
+ ServiceSkuList,
+ SqlConnectionInfo,
+ SqlMigrationTaskInput,
+ SqlServerSqlMISyncTaskInput,
+ SsisMigrationInfo,
+ StartMigrationScenarioServerRoleResult,
+ SyncMigrationDatabaseErrorEvent,
+ TrackedResource,
+ UploadOCIDriverTaskInput,
+ UploadOCIDriverTaskOutput,
+ UploadOCIDriverTaskProperties,
+ ValidateMigrationInputSqlServerSqlDbSyncTaskProperties,
+ ValidateMigrationInputSqlServerSqlMISyncTaskInput,
+ ValidateMigrationInputSqlServerSqlMISyncTaskOutput,
+ ValidateMigrationInputSqlServerSqlMISyncTaskProperties,
+ ValidateMigrationInputSqlServerSqlMITaskInput,
+ ValidateMigrationInputSqlServerSqlMITaskOutput,
+ ValidateMigrationInputSqlServerSqlMITaskProperties,
+ ValidateMongoDbTaskProperties,
+ ValidateOracleAzureDbForPostgreSqlSyncTaskProperties,
+ ValidateOracleAzureDbPostgreSqlSyncTaskOutput,
+ ValidateSyncMigrationInputSqlServerTaskInput,
+ ValidateSyncMigrationInputSqlServerTaskOutput
+} from "../models/mappers";
diff --git a/sdk/datamigration/arm-datamigration/src/models/tasksMappers.ts b/sdk/datamigration/arm-datamigration/src/models/tasksMappers.ts
new file mode 100644
index 000000000000..17dccc4b299d
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/src/models/tasksMappers.ts
@@ -0,0 +1,234 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ discriminators,
+ ApiError,
+ AzureActiveDirectoryApp,
+ BackupFileInfo,
+ BackupSetInfo,
+ BaseResource,
+ BlobShare,
+ CheckOCIDriverTaskInput,
+ CheckOCIDriverTaskOutput,
+ CheckOCIDriverTaskProperties,
+ CommandProperties,
+ ConnectionInfo,
+ ConnectToMongoDbTaskProperties,
+ ConnectToSourceMySqlTaskInput,
+ ConnectToSourceMySqlTaskProperties,
+ ConnectToSourceNonSqlTaskOutput,
+ ConnectToSourceOracleSyncTaskInput,
+ ConnectToSourceOracleSyncTaskOutput,
+ ConnectToSourceOracleSyncTaskProperties,
+ ConnectToSourcePostgreSqlSyncTaskInput,
+ ConnectToSourcePostgreSqlSyncTaskOutput,
+ ConnectToSourcePostgreSqlSyncTaskProperties,
+ ConnectToSourceSqlServerSyncTaskProperties,
+ ConnectToSourceSqlServerTaskInput,
+ ConnectToSourceSqlServerTaskOutput,
+ ConnectToSourceSqlServerTaskOutputAgentJobLevel,
+ ConnectToSourceSqlServerTaskOutputDatabaseLevel,
+ ConnectToSourceSqlServerTaskOutputLoginLevel,
+ ConnectToSourceSqlServerTaskOutputTaskLevel,
+ ConnectToSourceSqlServerTaskProperties,
+ ConnectToTargetAzureDbForMySqlTaskInput,
+ ConnectToTargetAzureDbForMySqlTaskOutput,
+ ConnectToTargetAzureDbForMySqlTaskProperties,
+ ConnectToTargetAzureDbForPostgreSqlSyncTaskInput,
+ ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput,
+ ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties,
+ ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput,
+ ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput,
+ ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem,
+ ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties,
+ ConnectToTargetSqlDbTaskInput,
+ ConnectToTargetSqlDbTaskOutput,
+ ConnectToTargetSqlDbTaskProperties,
+ ConnectToTargetSqlMISyncTaskInput,
+ ConnectToTargetSqlMISyncTaskOutput,
+ ConnectToTargetSqlMISyncTaskProperties,
+ ConnectToTargetSqlMITaskInput,
+ ConnectToTargetSqlMITaskOutput,
+ ConnectToTargetSqlMITaskProperties,
+ ConnectToTargetSqlSqlDbSyncTaskInput,
+ ConnectToTargetSqlSqlDbSyncTaskProperties,
+ DatabaseBackupInfo,
+ DatabaseFileInfo,
+ DatabaseInfo,
+ DatabaseSummaryResult,
+ DatabaseTable,
+ DataItemMigrationSummaryResult,
+ DataMigrationService,
+ FileShare,
+ GetTdeCertificatesSqlTaskInput,
+ GetTdeCertificatesSqlTaskOutput,
+ GetTdeCertificatesSqlTaskProperties,
+ GetUserTablesOracleTaskInput,
+ GetUserTablesOracleTaskOutput,
+ GetUserTablesOracleTaskProperties,
+ GetUserTablesPostgreSqlTaskInput,
+ GetUserTablesPostgreSqlTaskOutput,
+ GetUserTablesPostgreSqlTaskProperties,
+ GetUserTablesSqlSyncTaskInput,
+ GetUserTablesSqlSyncTaskOutput,
+ GetUserTablesSqlSyncTaskProperties,
+ GetUserTablesSqlTaskInput,
+ GetUserTablesSqlTaskOutput,
+ GetUserTablesSqlTaskProperties,
+ InstallOCIDriverTaskInput,
+ InstallOCIDriverTaskOutput,
+ InstallOCIDriverTaskProperties,
+ MigrateMISyncCompleteCommandInput,
+ MigrateMISyncCompleteCommandOutput,
+ MigrateMISyncCompleteCommandProperties,
+ MigrateMongoDbTaskProperties,
+ MigrateMySqlAzureDbForMySqlSyncDatabaseInput,
+ MigrateMySqlAzureDbForMySqlSyncTaskInput,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutput,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputError,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel,
+ MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel,
+ MigrateMySqlAzureDbForMySqlSyncTaskProperties,
+ MigrateOracleAzureDbForPostgreSqlSyncTaskProperties,
+ MigrateOracleAzureDbPostgreSqlSyncDatabaseInput,
+ MigrateOracleAzureDbPostgreSqlSyncTaskInput,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutput,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputError,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel,
+ MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel,
+ MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties,
+ MigrateSchemaSqlServerSqlDbDatabaseInput,
+ MigrateSchemaSqlServerSqlDbTaskInput,
+ MigrateSchemaSqlServerSqlDbTaskOutput,
+ MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel,
+ MigrateSchemaSqlServerSqlDbTaskOutputError,
+ MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel,
+ MigrateSchemaSqlServerSqlDbTaskProperties,
+ MigrateSchemaSqlTaskOutputError,
+ MigrateSqlServerSqlDbDatabaseInput,
+ MigrateSqlServerSqlDbSyncDatabaseInput,
+ MigrateSqlServerSqlDbSyncTaskInput,
+ MigrateSqlServerSqlDbSyncTaskOutput,
+ MigrateSqlServerSqlDbSyncTaskOutputDatabaseError,
+ MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel,
+ MigrateSqlServerSqlDbSyncTaskOutputError,
+ MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel,
+ MigrateSqlServerSqlDbSyncTaskOutputTableLevel,
+ MigrateSqlServerSqlDbSyncTaskProperties,
+ MigrateSqlServerSqlDbTaskInput,
+ MigrateSqlServerSqlDbTaskOutput,
+ MigrateSqlServerSqlDbTaskOutputDatabaseLevel,
+ MigrateSqlServerSqlDbTaskOutputError,
+ MigrateSqlServerSqlDbTaskOutputMigrationLevel,
+ MigrateSqlServerSqlDbTaskOutputTableLevel,
+ MigrateSqlServerSqlDbTaskProperties,
+ MigrateSqlServerSqlMIDatabaseInput,
+ MigrateSqlServerSqlMISyncTaskInput,
+ MigrateSqlServerSqlMISyncTaskOutput,
+ MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel,
+ MigrateSqlServerSqlMISyncTaskOutputError,
+ MigrateSqlServerSqlMISyncTaskOutputMigrationLevel,
+ MigrateSqlServerSqlMISyncTaskProperties,
+ MigrateSqlServerSqlMITaskInput,
+ MigrateSqlServerSqlMITaskOutput,
+ MigrateSqlServerSqlMITaskOutputAgentJobLevel,
+ MigrateSqlServerSqlMITaskOutputDatabaseLevel,
+ MigrateSqlServerSqlMITaskOutputError,
+ MigrateSqlServerSqlMITaskOutputLoginLevel,
+ MigrateSqlServerSqlMITaskOutputMigrationLevel,
+ MigrateSqlServerSqlMITaskProperties,
+ MigrateSsisTaskInput,
+ MigrateSsisTaskOutput,
+ MigrateSsisTaskOutputMigrationLevel,
+ MigrateSsisTaskOutputProjectLevel,
+ MigrateSsisTaskProperties,
+ MigrateSyncCompleteCommandInput,
+ MigrateSyncCompleteCommandOutput,
+ MigrateSyncCompleteCommandProperties,
+ MigrationEligibilityInfo,
+ MigrationReportResult,
+ MigrationValidationDatabaseSummaryResult,
+ MigrationValidationOptions,
+ MigrationValidationResult,
+ MiSqlConnectionInfo,
+ MongoDbCancelCommand,
+ MongoDbClusterInfo,
+ MongoDbCollectionInfo,
+ MongoDbCollectionProgress,
+ MongoDbCollectionSettings,
+ MongoDbCommandInput,
+ MongoDbConnectionInfo,
+ MongoDbDatabaseInfo,
+ MongoDbDatabaseProgress,
+ MongoDbDatabaseSettings,
+ MongoDbError,
+ MongoDbFinishCommand,
+ MongoDbFinishCommandInput,
+ MongoDbMigrationProgress,
+ MongoDbMigrationSettings,
+ MongoDbObjectInfo,
+ MongoDbProgress,
+ MongoDbRestartCommand,
+ MongoDbShardKeyField,
+ MongoDbShardKeyInfo,
+ MongoDbShardKeySetting,
+ MongoDbThrottlingSettings,
+ MySqlConnectionInfo,
+ ODataError,
+ OracleConnectionInfo,
+ OracleOCIDriverInfo,
+ OrphanedUserInfo,
+ PostgreSqlConnectionInfo,
+ Project,
+ ProjectFile,
+ ProjectFileProperties,
+ ProjectTask,
+ ProjectTaskProperties,
+ ReportableException,
+ Resource,
+ SchemaMigrationSetting,
+ SelectedCertificateInput,
+ ServerProperties,
+ ServiceSku,
+ SqlConnectionInfo,
+ SqlMigrationTaskInput,
+ SqlServerSqlMISyncTaskInput,
+ SsisMigrationInfo,
+ StartMigrationScenarioServerRoleResult,
+ SyncMigrationDatabaseErrorEvent,
+ TaskList,
+ TrackedResource,
+ UploadOCIDriverTaskInput,
+ UploadOCIDriverTaskOutput,
+ UploadOCIDriverTaskProperties,
+ ValidateMigrationInputSqlServerSqlDbSyncTaskProperties,
+ ValidateMigrationInputSqlServerSqlMISyncTaskInput,
+ ValidateMigrationInputSqlServerSqlMISyncTaskOutput,
+ ValidateMigrationInputSqlServerSqlMISyncTaskProperties,
+ ValidateMigrationInputSqlServerSqlMITaskInput,
+ ValidateMigrationInputSqlServerSqlMITaskOutput,
+ ValidateMigrationInputSqlServerSqlMITaskProperties,
+ ValidateMongoDbTaskProperties,
+ ValidateOracleAzureDbForPostgreSqlSyncTaskProperties,
+ ValidateOracleAzureDbPostgreSqlSyncTaskOutput,
+ ValidateSyncMigrationInputSqlServerTaskInput,
+ ValidateSyncMigrationInputSqlServerTaskOutput
+} from "../models/mappers";
diff --git a/sdk/datamigration/arm-datamigration/src/models/usagesMappers.ts b/sdk/datamigration/arm-datamigration/src/models/usagesMappers.ts
new file mode 100644
index 000000000000..f66421c5bc45
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/src/models/usagesMappers.ts
@@ -0,0 +1,16 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ discriminators,
+ ApiError,
+ ODataError,
+ Quota,
+ QuotaList,
+ QuotaName
+} from "../models/mappers";
diff --git a/sdk/datamigration/arm-datamigration/src/operations/files.ts b/sdk/datamigration/arm-datamigration/src/operations/files.ts
new file mode 100644
index 000000000000..14df112b639c
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/src/operations/files.ts
@@ -0,0 +1,579 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+import * as Models from "../models";
+import * as Mappers from "../models/filesMappers";
+import * as Parameters from "../models/parameters";
+import { DataMigrationServiceClientContext } from "../dataMigrationServiceClientContext";
+
+/** Class representing a Files. */
+export class Files {
+ private readonly client: DataMigrationServiceClientContext;
+
+ /**
+ * Create a Files.
+ * @param {DataMigrationServiceClientContext} client Reference to the service client.
+ */
+ constructor(client: DataMigrationServiceClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * The project resource is a nested resource representing a stored migration project. This method
+ * returns a list of files owned by a project resource.
+ * @summary Get files in a project
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(groupName: string, serviceName: string, projectName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param callback The callback
+ */
+ list(groupName: string, serviceName: string, projectName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(groupName: string, serviceName: string, projectName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ list(groupName: string, serviceName: string, projectName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ groupName,
+ serviceName,
+ projectName,
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * The files resource is a nested, proxy-only resource representing a file stored under the project
+ * resource. This method retrieves information about a file.
+ * @summary Get file information
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param fileName Name of the File
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param fileName Name of the File
+ * @param callback The callback
+ */
+ get(groupName: string, serviceName: string, projectName: string, fileName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param fileName Name of the File
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(groupName: string, serviceName: string, projectName: string, fileName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ groupName,
+ serviceName,
+ projectName,
+ fileName,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * The PUT method creates a new file or updates an existing one.
+ * @summary Create a file resource
+ * @param parameters Information about the file
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param fileName Name of the File
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdate(parameters: Models.ProjectFile, groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param parameters Information about the file
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param fileName Name of the File
+ * @param callback The callback
+ */
+ createOrUpdate(parameters: Models.ProjectFile, groupName: string, serviceName: string, projectName: string, fileName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param parameters Information about the file
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param fileName Name of the File
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ createOrUpdate(parameters: Models.ProjectFile, groupName: string, serviceName: string, projectName: string, fileName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ createOrUpdate(parameters: Models.ProjectFile, groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ parameters,
+ groupName,
+ serviceName,
+ projectName,
+ fileName,
+ options
+ },
+ createOrUpdateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * This method deletes a file.
+ * @summary Delete file
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param fileName Name of the File
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteMethod(groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param fileName Name of the File
+ * @param callback The callback
+ */
+ deleteMethod(groupName: string, serviceName: string, projectName: string, fileName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param fileName Name of the File
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ deleteMethod(groupName: string, serviceName: string, projectName: string, fileName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ deleteMethod(groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ groupName,
+ serviceName,
+ projectName,
+ fileName,
+ options
+ },
+ deleteMethodOperationSpec,
+ callback);
+ }
+
+ /**
+ * This method updates an existing file.
+ * @summary Update a file
+ * @param parameters Information about the file
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param fileName Name of the File
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ update(parameters: Models.ProjectFile, groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param parameters Information about the file
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param fileName Name of the File
+ * @param callback The callback
+ */
+ update(parameters: Models.ProjectFile, groupName: string, serviceName: string, projectName: string, fileName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param parameters Information about the file
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param fileName Name of the File
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ update(parameters: Models.ProjectFile, groupName: string, serviceName: string, projectName: string, fileName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ update(parameters: Models.ProjectFile, groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ parameters,
+ groupName,
+ serviceName,
+ projectName,
+ fileName,
+ options
+ },
+ updateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * This method is used for requesting storage information using which contents of the file can be
+ * downloaded.
+ * @summary Request storage information for downloading the file content
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param fileName Name of the File
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ read(groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param fileName Name of the File
+ * @param callback The callback
+ */
+ read(groupName: string, serviceName: string, projectName: string, fileName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param fileName Name of the File
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ read(groupName: string, serviceName: string, projectName: string, fileName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ read(groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ groupName,
+ serviceName,
+ projectName,
+ fileName,
+ options
+ },
+ readOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * This method is used for requesting information for reading and writing the file content.
+ * @summary Request information for reading and writing file content.
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param fileName Name of the File
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ readWrite(groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param fileName Name of the File
+ * @param callback The callback
+ */
+ readWrite(groupName: string, serviceName: string, projectName: string, fileName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param fileName Name of the File
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ readWrite(groupName: string, serviceName: string, projectName: string, fileName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ readWrite(groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ groupName,
+ serviceName,
+ projectName,
+ fileName,
+ options
+ },
+ readWriteOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * The project resource is a nested resource representing a stored migration project. This method
+ * returns a list of files owned by a project resource.
+ * @summary Get files in a project
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listNextOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.groupName,
+ Parameters.serviceName,
+ Parameters.projectName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.FileList
+ },
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
+
+const getOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.groupName,
+ Parameters.serviceName,
+ Parameters.projectName,
+ Parameters.fileName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ProjectFile
+ },
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
+
+const createOrUpdateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PUT",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.groupName,
+ Parameters.serviceName,
+ Parameters.projectName,
+ Parameters.fileName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.ProjectFile,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ProjectFile
+ },
+ 201: {
+ bodyMapper: Mappers.ProjectFile
+ },
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
+
+const deleteMethodOperationSpec: msRest.OperationSpec = {
+ httpMethod: "DELETE",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.groupName,
+ Parameters.serviceName,
+ Parameters.projectName,
+ Parameters.fileName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {},
+ 204: {},
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
+
+const updateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PATCH",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.groupName,
+ Parameters.serviceName,
+ Parameters.projectName,
+ Parameters.fileName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.ProjectFile,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ProjectFile
+ },
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
+
+const readOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}/read",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.groupName,
+ Parameters.serviceName,
+ Parameters.projectName,
+ Parameters.fileName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.FileStorageInfo
+ },
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
+
+const readWriteOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}/readwrite",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.groupName,
+ Parameters.serviceName,
+ Parameters.projectName,
+ Parameters.fileName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.FileStorageInfo
+ },
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
+
+const listNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.FileList
+ },
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
diff --git a/sdk/datamigration/arm-datamigration/src/operations/index.ts b/sdk/datamigration/arm-datamigration/src/operations/index.ts
new file mode 100644
index 000000000000..2ffe1518b219
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/src/operations/index.ts
@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+export * from "./resourceSkus";
+export * from "./services";
+export * from "./tasks";
+export * from "./serviceTasks";
+export * from "./projects";
+export * from "./usages";
+export * from "./operations";
+export * from "./files";
diff --git a/sdk/datamigration/arm-datamigration/src/operations/operations.ts b/sdk/datamigration/arm-datamigration/src/operations/operations.ts
new file mode 100644
index 000000000000..66ba9b562856
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/src/operations/operations.ts
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+import * as Models from "../models";
+import * as Mappers from "../models/operationsMappers";
+import * as Parameters from "../models/parameters";
+import { DataMigrationServiceClientContext } from "../dataMigrationServiceClientContext";
+
+/** Class representing a Operations. */
+export class Operations {
+ private readonly client: DataMigrationServiceClientContext;
+
+ /**
+ * Create a Operations.
+ * @param {DataMigrationServiceClientContext} client Reference to the service client.
+ */
+ constructor(client: DataMigrationServiceClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Lists all available actions exposed by the Database Migration Service resource provider.
+ * @summary Get available resource provider actions (operations)
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param callback The callback
+ */
+ list(callback: msRest.ServiceCallback): void;
+ /**
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Lists all available actions exposed by the Database Migration Service resource provider.
+ * @summary Get available resource provider actions (operations)
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listNextOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "providers/Microsoft.DataMigration/operations",
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ServiceOperationList
+ },
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
+
+const listNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ServiceOperationList
+ },
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
diff --git a/sdk/datamigration/arm-datamigration/src/operations/projects.ts b/sdk/datamigration/arm-datamigration/src/operations/projects.ts
new file mode 100644
index 000000000000..e4ea787a0759
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/src/operations/projects.ts
@@ -0,0 +1,421 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+import * as Models from "../models";
+import * as Mappers from "../models/projectsMappers";
+import * as Parameters from "../models/parameters";
+import { DataMigrationServiceClientContext } from "../dataMigrationServiceClientContext";
+
+/** Class representing a Projects. */
+export class Projects {
+ private readonly client: DataMigrationServiceClientContext;
+
+ /**
+ * Create a Projects.
+ * @param {DataMigrationServiceClientContext} client Reference to the service client.
+ */
+ constructor(client: DataMigrationServiceClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * The project resource is a nested resource representing a stored migration project. This method
+ * returns a list of projects owned by a service resource.
+ * @summary Get projects in a service
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param callback The callback
+ */
+ list(groupName: string, serviceName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(groupName: string, serviceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ list(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ groupName,
+ serviceName,
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * The project resource is a nested resource representing a stored migration project. The PUT
+ * method creates a new project or updates an existing one.
+ * @summary Create or update project
+ * @param parameters Information about the project
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdate(parameters: Models.Project, groupName: string, serviceName: string, projectName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param parameters Information about the project
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param callback The callback
+ */
+ createOrUpdate(parameters: Models.Project, groupName: string, serviceName: string, projectName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param parameters Information about the project
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ createOrUpdate(parameters: Models.Project, groupName: string, serviceName: string, projectName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ createOrUpdate(parameters: Models.Project, groupName: string, serviceName: string, projectName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ parameters,
+ groupName,
+ serviceName,
+ projectName,
+ options
+ },
+ createOrUpdateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * The project resource is a nested resource representing a stored migration project. The GET
+ * method retrieves information about a project.
+ * @summary Get project information
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(groupName: string, serviceName: string, projectName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param callback The callback
+ */
+ get(groupName: string, serviceName: string, projectName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(groupName: string, serviceName: string, projectName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(groupName: string, serviceName: string, projectName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ groupName,
+ serviceName,
+ projectName,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * The project resource is a nested resource representing a stored migration project. The DELETE
+ * method deletes a project.
+ * @summary Delete project
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteMethod(groupName: string, serviceName: string, projectName: string, options?: Models.ProjectsDeleteMethodOptionalParams): Promise;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param callback The callback
+ */
+ deleteMethod(groupName: string, serviceName: string, projectName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ deleteMethod(groupName: string, serviceName: string, projectName: string, options: Models.ProjectsDeleteMethodOptionalParams, callback: msRest.ServiceCallback): void;
+ deleteMethod(groupName: string, serviceName: string, projectName: string, options?: Models.ProjectsDeleteMethodOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ groupName,
+ serviceName,
+ projectName,
+ options
+ },
+ deleteMethodOperationSpec,
+ callback);
+ }
+
+ /**
+ * The project resource is a nested resource representing a stored migration project. The PATCH
+ * method updates an existing project.
+ * @summary Update project
+ * @param parameters Information about the project
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ update(parameters: Models.Project, groupName: string, serviceName: string, projectName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param parameters Information about the project
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param callback The callback
+ */
+ update(parameters: Models.Project, groupName: string, serviceName: string, projectName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param parameters Information about the project
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param projectName Name of the project
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ update(parameters: Models.Project, groupName: string, serviceName: string, projectName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ update(parameters: Models.Project, groupName: string, serviceName: string, projectName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ parameters,
+ groupName,
+ serviceName,
+ projectName,
+ options
+ },
+ updateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * The project resource is a nested resource representing a stored migration project. This method
+ * returns a list of projects owned by a service resource.
+ * @summary Get projects in a service
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listNextOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.groupName,
+ Parameters.serviceName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ProjectList
+ },
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
+
+const createOrUpdateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PUT",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.groupName,
+ Parameters.serviceName,
+ Parameters.projectName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.Project,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.Project
+ },
+ 201: {
+ bodyMapper: Mappers.Project
+ },
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
+
+const getOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.groupName,
+ Parameters.serviceName,
+ Parameters.projectName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.Project
+ },
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
+
+const deleteMethodOperationSpec: msRest.OperationSpec = {
+ httpMethod: "DELETE",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.groupName,
+ Parameters.serviceName,
+ Parameters.projectName
+ ],
+ queryParameters: [
+ Parameters.deleteRunningTasks,
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {},
+ 204: {},
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
+
+const updateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PATCH",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.groupName,
+ Parameters.serviceName,
+ Parameters.projectName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.Project,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.Project
+ },
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
+
+const listNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ProjectList
+ },
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
diff --git a/sdk/datamigration/arm-datamigration/src/operations/resourceSkus.ts b/sdk/datamigration/arm-datamigration/src/operations/resourceSkus.ts
new file mode 100644
index 000000000000..55ef48a49e45
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/src/operations/resourceSkus.ts
@@ -0,0 +1,128 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+import * as Models from "../models";
+import * as Mappers from "../models/resourceSkusMappers";
+import * as Parameters from "../models/parameters";
+import { DataMigrationServiceClientContext } from "../dataMigrationServiceClientContext";
+
+/** Class representing a ResourceSkus. */
+export class ResourceSkus {
+ private readonly client: DataMigrationServiceClientContext;
+
+ /**
+ * Create a ResourceSkus.
+ * @param {DataMigrationServiceClientContext} client Reference to the service client.
+ */
+ constructor(client: DataMigrationServiceClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * The skus action returns the list of SKUs that DMS supports.
+ * @summary Get supported SKUs
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listSkus(options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param callback The callback
+ */
+ listSkus(callback: msRest.ServiceCallback): void;
+ /**
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listSkus(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listSkus(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ options
+ },
+ listSkusOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * The skus action returns the list of SKUs that DMS supports.
+ * @summary Get supported SKUs
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listSkusNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listSkusNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listSkusNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listSkusNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listSkusNextOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listSkusOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/skus",
+ urlParameters: [
+ Parameters.subscriptionId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ResourceSkusResult
+ },
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
+
+const listSkusNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ResourceSkusResult
+ },
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
diff --git a/sdk/datamigration/arm-datamigration/src/operations/serviceTasks.ts b/sdk/datamigration/arm-datamigration/src/operations/serviceTasks.ts
new file mode 100644
index 000000000000..562b8fa4dc8a
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/src/operations/serviceTasks.ts
@@ -0,0 +1,494 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+import * as Models from "../models";
+import * as Mappers from "../models/serviceTasksMappers";
+import * as Parameters from "../models/parameters";
+import { DataMigrationServiceClientContext } from "../dataMigrationServiceClientContext";
+
+/** Class representing a ServiceTasks. */
+export class ServiceTasks {
+ private readonly client: DataMigrationServiceClientContext;
+
+ /**
+ * Create a ServiceTasks.
+ * @param {DataMigrationServiceClientContext} client Reference to the service client.
+ */
+ constructor(client: DataMigrationServiceClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * 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.
+ * @summary Get service level tasks for a service
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(groupName: string, serviceName: string, options?: Models.ServiceTasksListOptionalParams): Promise;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param callback The callback
+ */
+ list(groupName: string, serviceName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(groupName: string, serviceName: string, options: Models.ServiceTasksListOptionalParams, callback: msRest.ServiceCallback): void;
+ list(groupName: string, serviceName: string, options?: Models.ServiceTasksListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ groupName,
+ serviceName,
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * 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.
+ * @summary Create or update service task
+ * @param parameters Information about the task
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param taskName Name of the Task
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdate(parameters: Models.ProjectTask, groupName: string, serviceName: string, taskName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param parameters Information about the task
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param taskName Name of the Task
+ * @param callback The callback
+ */
+ createOrUpdate(parameters: Models.ProjectTask, groupName: string, serviceName: string, taskName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param parameters Information about the task
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param taskName Name of the Task
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ createOrUpdate(parameters: Models.ProjectTask, groupName: string, serviceName: string, taskName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ createOrUpdate(parameters: Models.ProjectTask, groupName: string, serviceName: string, taskName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ parameters,
+ groupName,
+ serviceName,
+ taskName,
+ options
+ },
+ createOrUpdateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * 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.
+ * @summary Get service task information
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param taskName Name of the Task
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(groupName: string, serviceName: string, taskName: string, options?: Models.ServiceTasksGetOptionalParams): Promise;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param taskName Name of the Task
+ * @param callback The callback
+ */
+ get(groupName: string, serviceName: string, taskName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param taskName Name of the Task
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(groupName: string, serviceName: string, taskName: string, options: Models.ServiceTasksGetOptionalParams, callback: msRest.ServiceCallback): void;
+ get(groupName: string, serviceName: string, taskName: string, options?: Models.ServiceTasksGetOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ groupName,
+ serviceName,
+ taskName,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * 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.
+ * @summary Delete service task
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param taskName Name of the Task
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteMethod(groupName: string, serviceName: string, taskName: string, options?: Models.ServiceTasksDeleteMethodOptionalParams): Promise;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param taskName Name of the Task
+ * @param callback The callback
+ */
+ deleteMethod(groupName: string, serviceName: string, taskName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param taskName Name of the Task
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ deleteMethod(groupName: string, serviceName: string, taskName: string, options: Models.ServiceTasksDeleteMethodOptionalParams, callback: msRest.ServiceCallback): void;
+ deleteMethod(groupName: string, serviceName: string, taskName: string, options?: Models.ServiceTasksDeleteMethodOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ groupName,
+ serviceName,
+ taskName,
+ options
+ },
+ deleteMethodOperationSpec,
+ callback);
+ }
+
+ /**
+ * 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.
+ * @summary Create or update service task
+ * @param parameters Information about the task
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param taskName Name of the Task
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ update(parameters: Models.ProjectTask, groupName: string, serviceName: string, taskName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param parameters Information about the task
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param taskName Name of the Task
+ * @param callback The callback
+ */
+ update(parameters: Models.ProjectTask, groupName: string, serviceName: string, taskName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param parameters Information about the task
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param taskName Name of the Task
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ update(parameters: Models.ProjectTask, groupName: string, serviceName: string, taskName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ update(parameters: Models.ProjectTask, groupName: string, serviceName: string, taskName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ parameters,
+ groupName,
+ serviceName,
+ taskName,
+ options
+ },
+ updateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * 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.
+ * @summary Cancel a service task
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param taskName Name of the Task
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ cancel(groupName: string, serviceName: string, taskName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param taskName Name of the Task
+ * @param callback The callback
+ */
+ cancel(groupName: string, serviceName: string, taskName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param taskName Name of the Task
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ cancel(groupName: string, serviceName: string, taskName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ cancel(groupName: string, serviceName: string, taskName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ groupName,
+ serviceName,
+ taskName,
+ options
+ },
+ cancelOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * 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.
+ * @summary Get service level tasks for a service
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listNextOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.groupName,
+ Parameters.serviceName
+ ],
+ queryParameters: [
+ Parameters.apiVersion,
+ Parameters.taskType
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.TaskList
+ },
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
+
+const createOrUpdateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PUT",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.groupName,
+ Parameters.serviceName,
+ Parameters.taskName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.ProjectTask,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ProjectTask
+ },
+ 201: {
+ bodyMapper: Mappers.ProjectTask
+ },
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
+
+const getOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.groupName,
+ Parameters.serviceName,
+ Parameters.taskName
+ ],
+ queryParameters: [
+ Parameters.expand,
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ProjectTask
+ },
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
+
+const deleteMethodOperationSpec: msRest.OperationSpec = {
+ httpMethod: "DELETE",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.groupName,
+ Parameters.serviceName,
+ Parameters.taskName
+ ],
+ queryParameters: [
+ Parameters.deleteRunningTasks,
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {},
+ 204: {},
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
+
+const updateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PATCH",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.groupName,
+ Parameters.serviceName,
+ Parameters.taskName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.ProjectTask,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ProjectTask
+ },
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
+
+const cancelOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}/cancel",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.groupName,
+ Parameters.serviceName,
+ Parameters.taskName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ProjectTask
+ },
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
+
+const listNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.TaskList
+ },
+ default: {
+ bodyMapper: Mappers.ApiError
+ }
+ },
+ serializer
+};
diff --git a/sdk/datamigration/arm-datamigration/src/operations/services.ts b/sdk/datamigration/arm-datamigration/src/operations/services.ts
new file mode 100644
index 000000000000..2259b48ecb34
--- /dev/null
+++ b/sdk/datamigration/arm-datamigration/src/operations/services.ts
@@ -0,0 +1,935 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+import * as msRestAzure from "@azure/ms-rest-azure-js";
+import * as Models from "../models";
+import * as Mappers from "../models/servicesMappers";
+import * as Parameters from "../models/parameters";
+import { DataMigrationServiceClientContext } from "../dataMigrationServiceClientContext";
+
+/** Class representing a Services. */
+export class Services {
+ private readonly client: DataMigrationServiceClientContext;
+
+ /**
+ * Create a Services.
+ * @param {DataMigrationServiceClientContext} client Reference to the service client.
+ */
+ constructor(client: DataMigrationServiceClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * The services resource is the top-level resource that represents the Database Migration Service.
+ * The PUT method creates a new service or updates an existing one. When a service is updated,
+ * existing child resources (i.e. tasks) are unaffected. Services currently support a single kind,
+ * "vm", which refers to a VM-based service, although other kinds may be added in the future. This
+ * method can change the kind, SKU, and network of the service, but if tasks are currently running
+ * (i.e. the service is busy), this will fail with 400 Bad Request ("ServiceIsBusy"). The provider
+ * will reply when successful with 200 OK or 201 Created. Long-running operations use the
+ * provisioningState property.
+ * @summary Create or update DMS Instance
+ * @param parameters Information about the service
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdate(parameters: Models.DataMigrationService, groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.beginCreateOrUpdate(parameters,groupName,serviceName,options)
+ .then(lroPoller => lroPoller.pollUntilFinished()) as Promise;
+ }
+
+ /**
+ * The services resource is the top-level resource that represents the Database Migration Service.
+ * The GET method retrieves information about a service instance.
+ * @summary Get DMS Service Instance
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param callback The callback
+ */
+ get(groupName: string, serviceName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(groupName: string, serviceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ groupName,
+ serviceName,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * The services resource is the top-level resource that represents the Database Migration Service.
+ * The DELETE method deletes a service. Any running tasks will be canceled.
+ * @summary Delete DMS Service Instance
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteMethod(groupName: string, serviceName: string, options?: Models.ServicesDeleteMethodOptionalParams): Promise {
+ return this.beginDeleteMethod(groupName,serviceName,options)
+ .then(lroPoller => lroPoller.pollUntilFinished());
+ }
+
+ /**
+ * The services resource is the top-level resource that represents the Database Migration Service.
+ * The PATCH method updates an existing service. This method can change the kind, SKU, and network
+ * of the service, but if tasks are currently running (i.e. the service is busy), this will fail
+ * with 400 Bad Request ("ServiceIsBusy").
+ * @summary Create or update DMS Service Instance
+ * @param parameters Information about the service
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ update(parameters: Models.DataMigrationService, groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.beginUpdate(parameters,groupName,serviceName,options)
+ .then(lroPoller => lroPoller.pollUntilFinished()) as Promise;
+ }
+
+ /**
+ * The services resource is the top-level resource that represents the Database Migration Service.
+ * This action performs a health check and returns the status of the service and virtual machine
+ * size.
+ * @summary Check service health status
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ checkStatus(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param callback The callback
+ */
+ checkStatus(groupName: string, serviceName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ checkStatus(groupName: string, serviceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ checkStatus(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ groupName,
+ serviceName,
+ options
+ },
+ checkStatusOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * The services resource is the top-level resource that represents the Database Migration Service.
+ * This action starts the service and the service can be used for data migration.
+ * @summary Start service
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ start(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.beginStart(groupName,serviceName,options)
+ .then(lroPoller => lroPoller.pollUntilFinished());
+ }
+
+ /**
+ * The services resource is the top-level resource that represents the Database Migration Service.
+ * This action stops the service and the service cannot be used for data migration. The service
+ * owner won't be billed when the service is stopped.
+ * @summary Stop service
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ stop(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.beginStop(groupName,serviceName,options)
+ .then(lroPoller => lroPoller.pollUntilFinished());
+ }
+
+ /**
+ * The services resource is the top-level resource that represents the Database Migration Service.
+ * The skus action returns the list of SKUs that a service resource can be updated to.
+ * @summary Get compatible SKUs
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listSkus(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param callback The callback
+ */
+ listSkus(groupName: string, serviceName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listSkus(groupName: string, serviceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listSkus(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ groupName,
+ serviceName,
+ options
+ },
+ listSkusOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * This method checks whether a proposed nested resource name is valid and available.
+ * @summary Check nested resource name validity and availability
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param parameters Requested name to validate
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ checkChildrenNameAvailability(groupName: string, serviceName: string, parameters: Models.NameAvailabilityRequest, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param parameters Requested name to validate
+ * @param callback The callback
+ */
+ checkChildrenNameAvailability(groupName: string, serviceName: string, parameters: Models.NameAvailabilityRequest, callback: msRest.ServiceCallback): void;
+ /**
+ * @param groupName Name of the resource group
+ * @param serviceName Name of the service
+ * @param parameters Requested name to validate
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ checkChildrenNameAvailability(groupName: string, serviceName: string, parameters: Models.NameAvailabilityRequest, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ checkChildrenNameAvailability(groupName: string, serviceName: string, parameters: Models.NameAvailabilityRequest, options?: msRest.RequestOptionsBase | msRest.ServiceCallback