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) + +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/sdk/datamigration/arm-datamigration/README.png) 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, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + parameters, + options + }, + checkChildrenNameAvailabilityOperationSpec, + callback) as Promise; + } + + /** + * The Services resource is the top-level resource that represents the Database Migration Service. + * This method returns a list of service resources in a resource group. + * @summary Get services in resource group + * @param groupName Name of the resource group + * @param [options] The optional parameters + * @returns Promise + */ + listByResourceGroup(groupName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param groupName Name of the resource group + * @param callback The callback + */ + listByResourceGroup(groupName: string, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param options The optional parameters + * @param callback The callback + */ + listByResourceGroup(groupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByResourceGroup(groupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + options + }, + listByResourceGroupOperationSpec, + callback) as Promise; + } + + /** + * The services resource is the top-level resource that represents the Database Migration Service. + * This method returns a list of service resources in a subscription. + * @summary Get services in subscription + * @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; + } + + /** + * This method checks whether a proposed top-level resource name is valid and available. + * @summary Check name validity and availability + * @param location The Azure region of the operation + * @param parameters Requested name to validate + * @param [options] The optional parameters + * @returns Promise + */ + checkNameAvailability(location: string, parameters: Models.NameAvailabilityRequest, options?: msRest.RequestOptionsBase): Promise; + /** + * @param location The Azure region of the operation + * @param parameters Requested name to validate + * @param callback The callback + */ + checkNameAvailability(location: string, parameters: Models.NameAvailabilityRequest, callback: msRest.ServiceCallback): void; + /** + * @param location The Azure region of the operation + * @param parameters Requested name to validate + * @param options The optional parameters + * @param callback The callback + */ + checkNameAvailability(location: string, parameters: Models.NameAvailabilityRequest, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + checkNameAvailability(location: string, parameters: Models.NameAvailabilityRequest, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + location, + parameters, + options + }, + checkNameAvailabilityOperationSpec, + callback) as Promise; + } + + /** + * 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 + */ + beginCreateOrUpdate(parameters: Models.DataMigrationService, groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + parameters, + groupName, + serviceName, + options + }, + beginCreateOrUpdateOperationSpec, + options); + } + + /** + * 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 + */ + beginDeleteMethod(groupName: string, serviceName: string, options?: Models.ServicesBeginDeleteMethodOptionalParams): Promise { + return this.client.sendLRORequest( + { + groupName, + serviceName, + options + }, + beginDeleteMethodOperationSpec, + options); + } + + /** + * 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 + */ + beginUpdate(parameters: Models.DataMigrationService, groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + parameters, + groupName, + serviceName, + options + }, + beginUpdateOperationSpec, + options); + } + + /** + * 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 + */ + beginStart(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + groupName, + serviceName, + options + }, + beginStartOperationSpec, + options); + } + + /** + * 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 + */ + beginStop(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + groupName, + serviceName, + options + }, + beginStopOperationSpec, + options); + } + + /** + * 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 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; + } + + /** + * The Services resource is the top-level resource that represents the Database Migration Service. + * This method returns a list of service resources in a resource group. + * @summary Get services in resource group + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listByResourceGroupNext(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 + */ + listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listByResourceGroupNextOperationSpec, + callback) as Promise; + } + + /** + * The services resource is the top-level resource that represents the Database Migration Service. + * This method returns a list of service resources in a subscription. + * @summary Get services in subscription + * @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 getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DataMigrationService + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const checkStatusOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkStatus", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DataMigrationServiceStatusResponse + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const listSkusOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/skus", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ServiceSkuList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const checkChildrenNameAvailabilityOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkNameAvailability", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.NameAvailabilityRequest, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.NameAvailabilityResponse + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const listByResourceGroupOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DataMigrationServiceList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/services", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DataMigrationServiceList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const checkNameAvailabilityOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/checkNameAvailability", + urlParameters: [ + Parameters.subscriptionId, + Parameters.location + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.NameAvailabilityRequest, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.NameAvailabilityResponse + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.DataMigrationService, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.DataMigrationService + }, + 201: { + bodyMapper: Mappers.DataMigrationService + }, + 202: {}, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName + ], + queryParameters: [ + Parameters.deleteRunningTasks, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const beginUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.DataMigrationService, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.DataMigrationService + }, + 202: {}, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const beginStartOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/start", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const beginStopOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/stop", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 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.ServiceSkuList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DataMigrationServiceList + }, + 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.DataMigrationServiceList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; diff --git a/sdk/datamigration/arm-datamigration/src/operations/tasks.ts b/sdk/datamigration/arm-datamigration/src/operations/tasks.ts new file mode 100644 index 000000000000..be0221a57d87 --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/operations/tasks.ts @@ -0,0 +1,601 @@ +/* + * 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/tasksMappers"; +import * as Parameters from "../models/parameters"; +import { DataMigrationServiceClientContext } from "../dataMigrationServiceClientContext"; + +/** Class representing a Tasks. */ +export class Tasks { + private readonly client: DataMigrationServiceClientContext; + + /** + * Create a Tasks. + * @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 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 tasks in a service + * @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?: Models.TasksListOptionalParams): 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: Models.TasksListOptionalParams, callback: msRest.ServiceCallback): void; + list(groupName: string, serviceName: string, projectName: string, options?: Models.TasksListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + projectName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * The tasks resource is a nested, proxy-only resource representing work performed by a DMS + * instance. The PUT method creates a new task or updates an existing one, although since tasks + * have no mutable custom properties, there is little reason to update an existing one. + * @summary Create or update task + * @param parameters Information about the task + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(parameters: Models.ProjectTask, groupName: string, serviceName: string, projectName: 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 projectName Name of the project + * @param taskName Name of the Task + * @param callback The callback + */ + createOrUpdate(parameters: Models.ProjectTask, groupName: string, serviceName: string, projectName: 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 projectName Name of the project + * @param taskName Name of the Task + * @param options The optional parameters + * @param callback The callback + */ + createOrUpdate(parameters: Models.ProjectTask, groupName: string, serviceName: string, projectName: string, taskName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + createOrUpdate(parameters: Models.ProjectTask, groupName: string, serviceName: string, projectName: string, taskName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + parameters, + groupName, + serviceName, + projectName, + taskName, + options + }, + createOrUpdateOperationSpec, + callback) as Promise; + } + + /** + * The tasks resource is a nested, proxy-only resource representing work performed by a DMS + * instance. The GET method retrieves information about a task. + * @summary Get task information + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param [options] The optional parameters + * @returns Promise + */ + get(groupName: string, serviceName: string, projectName: string, taskName: string, options?: Models.TasksGetOptionalParams): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param callback The callback + */ + get(groupName: string, serviceName: string, projectName: string, taskName: 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 taskName Name of the Task + * @param options The optional parameters + * @param callback The callback + */ + get(groupName: string, serviceName: string, projectName: string, taskName: string, options: Models.TasksGetOptionalParams, callback: msRest.ServiceCallback): void; + get(groupName: string, serviceName: string, projectName: string, taskName: string, options?: Models.TasksGetOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + projectName, + taskName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * The tasks resource is a nested, proxy-only resource representing work performed by a DMS + * instance. The DELETE method deletes a task, canceling it first if it's running. + * @summary Delete task + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(groupName: string, serviceName: string, projectName: string, taskName: string, options?: Models.TasksDeleteMethodOptionalParams): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param callback The callback + */ + deleteMethod(groupName: string, serviceName: string, projectName: string, taskName: 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 taskName Name of the Task + * @param options The optional parameters + * @param callback The callback + */ + deleteMethod(groupName: string, serviceName: string, projectName: string, taskName: string, options: Models.TasksDeleteMethodOptionalParams, callback: msRest.ServiceCallback): void; + deleteMethod(groupName: string, serviceName: string, projectName: string, taskName: string, options?: Models.TasksDeleteMethodOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + projectName, + taskName, + options + }, + deleteMethodOperationSpec, + callback); + } + + /** + * The tasks resource is a nested, proxy-only resource representing work performed by a DMS + * instance. The PATCH method updates an existing task, but since tasks have no mutable custom + * properties, there is little reason to do so. + * @summary Create or update task + * @param parameters Information about the task + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param [options] The optional parameters + * @returns Promise + */ + update(parameters: Models.ProjectTask, groupName: string, serviceName: string, projectName: 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 projectName Name of the project + * @param taskName Name of the Task + * @param callback The callback + */ + update(parameters: Models.ProjectTask, groupName: string, serviceName: string, projectName: 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 projectName Name of the project + * @param taskName Name of the Task + * @param options The optional parameters + * @param callback The callback + */ + update(parameters: Models.ProjectTask, groupName: string, serviceName: string, projectName: string, taskName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + update(parameters: Models.ProjectTask, groupName: string, serviceName: string, projectName: string, taskName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + parameters, + groupName, + serviceName, + projectName, + taskName, + options + }, + updateOperationSpec, + callback) as Promise; + } + + /** + * The tasks resource is a nested, proxy-only resource representing work performed by a DMS + * instance. This method cancels a task if it's currently queued or running. + * @summary Cancel a task + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param [options] The optional parameters + * @returns Promise + */ + cancel(groupName: string, serviceName: string, projectName: string, taskName: 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 taskName Name of the Task + * @param callback The callback + */ + cancel(groupName: string, serviceName: string, projectName: string, taskName: 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 taskName Name of the Task + * @param options The optional parameters + * @param callback The callback + */ + cancel(groupName: string, serviceName: string, projectName: string, taskName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + cancel(groupName: string, serviceName: string, projectName: string, taskName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + projectName, + taskName, + options + }, + cancelOperationSpec, + callback) as Promise; + } + + /** + * The tasks resource is a nested, proxy-only resource representing work performed by a DMS + * instance. This method executes a command on a running task. + * @summary Execute a command on a task + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param parameters Command to execute + * @param [options] The optional parameters + * @returns Promise + */ + command(groupName: string, serviceName: string, projectName: string, taskName: string, parameters: Models.CommandPropertiesUnion, options?: msRest.RequestOptionsBase): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param parameters Command to execute + * @param callback The callback + */ + command(groupName: string, serviceName: string, projectName: string, taskName: string, parameters: Models.CommandPropertiesUnion, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param parameters Command to execute + * @param options The optional parameters + * @param callback The callback + */ + command(groupName: string, serviceName: string, projectName: string, taskName: string, parameters: Models.CommandPropertiesUnion, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + command(groupName: string, serviceName: string, projectName: string, taskName: string, parameters: Models.CommandPropertiesUnion, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + projectName, + taskName, + parameters, + options + }, + commandOperationSpec, + callback) as Promise; + } + + /** + * The services resource is the top-level resource that represents the Database Migration Service. + * This method returns a list of tasks owned by a service resource. Some tasks may have a status of + * Unknown, which indicates that an error occurred while querying the status of that task. + * @summary Get tasks 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/{projectName}/tasks", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName + ], + 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}/projects/{projectName}/tasks/{taskName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName, + 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}/projects/{projectName}/tasks/{taskName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName, + 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}/projects/{projectName}/tasks/{taskName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName, + 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}/projects/{projectName}/tasks/{taskName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName, + 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}/projects/{projectName}/tasks/{taskName}/cancel", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName, + Parameters.taskName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ProjectTask + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const commandOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/command", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName, + Parameters.taskName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.CommandProperties, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.CommandProperties + }, + 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/usages.ts b/sdk/datamigration/arm-datamigration/src/operations/usages.ts new file mode 100644 index 000000000000..d84ce8f2c577 --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/operations/usages.ts @@ -0,0 +1,135 @@ +/* + * 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/usagesMappers"; +import * as Parameters from "../models/parameters"; +import { DataMigrationServiceClientContext } from "../dataMigrationServiceClientContext"; + +/** Class representing a Usages. */ +export class Usages { + private readonly client: DataMigrationServiceClientContext; + + /** + * Create a Usages. + * @param {DataMigrationServiceClientContext} client Reference to the service client. + */ + constructor(client: DataMigrationServiceClientContext) { + this.client = client; + } + + /** + * This method returns region-specific quotas and resource usage information for the Database + * Migration Service. + * @summary Get resource quotas and usage information + * @param location The Azure region of the operation + * @param [options] The optional parameters + * @returns Promise + */ + list(location: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param location The Azure region of the operation + * @param callback The callback + */ + list(location: string, callback: msRest.ServiceCallback): void; + /** + * @param location The Azure region of the operation + * @param options The optional parameters + * @param callback The callback + */ + list(location: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(location: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + location, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * This method returns region-specific quotas and resource usage information for the Database + * Migration Service. + * @summary Get resource quotas and usage information + * @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}/providers/Microsoft.DataMigration/locations/{location}/usages", + urlParameters: [ + Parameters.subscriptionId, + Parameters.location + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.QuotaList + }, + 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.QuotaList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; diff --git a/sdk/datamigration/arm-datamigration/tsconfig.json b/sdk/datamigration/arm-datamigration/tsconfig.json new file mode 100644 index 000000000000..422b584abd5e --- /dev/null +++ b/sdk/datamigration/arm-datamigration/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "module": "es6", + "moduleResolution": "node", + "strict": true, + "target": "es5", + "sourceMap": true, + "declarationMap": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true, + "lib": ["es6", "dom"], + "declaration": true, + "outDir": "./esm", + "importHelpers": true + }, + "include": ["./src/**/*.ts"], + "exclude": ["node_modules"] +}