import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface ConnectionInfo { userName?: Expressionable; password?: Expressionable; type: Expressionable; } export interface ConnectToSourceMySqlTaskInput { sourceConnectionInfo: Expressionable; checkPermissionsGroup?: Expressionable<('Default' | 'MigrationFromSqlServerToAzureDB' | 'MigrationFromSqlServerToAzureMI' | 'MigrationFromSqlServerToAzureVM' | 'MigrationFromOracleToSQL' | 'MigrationFromOracleToAzureDB' | 'MigrationFromOracleToAzureDW' | 'MigrationFromMySQLToSQL' | 'MigrationFromMySQLToAzureDB')>; } export interface ConnectToSourceMySqlTaskProperties { input?: Expressionable; taskType: Expressionable; } export interface ConnectToSourceOracleTaskInput { sourceConnectionInfo: Expressionable; checkPermissionsGroup?: Expressionable<('Default' | 'MigrationFromSqlServerToAzureDB' | 'MigrationFromSqlServerToAzureMI' | 'MigrationFromSqlServerToAzureVM' | 'MigrationFromOracleToSQL' | 'MigrationFromOracleToAzureDB' | 'MigrationFromOracleToAzureDW' | 'MigrationFromMySQLToSQL' | 'MigrationFromMySQLToAzureDB')>; } export interface ConnectToSourceOracleTaskProperties { input?: Expressionable; taskType: Expressionable; } export interface ConnectToSourceSqlServerTaskInput { sourceConnectionInfo: Expressionable; checkPermissionsGroup?: Expressionable<('Default' | 'MigrationFromSqlServerToAzureDB' | 'MigrationFromSqlServerToAzureMI' | 'MigrationFromSqlServerToAzureVM' | 'MigrationFromOracleToSQL' | 'MigrationFromOracleToAzureDB' | 'MigrationFromOracleToAzureDW' | 'MigrationFromMySQLToSQL' | 'MigrationFromMySQLToAzureDB')>; } export interface ConnectToSourceSqlServerTaskProperties { input?: Expressionable; taskType: Expressionable; } export interface ConnectToTargetCloudDbTaskInput { targetConnectionInfo: Expressionable; } export interface ConnectToTargetCloudDbTaskProperties { input?: Expressionable; taskType: Expressionable; } export interface ConnectToTargetSqlDbTaskInput { targetConnectionInfo: Expressionable; } export interface ConnectToTargetSqlDbTaskProperties { input?: Expressionable; taskType: Expressionable; } export interface ConnectToTargetSqlServerTaskInput { targetConnectionInfo: Expressionable; } export interface ConnectToTargetSqlServerTaskProperties { input?: Expressionable; taskType: Expressionable; } export interface DatabaseFileInput { id?: Expressionable; logicalName?: Expressionable; physicalFullName?: Expressionable; restoreFullName?: Expressionable; fileType?: Expressionable<('Rows' | 'Log' | 'Filestream' | 'NotSupported' | 'Fulltext')>; } export interface DatabaseInfo { sourceDatabaseName: Expressionable; } export interface DataMigrationServiceProperties { virtualSubnetId: Expressionable; } export interface GetProjectDetailsMySqlSqlTaskProperties { input?: Expressionable; taskType: Expressionable; } export interface GetProjectDetailsNonSqlTaskInput { projectName: Expressionable; projectLocation: Expressionable; } export interface GetProjectDetailsOracleSqlTaskProperties { input?: Expressionable; taskType: Expressionable; } export interface GetUserTablesSqlTaskInput { connectionInfo: Expressionable; selectedDatabases: Expressionable; } export interface GetUserTablesSqlTaskProperties { input?: Expressionable; taskType: Expressionable; } export interface MigrateMySqlSqlTaskInput { targetConnectionInfo: Expressionable; targetDatabaseName: Expressionable; projectName: Expressionable; projectLocation: Expressionable; selectedTables: Expressionable; sourceConnectionInfo: Expressionable; } export interface MigrateMySqlSqlTaskProperties { input?: Expressionable; taskType: Expressionable; } export interface MigrateOracleSqlTaskInput { targetConnectionInfo: Expressionable; targetDatabaseName: Expressionable; projectName: Expressionable; projectLocation: Expressionable; selectedTables: Expressionable; sourceConnectionInfo: Expressionable; } export interface MigrateOracleSqlTaskProperties { input?: Expressionable; taskType: Expressionable; } export interface MigrateSqlServerCloudDbTaskInput { sourceConnectionInfo: Expressionable; targetConnectionInfo: Expressionable; selectedDatabases: Expressionable; backupShareUserName: Expressionable; backupSharePassword?: Expressionable; } export interface MigrateSqlServerCloudDbTaskProperties { input?: Expressionable; taskType: Expressionable; } export interface MigrateSqlServerSqlDbDatabaseInput { name?: Expressionable; targetDatabaseName?: Expressionable; makeSourceDbReadOnly?: Expressionable; } export interface MigrateSqlServerSqlDbTaskInput { sourceConnectionInfo: Expressionable; targetConnectionInfo: Expressionable; selectedDatabases: Expressionable; validationOptions?: Expressionable; } export interface MigrateSqlServerSqlDbTaskProperties { input?: Expressionable; taskType: Expressionable; } export interface MigrateSqlServerSqlServerDatabaseInput { name?: Expressionable; restoreDatabaseName?: Expressionable; backupAndRestoreFolder?: Expressionable; databaseFiles?: Expressionable; } export interface MigrateSqlServerSqlServerTaskInput { sourceConnectionInfo: Expressionable; targetConnectionInfo: Expressionable; selectedDatabases: Expressionable; } export interface MigrateSqlServerSqlServerTaskProperties { input?: Expressionable; taskType: Expressionable; } export interface MigrationValidationOptions { enableSchemaValidation?: Expressionable; enableDataIntegrityValidation?: Expressionable; enableQueryAnalysisValidation?: Expressionable; } export interface MySqlConnectionInfo { userName?: Expressionable; password?: Expressionable; serverName: Expressionable; port: Expressionable; type: Expressionable; } export interface NonSqlDataMigrationTable { sourceName?: Expressionable; } export interface OracleConnectionInfo { userName?: Expressionable; password?: Expressionable; serverName?: Expressionable; port?: Expressionable; connectionMode?: Expressionable<('ConnectionString' | 'Standard')>; instance?: Expressionable; customConnectionString?: Expressionable; type: Expressionable; } export interface ProjectProperties { sourcePlatform: Expressionable<('SQL' | 'Access' | 'DB2' | 'MySQL' | 'Oracle' | 'Sybase' | 'Unknown')>; targetPlatform: Expressionable<('SQL10' | 'SQL11' | 'SQL12' | 'SQL13' | 'SQL14' | 'SQLDB' | 'SQLDW' | 'SQLMI' | 'SQLVM' | 'Unknown')>; sourceConnectionInfo?: Expressionable; targetConnectionInfo?: Expressionable; databasesInfo?: Expressionable; } export interface ProjectTaskProperties { taskType: Expressionable; } export interface ServiceSku { name?: Expressionable; tier?: Expressionable; family?: Expressionable; size?: Expressionable; capacity?: Expressionable; } export interface SqlConnectionInfo { userName?: Expressionable; password?: Expressionable; dataSource: Expressionable; authentication?: Expressionable<('None' | 'WindowsAuthentication' | 'SqlAuthentication' | 'ActiveDirectoryIntegrated' | 'ActiveDirectoryPassword')>; encryptConnection?: Expressionable; additionalSettings?: Expressionable; trustServerCertificate?: Expressionable; type: Expressionable; } export interface ValidateMigrationInputSqlServerCloudDbTaskInput { targetConnectionInfo: Expressionable; selectedDatabases: Expressionable; backupShareUserName: Expressionable; backupSharePassword?: Expressionable; } export interface ValidateMigrationInputSqlServerCloudDbTaskProperties { input?: Expressionable; taskType: Expressionable; } export interface ValidateMigrationInputSqlServerSqlServerTaskInput { targetConnectionInfo: Expressionable; selectedDatabases: Expressionable; } export interface ValidateMigrationInputSqlServerSqlServerTaskProperties { input?: Expressionable; taskType: Expressionable; } export declare namespace services { interface AdditionalProps { sku?: Expressionable; kind?: Expressionable; } type ServicesResource = ResourceDefinition; function create(name: Expressionable, properties: DataMigrationServiceProperties, location: Expressionable, sku?: Expressionable, kind?: Expressionable): ServicesResource; } export declare namespace services { namespace projects { type ProjectsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: ProjectProperties, location: Expressionable): ProjectsResource; } } export declare namespace services { namespace projects { namespace tasks { type TasksResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: ProjectTaskProperties): TasksResource; } } }