Share via


Microsoft.DataMigration services/projects/tasks

Bicep resource definition

The services/projects/tasks resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.DataMigration/services/projects/tasks resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.DataMigration/services/projects/tasks@2025-03-15-preview' = {
  parent: resourceSymbolicName
  etag: 'string'
  name: 'string'
  properties: {
    clientData: {
      {customized property}: 'string'
    }
    taskType: 'string'
    // For remaining properties, see ProjectTaskProperties objects
  }
}

ProjectTaskProperties objects

Set the taskType property to specify the type of object.

For Connect.MongoDb, use:

{
  input: {
    additionalSettings: 'string'
    authentication: 'string'
    connectionString: 'string'
    dataSource: 'string'
    encryptConnection: bool
    enforceSSL: bool
    password: 'string'
    port: int
    serverBrandVersion: 'string'
    serverName: 'string'
    serverVersion: 'string'
    trustServerCertificate: bool
    type: 'string'
    userName: 'string'
  }
  taskType: 'Connect.MongoDb'
}

For ConnectToSource.MySql, use:

{
  input: {
    checkPermissionsGroup: 'string'
    isOfflineMigration: bool
    sourceConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      port: int
      serverName: 'string'
      type: 'string'
      userName: 'string'
    }
    targetPlatform: 'string'
  }
  taskType: 'ConnectToSource.MySql'
}

For ConnectToSource.Oracle.Sync, use:

{
  input: {
    sourceConnectionInfo: {
      authentication: 'string'
      dataSource: 'string'
      password: 'string'
      port: int
      serverName: 'string'
      serverVersion: 'string'
      type: 'string'
      userName: 'string'
    }
  }
  taskType: 'ConnectToSource.Oracle.Sync'
}

For ConnectToSource.PostgreSql.Sync, use:

{
  input: {
    sourceConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      databaseName: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      port: int
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
  }
  taskType: 'ConnectToSource.PostgreSql.Sync'
}

For ConnectToSource.SqlServer, use:

{
  input: {
    checkPermissionsGroup: 'string'
    collectAgentJobs: bool
    collectDatabases: bool
    collectLogins: bool
    collectTdeCertificateInfo: bool
    encryptedKeyForSecureFields: 'string'
    sourceConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    validateSsisCatalogOnly: bool
  }
  taskId: 'string'
  taskType: 'ConnectToSource.SqlServer'
}

For ConnectToSource.SqlServer.Sync, use:

{
  input: {
    checkPermissionsGroup: 'string'
    collectAgentJobs: bool
    collectDatabases: bool
    collectLogins: bool
    collectTdeCertificateInfo: bool
    encryptedKeyForSecureFields: 'string'
    sourceConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    validateSsisCatalogOnly: bool
  }
  taskType: 'ConnectToSource.SqlServer.Sync'
}

For ConnectToTarget.AzureDbForMySql, use:

{
  input: {
    isOfflineMigration: bool
    sourceConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      port: int
      serverName: 'string'
      type: 'string'
      userName: 'string'
    }
    targetConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      port: int
      serverName: 'string'
      type: 'string'
      userName: 'string'
    }
  }
  taskType: 'ConnectToTarget.AzureDbForMySql'
}

For ConnectToTarget.AzureDbForPostgreSql.Sync, use:

{
  input: {
    sourceConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      databaseName: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      port: int
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    targetConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      databaseName: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      port: int
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
  }
  taskType: 'ConnectToTarget.AzureDbForPostgreSql.Sync'
}

For ConnectToTarget.AzureSqlDbMI, use:

{
  input: {
    collectAgentJobs: bool
    collectLogins: bool
    targetConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    validateSsisCatalogOnly: bool
  }
  taskType: 'ConnectToTarget.AzureSqlDbMI'
}

For ConnectToTarget.AzureSqlDbMI.Sync.LRS, use:

{
  input: {
    azureApp: {
      appKey: 'string'
      applicationId: 'string'
      ignoreAzurePermissions: bool
      tenantId: 'string'
    }
    targetConnectionInfo: {
      managedInstanceResourceId: 'string'
      password: 'string'
      type: 'string'
      userName: 'string'
    }
  }
  taskType: 'ConnectToTarget.AzureSqlDbMI.Sync.LRS'
}

For ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync, use:

{
  input: {
    targetConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      databaseName: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      port: int
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
  }
  taskType: 'ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync'
}

For ConnectToTarget.SqlDb, use:

{
  createdOn: 'string'
  input: {
    queryObjectCounts: bool
    targetConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
  }
  taskType: 'ConnectToTarget.SqlDb'
}

For ConnectToTarget.SqlDb.Sync, use:

{
  input: {
    sourceConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    targetConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
  }
  taskType: 'ConnectToTarget.SqlDb.Sync'
}

For GetTDECertificates.Sql, use:

{
  input: {
    backupFileShare: {
      password: 'string'
      path: 'string'
      userName: 'string'
    }
    connectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    selectedCertificates: [
      {
        certificateName: 'string'
        password: 'string'
      }
    ]
  }
  taskType: 'GetTDECertificates.Sql'
}

For GetUserTables.AzureSqlDb.Sync, use:

{
  input: {
    selectedSourceDatabases: [
      'string'
    ]
    selectedTargetDatabases: [
      'string'
    ]
    sourceConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    targetConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
  }
  taskType: 'GetUserTables.AzureSqlDb.Sync'
}

For GetUserTables.Sql, use:

{
  input: {
    connectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    encryptedKeyForSecureFields: 'string'
    selectedDatabases: [
      'string'
    ]
  }
  taskId: 'string'
  taskType: 'GetUserTables.Sql'
}

For GetUserTablesMySql, use:

{
  input: {
    connectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      port: int
      serverName: 'string'
      type: 'string'
      userName: 'string'
    }
    selectedDatabases: [
      'string'
    ]
  }
  taskType: 'GetUserTablesMySql'
}

For GetUserTablesOracle, use:

{
  input: {
    connectionInfo: {
      authentication: 'string'
      dataSource: 'string'
      password: 'string'
      port: int
      serverName: 'string'
      serverVersion: 'string'
      type: 'string'
      userName: 'string'
    }
    selectedSchemas: [
      'string'
    ]
  }
  taskType: 'GetUserTablesOracle'
}

For GetUserTablesPostgreSql, use:

{
  input: {
    connectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      databaseName: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      port: int
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    selectedDatabases: [
      'string'
    ]
  }
  taskType: 'GetUserTablesPostgreSql'
}

For Migrate.MongoDb, use:

{
  input: {
    boostRUs: int
    databases: {
      {customized property}: {
        collections: {
          {customized property}: {
            canDelete: bool
            shardKey: {
              fields: [
                {
                  name: 'string'
                  order: 'string'
                }
              ]
              isUnique: bool
            }
            targetRUs: int
          }
        }
        targetRUs: int
      }
    }
    replication: 'string'
    source: {
      additionalSettings: 'string'
      authentication: 'string'
      connectionString: 'string'
      dataSource: 'string'
      encryptConnection: bool
      enforceSSL: bool
      password: 'string'
      port: int
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    target: {
      additionalSettings: 'string'
      authentication: 'string'
      connectionString: 'string'
      dataSource: 'string'
      encryptConnection: bool
      enforceSSL: bool
      password: 'string'
      port: int
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    throttling: {
      maxParallelism: int
      minFreeCpu: int
      minFreeMemoryMb: int
    }
  }
  taskType: 'Migrate.MongoDb'
}

For Migrate.MySql.AzureDbForMySql, use:

{
  input: {
    encryptedKeyForSecureFields: 'string'
    makeSourceServerReadOnly: bool
    optionalAgentSettings: {
      {customized property}: 'string'
    }
    selectedDatabases: [
      {
        name: 'string'
        tableMap: {
          {customized property}: 'string'
        }
        targetDatabaseName: 'string'
      }
    ]
    sourceConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      port: int
      serverName: 'string'
      type: 'string'
      userName: 'string'
    }
    startedOn: 'string'
    targetConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      port: int
      serverName: 'string'
      type: 'string'
      userName: 'string'
    }
  }
  isCloneable: bool
  taskId: 'string'
  taskType: 'Migrate.MySql.AzureDbForMySql'
}

For Migrate.MySql.AzureDbForMySql.Sync, use:

{
  input: {
    selectedDatabases: [
      {
        migrationSetting: {
          {customized property}: 'string'
        }
        name: 'string'
        sourceSetting: {
          {customized property}: 'string'
        }
        tableMap: {
          {customized property}: 'string'
        }
        targetDatabaseName: 'string'
        targetSetting: {
          {customized property}: 'string'
        }
      }
    ]
    sourceConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      port: int
      serverName: 'string'
      type: 'string'
      userName: 'string'
    }
    targetConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      port: int
      serverName: 'string'
      type: 'string'
      userName: 'string'
    }
  }
  taskType: 'Migrate.MySql.AzureDbForMySql.Sync'
}

For Migrate.Oracle.AzureDbForPostgreSql.Sync, use:

{
  input: {
    selectedDatabases: [
      {
        caseManipulation: 'string'
        migrationSetting: {
          {customized property}: 'string'
        }
        name: 'string'
        schemaName: 'string'
        sourceSetting: {
          {customized property}: 'string'
        }
        tableMap: {
          {customized property}: 'string'
        }
        targetDatabaseName: 'string'
        targetSetting: {
          {customized property}: 'string'
        }
      }
    ]
    sourceConnectionInfo: {
      authentication: 'string'
      dataSource: 'string'
      password: 'string'
      port: int
      serverName: 'string'
      serverVersion: 'string'
      type: 'string'
      userName: 'string'
    }
    targetConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      databaseName: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      port: int
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
  }
  taskType: 'Migrate.Oracle.AzureDbForPostgreSql.Sync'
}

For Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2, use:

{
  createdOn: 'string'
  input: {
    encryptedKeyForSecureFields: 'string'
    selectedDatabases: [
      {
        migrationSetting: {
          {customized property}: any(...)
        }
        name: 'string'
        selectedTables: [
          {
            name: 'string'
          }
        ]
        sourceSetting: {
          {customized property}: 'string'
        }
        targetDatabaseName: 'string'
        targetSetting: {
          {customized property}: 'string'
        }
      }
    ]
    sourceConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      databaseName: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      port: int
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    targetConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      databaseName: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      port: int
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
  }
  isCloneable: bool
  taskId: 'string'
  taskType: 'Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2'
}

For Migrate.SqlServer.AzureSqlDb.Sync, use:

{
  input: {
    selectedDatabases: [
      {
        id: 'string'
        migrationSetting: {
          {customized property}: 'string'
        }
        name: 'string'
        schemaName: 'string'
        sourceSetting: {
          {customized property}: 'string'
        }
        tableMap: {
          {customized property}: 'string'
        }
        targetDatabaseName: 'string'
        targetSetting: {
          {customized property}: 'string'
        }
      }
    ]
    sourceConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    targetConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    validationOptions: {
      enableDataIntegrityValidation: bool
      enableQueryAnalysisValidation: bool
      enableSchemaValidation: bool
    }
  }
  taskType: 'Migrate.SqlServer.AzureSqlDb.Sync'
}

For Migrate.SqlServer.AzureSqlDbMI, use:

{
  createdOn: 'string'
  input: {
    aadDomainName: 'string'
    backupBlobShare: {
      sasUri: 'string'
    }
    backupFileShare: {
      password: 'string'
      path: 'string'
      userName: 'string'
    }
    backupMode: 'string'
    encryptedKeyForSecureFields: 'string'
    selectedAgentJobs: [
      'string'
    ]
    selectedDatabases: [
      {
        backupFilePaths: [
          'string'
        ]
        backupFileShare: {
          password: 'string'
          path: 'string'
          userName: 'string'
        }
        id: 'string'
        name: 'string'
        restoreDatabaseName: 'string'
      }
    ]
    selectedLogins: [
      'string'
    ]
    sourceConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    startedOn: 'string'
    targetConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
  }
  isCloneable: bool
  parentTaskId: 'string'
  taskId: 'string'
  taskType: 'Migrate.SqlServer.AzureSqlDbMI'
}

For Migrate.SqlServer.AzureSqlDbMI.Sync.LRS, use:

{
  createdOn: 'string'
  input: {
    azureApp: {
      appKey: 'string'
      applicationId: 'string'
      ignoreAzurePermissions: bool
      tenantId: 'string'
    }
    backupFileShare: {
      password: 'string'
      path: 'string'
      userName: 'string'
    }
    numberOfParallelDatabaseMigrations: int
    selectedDatabases: [
      {
        backupFilePaths: [
          'string'
        ]
        backupFileShare: {
          password: 'string'
          path: 'string'
          userName: 'string'
        }
        id: 'string'
        name: 'string'
        restoreDatabaseName: 'string'
      }
    ]
    sourceConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    storageResourceId: 'string'
    targetConnectionInfo: {
      managedInstanceResourceId: 'string'
      password: 'string'
      type: 'string'
      userName: 'string'
    }
  }
  taskType: 'Migrate.SqlServer.AzureSqlDbMI.Sync.LRS'
}

For Migrate.SqlServer.SqlDb, use:

{
  createdOn: 'string'
  input: {
    encryptedKeyForSecureFields: 'string'
    selectedDatabases: [
      {
        id: 'string'
        makeSourceDbReadOnly: bool
        name: 'string'
        schemaSetting: any(...)
        tableMap: {
          {customized property}: 'string'
        }
        targetDatabaseName: 'string'
      }
    ]
    sourceConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    startedOn: 'string'
    targetConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    validationOptions: {
      enableDataIntegrityValidation: bool
      enableQueryAnalysisValidation: bool
      enableSchemaValidation: bool
    }
  }
  isCloneable: bool
  taskId: 'string'
  taskType: 'Migrate.SqlServer.SqlDb'
}

For Migrate.Ssis, use:

{
  input: {
    sourceConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    ssisMigrationInfo: {
      environmentOverwriteOption: 'string'
      projectOverwriteOption: 'string'
      ssisStoreType: 'string'
    }
    targetConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
  }
  taskType: 'Migrate.Ssis'
}

For MigrateSchemaSqlServerSqlDb, use:

{
  createdOn: 'string'
  input: {
    encryptedKeyForSecureFields: 'string'
    selectedDatabases: [
      {
        id: 'string'
        name: 'string'
        schemaSetting: {
          fileId: 'string'
          fileName: 'string'
          schemaOption: 'string'
        }
        targetDatabaseName: 'string'
      }
    ]
    sourceConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    startedOn: 'string'
    targetConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
  }
  isCloneable: bool
  taskId: 'string'
  taskType: 'MigrateSchemaSqlServerSqlDb'
}

For Service.Check.OCI, use:

{
  input: {
    serverVersion: 'string'
  }
  taskType: 'Service.Check.OCI'
}

For Service.Install.OCI, use:

{
  input: {
    driverPackageName: 'string'
  }
  taskType: 'Service.Install.OCI'
}

For Service.Upload.OCI, use:

{
  input: {
    driverShare: {
      password: 'string'
      path: 'string'
      userName: 'string'
    }
  }
  taskType: 'Service.Upload.OCI'
}

For Validate.MongoDb, use:

{
  input: {
    boostRUs: int
    databases: {
      {customized property}: {
        collections: {
          {customized property}: {
            canDelete: bool
            shardKey: {
              fields: [
                {
                  name: 'string'
                  order: 'string'
                }
              ]
              isUnique: bool
            }
            targetRUs: int
          }
        }
        targetRUs: int
      }
    }
    replication: 'string'
    source: {
      additionalSettings: 'string'
      authentication: 'string'
      connectionString: 'string'
      dataSource: 'string'
      encryptConnection: bool
      enforceSSL: bool
      password: 'string'
      port: int
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    target: {
      additionalSettings: 'string'
      authentication: 'string'
      connectionString: 'string'
      dataSource: 'string'
      encryptConnection: bool
      enforceSSL: bool
      password: 'string'
      port: int
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    throttling: {
      maxParallelism: int
      minFreeCpu: int
      minFreeMemoryMb: int
    }
  }
  taskType: 'Validate.MongoDb'
}

For Validate.Oracle.AzureDbPostgreSql.Sync, use:

{
  input: {
    selectedDatabases: [
      {
        caseManipulation: 'string'
        migrationSetting: {
          {customized property}: 'string'
        }
        name: 'string'
        schemaName: 'string'
        sourceSetting: {
          {customized property}: 'string'
        }
        tableMap: {
          {customized property}: 'string'
        }
        targetDatabaseName: 'string'
        targetSetting: {
          {customized property}: 'string'
        }
      }
    ]
    sourceConnectionInfo: {
      authentication: 'string'
      dataSource: 'string'
      password: 'string'
      port: int
      serverName: 'string'
      serverVersion: 'string'
      type: 'string'
      userName: 'string'
    }
    targetConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      databaseName: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      port: int
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
  }
  taskType: 'Validate.Oracle.AzureDbPostgreSql.Sync'
}

For ValidateMigrationInput.SqlServer.AzureSqlDbMI, use:

{
  input: {
    backupBlobShare: {
      sasUri: 'string'
    }
    backupFileShare: {
      password: 'string'
      path: 'string'
      userName: 'string'
    }
    backupMode: 'string'
    selectedDatabases: [
      {
        backupFilePaths: [
          'string'
        ]
        backupFileShare: {
          password: 'string'
          path: 'string'
          userName: 'string'
        }
        id: 'string'
        name: 'string'
        restoreDatabaseName: 'string'
      }
    ]
    selectedLogins: [
      'string'
    ]
    sourceConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    targetConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
  }
  taskType: 'ValidateMigrationInput.SqlServer.AzureSqlDbMI'
}

For ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS, use:

{
  input: {
    azureApp: {
      appKey: 'string'
      applicationId: 'string'
      ignoreAzurePermissions: bool
      tenantId: 'string'
    }
    backupFileShare: {
      password: 'string'
      path: 'string'
      userName: 'string'
    }
    selectedDatabases: [
      {
        backupFilePaths: [
          'string'
        ]
        backupFileShare: {
          password: 'string'
          path: 'string'
          userName: 'string'
        }
        id: 'string'
        name: 'string'
        restoreDatabaseName: 'string'
      }
    ]
    sourceConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    storageResourceId: 'string'
    targetConnectionInfo: {
      managedInstanceResourceId: 'string'
      password: 'string'
      type: 'string'
      userName: 'string'
    }
  }
  taskType: 'ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS'
}

For ValidateMigrationInput.SqlServer.SqlDb.Sync, use:

{
  input: {
    selectedDatabases: [
      {
        id: 'string'
        migrationSetting: {
          {customized property}: 'string'
        }
        name: 'string'
        schemaName: 'string'
        sourceSetting: {
          {customized property}: 'string'
        }
        tableMap: {
          {customized property}: 'string'
        }
        targetDatabaseName: 'string'
        targetSetting: {
          {customized property}: 'string'
        }
      }
    ]
    sourceConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    targetConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      platform: 'string'
      port: int
      resourceId: 'string'
      serverBrandVersion: 'string'
      serverName: 'string'
      serverVersion: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
  }
  taskType: 'ValidateMigrationInput.SqlServer.SqlDb.Sync'
}

Property Values

Microsoft.DataMigration/services/projects/tasks

Name Description Value
etag HTTP strong entity tag value. This is ignored if submitted. string
name The resource name string (required)
parent In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource.

For more information, see Child resource outside parent resource.
Symbolic name for resource of type: services/projects
properties Custom task properties ProjectTaskProperties

AzureActiveDirectoryApp

Name Description Value
appKey Key used to authenticate to the Azure Active Directory Application string
applicationId Application ID of the Azure Active Directory Application string
ignoreAzurePermissions Ignore checking azure permissions on the AAD app bool
tenantId Tenant id of the customer string

BlobShare

Name Description Value
sasUri SAS URI of Azure Storage Account Container. string

CheckOCIDriverTaskInput

Name Description Value
serverVersion Version of the source server to check against. Optional. string

CheckOCIDriverTaskProperties

Name Description Value
input Input for the service task to check for OCI drivers. CheckOCIDriverTaskInput
taskType Task type. 'Service.Check.OCI' (required)

ConnectToMongoDbTaskProperties

Name Description Value
input Describes a connection to a MongoDB data source MongoDbConnectionInfo
taskType Task type. 'Connect.MongoDb' (required)

ConnectToSourceMySqlTaskInput

Name Description Value
checkPermissionsGroup Permission group for validations 'Default'
'MigrationFromMySQLToAzureDBForMySQL'
'MigrationFromSqlServerToAzureDB'
'MigrationFromSqlServerToAzureMI'
'MigrationFromSqlServerToAzureVM'
isOfflineMigration Flag for whether or not the migration is offline bool
sourceConnectionInfo Information for connecting to MySQL source MySqlConnectionInfo (required)
targetPlatform Target Platform for the migration 'AzureDbForMySQL'
'SqlServer'

ConnectToSourceMySqlTaskProperties

Name Description Value
input Task input ConnectToSourceMySqlTaskInput
taskType Task type. 'ConnectToSource.MySql' (required)

ConnectToSourceOracleSyncTaskInput

Name Description Value
sourceConnectionInfo Information for connecting to Oracle source OracleConnectionInfo (required)

ConnectToSourceOracleSyncTaskProperties

Name Description Value
input Task input ConnectToSourceOracleSyncTaskInput
taskType Task type. 'ConnectToSource.Oracle.Sync' (required)

ConnectToSourcePostgreSqlSyncTaskInput

Name Description Value
sourceConnectionInfo Connection information for source PostgreSQL server PostgreSqlConnectionInfo (required)

ConnectToSourcePostgreSqlSyncTaskProperties

Name Description Value
input Task input ConnectToSourcePostgreSqlSyncTaskInput
taskType Task type. 'ConnectToSource.PostgreSql.Sync' (required)

ConnectToSourceSqlServerSyncTaskProperties

Name Description Value
input Task input ConnectToSourceSqlServerTaskInput
taskType Task type. 'ConnectToSource.SqlServer.Sync' (required)

ConnectToSourceSqlServerTaskInput

Name Description Value
checkPermissionsGroup Permission group for validations 'Default'
'MigrationFromMySQLToAzureDBForMySQL'
'MigrationFromSqlServerToAzureDB'
'MigrationFromSqlServerToAzureMI'
'MigrationFromSqlServerToAzureVM'
collectAgentJobs Flag for whether to collect agent jobs from source server. bool
collectDatabases Flag for whether to collect databases from source server. bool
collectLogins Flag for whether to collect logins from source server. bool
collectTdeCertificateInfo Flag for whether to collect TDE Certificate names from source server. bool
encryptedKeyForSecureFields encrypted key for secure fields string
sourceConnectionInfo Connection information for Source SQL Server SqlConnectionInfo (required)
validateSsisCatalogOnly Flag for whether to validate SSIS catalog is reachable on the source server. bool

ConnectToSourceSqlServerTaskProperties

Name Description Value
input Task input ConnectToSourceSqlServerTaskInput
taskId Task id string
taskType Task type. 'ConnectToSource.SqlServer' (required)

ConnectToTargetAzureDbForMySqlTaskInput

Name Description Value
isOfflineMigration Flag for whether or not the migration is offline bool
sourceConnectionInfo Connection information for source MySQL server MySqlConnectionInfo (required)
targetConnectionInfo Connection information for target Azure Database for MySQL server MySqlConnectionInfo (required)

ConnectToTargetAzureDbForMySqlTaskProperties

Name Description Value
input Task input ConnectToTargetAzureDbForMySqlTaskInput
taskType Task type. 'ConnectToTarget.AzureDbForMySql' (required)

ConnectToTargetAzureDbForPostgreSqlSyncTaskInput

Name Description Value
sourceConnectionInfo Connection information for source PostgreSQL server PostgreSqlConnectionInfo (required)
targetConnectionInfo Connection information for target Azure Database for PostgreSQL server PostgreSqlConnectionInfo (required)

ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties

Name Description Value
input Task input ConnectToTargetAzureDbForPostgreSqlSyncTaskInput
taskType Task type. 'ConnectToTarget.AzureDbForPostgreSql.Sync' (required)

ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput

Name Description Value
targetConnectionInfo Connection information for target Azure Database for PostgreSQL server PostgreSqlConnectionInfo (required)

ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties

Name Description Value
input Task input ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput
taskType Task type. 'ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync' (required)

ConnectToTargetSqlDbSyncTaskInput

Name Description Value
sourceConnectionInfo Connection information for source SQL Server SqlConnectionInfo (required)
targetConnectionInfo Connection information for target SQL DB SqlConnectionInfo (required)

ConnectToTargetSqlDbSyncTaskProperties

Name Description Value
input Task input ConnectToTargetSqlDbSyncTaskInput
taskType Task type. 'ConnectToTarget.SqlDb.Sync' (required)

ConnectToTargetSqlDbTaskInput

Name Description Value
queryObjectCounts Boolean flag indicating whether to query object counts for each database on the target server bool
targetConnectionInfo Connection information for target SQL DB SqlConnectionInfo (required)

ConnectToTargetSqlDbTaskProperties

Name Description Value
createdOn DateTime in UTC when the task was created string
input Task input ConnectToTargetSqlDbTaskInput
taskType Task type. 'ConnectToTarget.SqlDb' (required)

ConnectToTargetSqlMISyncTaskInput

Name Description Value
azureApp Azure Active Directory Application the DMS (classic) instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account AzureActiveDirectoryApp (required)
targetConnectionInfo Connection information for Azure SQL Database Managed Instance MiSqlConnectionInfo (required)

ConnectToTargetSqlMISyncTaskProperties

Name Description Value
input Task input ConnectToTargetSqlMISyncTaskInput
taskType Task type. 'ConnectToTarget.AzureSqlDbMI.Sync.LRS' (required)

ConnectToTargetSqlMITaskInput

Name Description Value
collectAgentJobs Flag for whether to collect agent jobs from target SQL MI server. bool
collectLogins Flag for whether to collect logins from target SQL MI server. bool
targetConnectionInfo Connection information for target SQL Server SqlConnectionInfo (required)
validateSsisCatalogOnly Flag for whether to validate SSIS catalog is reachable on the target SQL MI server. bool

ConnectToTargetSqlMITaskProperties

Name Description Value
input Task input ConnectToTargetSqlMITaskInput
taskType Task type. 'ConnectToTarget.AzureSqlDbMI' (required)

FileShare

Name Description Value
password Password credential used to connect to the share location. string
path The folder path for this share. string (required)
userName User name credential to connect to the share location string

GetTdeCertificatesSqlTaskInput

Name Description Value
backupFileShare Backup file share information for file share to be used for temporarily storing files. FileShare (required)
connectionInfo Connection information for SQL Server SqlConnectionInfo (required)
selectedCertificates List containing certificate names and corresponding password to use for encrypting the exported certificate. SelectedCertificateInput[] (required)

GetTdeCertificatesSqlTaskProperties

Name Description Value
input Task input GetTdeCertificatesSqlTaskInput
taskType Task type. 'GetTDECertificates.Sql' (required)

GetUserTablesMySqlTaskInput

Name Description Value
connectionInfo Connection information for SQL Server MySqlConnectionInfo (required)
selectedDatabases List of database names to collect tables for string[] (required)

GetUserTablesMySqlTaskProperties

Name Description Value
input Task input GetUserTablesMySqlTaskInput
taskType Task type. 'GetUserTablesMySql' (required)

GetUserTablesOracleTaskInput

Name Description Value
connectionInfo Information for connecting to Oracle source OracleConnectionInfo (required)
selectedSchemas List of Oracle schemas for which to collect tables string[] (required)

GetUserTablesOracleTaskProperties

Name Description Value
input Task input GetUserTablesOracleTaskInput
taskType Task type. 'GetUserTablesOracle' (required)

GetUserTablesPostgreSqlTaskInput

Name Description Value
connectionInfo Information for connecting to PostgreSQL source PostgreSqlConnectionInfo (required)
selectedDatabases List of PostgreSQL databases for which to collect tables string[] (required)

GetUserTablesPostgreSqlTaskProperties

Name Description Value
input Task input GetUserTablesPostgreSqlTaskInput
taskType Task type. 'GetUserTablesPostgreSql' (required)

GetUserTablesSqlSyncTaskInput

Name Description Value
selectedSourceDatabases List of source database names to collect tables for string[] (required)
selectedTargetDatabases List of target database names to collect tables for string[] (required)
sourceConnectionInfo Connection information for SQL Server SqlConnectionInfo (required)
targetConnectionInfo Connection information for SQL DB SqlConnectionInfo (required)

GetUserTablesSqlSyncTaskProperties

Name Description Value
input Task input GetUserTablesSqlSyncTaskInput
taskType Task type. 'GetUserTables.AzureSqlDb.Sync' (required)

GetUserTablesSqlTaskInput

Name Description Value
connectionInfo Connection information for SQL Server SqlConnectionInfo (required)
encryptedKeyForSecureFields encrypted key for secure fields string
selectedDatabases List of database names to collect tables for string[] (required)

GetUserTablesSqlTaskProperties

Name Description Value
input Task input GetUserTablesSqlTaskInput
taskId Task id string
taskType Task type. 'GetUserTables.Sql' (required)

InstallOCIDriverTaskInput

Name Description Value
driverPackageName Name of the uploaded driver package to install. string

InstallOCIDriverTaskProperties

Name Description Value
input Input for the service task to install an OCI driver. InstallOCIDriverTaskInput
taskType Task type. 'Service.Install.OCI' (required)

MigrateMongoDbTaskProperties

Name Description Value
input Describes how a MongoDB data migration should be performed MongoDbMigrationSettings
taskType Task type. 'Migrate.MongoDb' (required)

MigrateMySqlAzureDbForMySqlOfflineDatabaseInput

Name Description Value
name Name of the database string
tableMap Mapping of source to target tables MigrateMySqlAzureDbForMySqlOfflineDatabaseInputTableMap
targetDatabaseName Name of target database. Note: Target database will be truncated before starting migration. string

MigrateMySqlAzureDbForMySqlOfflineDatabaseInputTableMap

Name Description Value

MigrateMySqlAzureDbForMySqlOfflineTaskInput

Name Description Value
encryptedKeyForSecureFields encrypted key for secure fields string
makeSourceServerReadOnly Setting to set the source server read only bool
optionalAgentSettings Optional parameters for fine tuning the data transfer rate during migration MigrateMySqlAzureDbForMySqlOfflineTaskInputOptionalAgentSettings
selectedDatabases Databases to migrate MigrateMySqlAzureDbForMySqlOfflineDatabaseInput[] (required)
sourceConnectionInfo Connection information for source MySQL MySqlConnectionInfo (required)
startedOn Parameter to specify when the migration started string
targetConnectionInfo Connection information for target Azure Database for MySQL MySqlConnectionInfo (required)

MigrateMySqlAzureDbForMySqlOfflineTaskInputOptionalAgentSettings

Name Description Value

MigrateMySqlAzureDbForMySqlOfflineTaskProperties

Name Description Value
input Task input MigrateMySqlAzureDbForMySqlOfflineTaskInput
isCloneable whether the task can be cloned or not bool
taskId Task id string
taskType Task type. 'Migrate.MySql.AzureDbForMySql' (required)

MigrateMySqlAzureDbForMySqlSyncDatabaseInput

Name Description Value
migrationSetting Migration settings which tune the migration behavior MigrateMySqlAzureDbForMySqlSyncDatabaseInputMigrationSetting
name Name of the database string
sourceSetting Source settings to tune source endpoint migration behavior MigrateMySqlAzureDbForMySqlSyncDatabaseInputSourceSetting
tableMap Mapping of source to target tables MigrateMySqlAzureDbForMySqlSyncDatabaseInputTableMap
targetDatabaseName Name of target database. Note: Target database will be truncated before starting migration. string
targetSetting Target settings to tune target endpoint migration behavior MigrateMySqlAzureDbForMySqlSyncDatabaseInputTargetSetting

MigrateMySqlAzureDbForMySqlSyncDatabaseInputMigrationSetting

Name Description Value

MigrateMySqlAzureDbForMySqlSyncDatabaseInputSourceSetting

Name Description Value

MigrateMySqlAzureDbForMySqlSyncDatabaseInputTableMap

Name Description Value

MigrateMySqlAzureDbForMySqlSyncDatabaseInputTargetSetting

Name Description Value

MigrateMySqlAzureDbForMySqlSyncTaskInput

Name Description Value
selectedDatabases Databases to migrate MigrateMySqlAzureDbForMySqlSyncDatabaseInput[] (required)
sourceConnectionInfo Connection information for source MySQL MySqlConnectionInfo (required)
targetConnectionInfo Connection information for target Azure Database for MySQL MySqlConnectionInfo (required)

MigrateMySqlAzureDbForMySqlSyncTaskProperties

Name Description Value
input Task input MigrateMySqlAzureDbForMySqlSyncTaskInput
taskType Task type. 'Migrate.MySql.AzureDbForMySql.Sync' (required)

MigrateOracleAzureDbForPostgreSqlSyncTaskProperties

Name Description Value
input Task input MigrateOracleAzureDbPostgreSqlSyncTaskInput
taskType Task type. 'Migrate.Oracle.AzureDbForPostgreSql.Sync' (required)

MigrateOracleAzureDbPostgreSqlSyncDatabaseInput

Name Description Value
caseManipulation How to handle object name casing: either Preserve or ToLower string
migrationSetting Migration settings which tune the migration behavior MigrateOracleAzureDbPostgreSqlSyncDatabaseInputMigrationSetting
name Name of the migration pipeline string
schemaName Name of the source schema string
sourceSetting Source settings to tune source endpoint migration behavior MigrateOracleAzureDbPostgreSqlSyncDatabaseInputSourceSetting
tableMap Mapping of source to target tables MigrateOracleAzureDbPostgreSqlSyncDatabaseInputTableMap
targetDatabaseName Name of target database. Note: Target database will be truncated before starting migration. string
targetSetting Target settings to tune target endpoint migration behavior MigrateOracleAzureDbPostgreSqlSyncDatabaseInputTargetSetting

MigrateOracleAzureDbPostgreSqlSyncDatabaseInputMigrationSetting

Name Description Value

MigrateOracleAzureDbPostgreSqlSyncDatabaseInputSourceSetting

Name Description Value

MigrateOracleAzureDbPostgreSqlSyncDatabaseInputTableMap

Name Description Value

MigrateOracleAzureDbPostgreSqlSyncDatabaseInputTargetSetting

Name Description Value

MigrateOracleAzureDbPostgreSqlSyncTaskInput

Name Description Value
selectedDatabases Databases to migrate MigrateOracleAzureDbPostgreSqlSyncDatabaseInput[] (required)
sourceConnectionInfo Connection information for source Oracle OracleConnectionInfo (required)
targetConnectionInfo Connection information for target Azure Database for PostgreSQL PostgreSqlConnectionInfo (required)

MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput

Name Description Value
migrationSetting Migration settings which tune the migration behavior MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputMigrationSetting
name Name of the database string
selectedTables Tables selected for migration MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput[]
sourceSetting Source settings to tune source endpoint migration behavior MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputSourceSetting
targetDatabaseName Name of target database. Note: Target database will be truncated before starting migration. string
targetSetting Target settings to tune target endpoint migration behavior MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputTargetSetting

MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputMigrationSetting

Name Description Value

MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputSourceSetting

Name Description Value

MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputTargetSetting

Name Description Value

MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput

Name Description Value
name Name of the table to migrate string

MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput

Name Description Value
encryptedKeyForSecureFields encrypted key for secure fields string
selectedDatabases Databases to migrate MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput[] (required)
sourceConnectionInfo Connection information for source PostgreSQL PostgreSqlConnectionInfo (required)
targetConnectionInfo Connection information for target Azure Database for PostgreSQL PostgreSqlConnectionInfo (required)

MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties

Name Description Value
createdOn DateTime in UTC when the task was created string
input Task input MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput
isCloneable whether the task can be cloned or not bool
taskId task id string
taskType Task type. 'Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2' (required)

MigrateSchemaSqlServerSqlDbDatabaseInput

Name Description Value
id Id of the source database string
name Name of source database string
schemaSetting Database schema migration settings SchemaMigrationSetting
targetDatabaseName Name of target database string

MigrateSchemaSqlServerSqlDbTaskInput

Name Description Value
encryptedKeyForSecureFields encrypted key for secure fields string
selectedDatabases Databases to migrate MigrateSchemaSqlServerSqlDbDatabaseInput[] (required)
sourceConnectionInfo Information for connecting to source SqlConnectionInfo (required)
startedOn Migration start time string
targetConnectionInfo Information for connecting to target SqlConnectionInfo (required)

MigrateSchemaSqlServerSqlDbTaskProperties

Name Description Value
createdOn DateTime in UTC when the task was created string
input Task input MigrateSchemaSqlServerSqlDbTaskInput
isCloneable whether the task can be cloned or not bool
taskId Task id string
taskType Task type. 'MigrateSchemaSqlServerSqlDb' (required)

MigrateSqlServerSqlDbDatabaseInput

Name Description Value
id id of the database string
makeSourceDbReadOnly Whether to set database read only before migration bool
name Name of the database string
schemaSetting Settings selected for DB schema migration. any
tableMap Mapping of source to target tables MigrateSqlServerSqlDbDatabaseInputTableMap
targetDatabaseName Name of target database. Note: Target database will be truncated before starting migration. string

MigrateSqlServerSqlDbDatabaseInputTableMap

Name Description Value

MigrateSqlServerSqlDbSyncDatabaseInput

Name Description Value
id Unique identifier for database string
migrationSetting Migration settings which tune the migration behavior MigrateSqlServerSqlDbSyncDatabaseInputMigrationSetting
name Name of database string
schemaName Schema name to be migrated string
sourceSetting Source settings to tune source endpoint migration behavior MigrateSqlServerSqlDbSyncDatabaseInputSourceSetting
tableMap Mapping of source to target tables MigrateSqlServerSqlDbSyncDatabaseInputTableMap
targetDatabaseName Target database name string
targetSetting Target settings to tune target endpoint migration behavior MigrateSqlServerSqlDbSyncDatabaseInputTargetSetting

MigrateSqlServerSqlDbSyncDatabaseInputMigrationSetting

Name Description Value

MigrateSqlServerSqlDbSyncDatabaseInputSourceSetting

Name Description Value

MigrateSqlServerSqlDbSyncDatabaseInputTableMap

Name Description Value

MigrateSqlServerSqlDbSyncDatabaseInputTargetSetting

Name Description Value

MigrateSqlServerSqlDbSyncTaskInput

Name Description Value
selectedDatabases Databases to migrate MigrateSqlServerSqlDbSyncDatabaseInput[] (required)
sourceConnectionInfo Information for connecting to source SqlConnectionInfo (required)
targetConnectionInfo Information for connecting to target SqlConnectionInfo (required)
validationOptions Validation options MigrationValidationOptions

MigrateSqlServerSqlDbSyncTaskProperties

Name Description Value
input Task input MigrateSqlServerSqlDbSyncTaskInput
taskType Task type. 'Migrate.SqlServer.AzureSqlDb.Sync' (required)

MigrateSqlServerSqlDbTaskInput

Name Description Value
encryptedKeyForSecureFields encrypted key for secure fields string
selectedDatabases Databases to migrate MigrateSqlServerSqlDbDatabaseInput[] (required)
sourceConnectionInfo Information for connecting to source SqlConnectionInfo (required)
startedOn Date and time relative to UTC when the migration was started on string
targetConnectionInfo Information for connecting to target SqlConnectionInfo (required)
validationOptions 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.
MigrationValidationOptions

MigrateSqlServerSqlDbTaskProperties

Name Description Value
createdOn DateTime in UTC when the task was created string
input Task input MigrateSqlServerSqlDbTaskInput
isCloneable whether the task can be cloned or not bool
taskId task id string
taskType Task type. 'Migrate.SqlServer.SqlDb' (required)

MigrateSqlServerSqlMIDatabaseInput

Name Description Value
backupFilePaths The list of backup files to be used in case of existing backups. string[]
backupFileShare Backup file share information for backing up this database. FileShare
id id of the database string
name Name of the database string (required)
restoreDatabaseName Name of the database at destination string (required)

MigrateSqlServerSqlMISyncTaskInput

Name Description Value
azureApp Azure Active Directory Application the DMS (classic) instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account AzureActiveDirectoryApp (required)
backupFileShare Backup file share information for all selected databases. FileShare
numberOfParallelDatabaseMigrations Number of database migrations to start in parallel int
selectedDatabases Databases to migrate MigrateSqlServerSqlMIDatabaseInput[] (required)
sourceConnectionInfo Connection information for source SQL Server SqlConnectionInfo (required)
storageResourceId Fully qualified resourceId of storage string (required)
targetConnectionInfo Connection information for Azure SQL Database Managed Instance MiSqlConnectionInfo (required)

MigrateSqlServerSqlMISyncTaskProperties

Name Description Value
createdOn DateTime in UTC when the task was created string
input Task input MigrateSqlServerSqlMISyncTaskInput
taskType Task type. 'Migrate.SqlServer.AzureSqlDbMI.Sync.LRS' (required)

MigrateSqlServerSqlMITaskInput

Name Description Value
aadDomainName Azure Active Directory domain name in the format of 'contoso.com' for federated Azure AD or 'contoso.onmicrosoft.com' for managed domain, required if and only if Windows logins are selected string
backupBlobShare SAS URI of Azure Storage Account Container to be used for storing backup files. BlobShare (required)
backupFileShare Backup file share information for all selected databases. FileShare
backupMode 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. 'CreateBackup'
'ExistingBackup'
encryptedKeyForSecureFields encrypted key for secure fields string
selectedAgentJobs Agent Jobs to migrate. string[]
selectedDatabases Databases to migrate MigrateSqlServerSqlMIDatabaseInput[] (required)
selectedLogins Logins to migrate. string[]
sourceConnectionInfo Information for connecting to source SqlConnectionInfo (required)
startedOn Date and time relative to UTC when the migration was started on string
targetConnectionInfo Information for connecting to target SqlConnectionInfo (required)

MigrateSqlServerSqlMITaskProperties

Name Description Value
createdOn DateTime in UTC when the task was created string
input Task input MigrateSqlServerSqlMITaskInput
isCloneable whether the task can be cloned or not bool
parentTaskId parent task id string
taskId task id string
taskType Task type. 'Migrate.SqlServer.AzureSqlDbMI' (required)

MigrateSsisTaskInput

Name Description Value
sourceConnectionInfo Information for connecting to source SqlConnectionInfo (required)
ssisMigrationInfo SSIS package migration information. SsisMigrationInfo (required)
targetConnectionInfo Information for connecting to target SqlConnectionInfo (required)

MigrateSsisTaskProperties

Name Description Value
input Task input MigrateSsisTaskInput
taskType Task type. 'Migrate.Ssis' (required)

MigrationValidationOptions

Name Description Value
enableDataIntegrityValidation Allows to perform a checksum based data integrity validation between source and target for the selected database / tables . bool
enableQueryAnalysisValidation 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. bool
enableSchemaValidation Allows to compare the schema information between source and target. bool

MiSqlConnectionInfo

Name Description Value
managedInstanceResourceId Resource id for Azure SQL database Managed instance string (required)
password Password credential. string
type Type of connection info string (required)
userName User name string

MongoDbCollectionSettings

Name Description Value
canDelete Whether the migrator is allowed to drop the target collection in the course of performing a migration. The default is true. bool
shardKey Describes a MongoDB shard key MongoDbShardKeySetting
targetRUs The RUs that should be configured on a CosmosDB target, or null to use the default. This has no effect on non-CosmosDB targets. int

MongoDbConnectionInfo

Name Description Value
additionalSettings Additional connection settings string
authentication Authentication type to use for connection 'ActiveDirectoryIntegrated'
'ActiveDirectoryPassword'
'None'
'SqlAuthentication'
'WindowsAuthentication'
connectionString A MongoDB connection string or blob container URL. The user name and password can be specified here or in the userName and password properties string (required)
dataSource Data source string
encryptConnection Whether to encrypt the connection bool
enforceSSL bool
password Password credential. string
port port for server int
serverBrandVersion server brand version string
serverName name of the server string
serverVersion server version string
trustServerCertificate Whether to trust the server certificate bool
type Type of connection info string (required)
userName User name string

MongoDbDatabaseSettings

Name Description Value
collections The collections on the source database to migrate to the target. The keys are the unqualified names of the collections. MongoDbDatabaseSettingsCollections (required)
targetRUs 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. int

MongoDbDatabaseSettingsCollections

Name Description Value

MongoDbMigrationSettings

Name Description Value
boostRUs 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. int
databases The databases on the source cluster to migrate to the target. The keys are the names of the databases. MongoDbMigrationSettingsDatabases (required)
replication Describes how changes will be replicated from the source to the target. The default is OneTime. 'Continuous'
'Disabled'
'OneTime'
source Settings used to connect to the source cluster MongoDbConnectionInfo (required)
target Settings used to connect to the target cluster MongoDbConnectionInfo (required)
throttling Settings used to limit the resource usage of the migration MongoDbThrottlingSettings

MongoDbMigrationSettingsDatabases

Name Description Value

MongoDbShardKeyField

Name Description Value
name The name of the field string (required)
order The field ordering 'Forward'
'Hashed'
'Reverse' (required)

MongoDbShardKeySetting

Name Description Value
fields The fields within the shard key MongoDbShardKeyField[] (required)
isUnique Whether the shard key is unique bool

MongoDbThrottlingSettings

Name Description Value
maxParallelism The maximum number of work items (e.g. collection copies) that will be processed in parallel int
minFreeCpu The percentage of CPU time that the migrator will try to avoid using, from 0 to 100 int
minFreeMemoryMb The number of megabytes of RAM that the migrator will try to avoid using int

MySqlConnectionInfo

Name Description Value
additionalSettings Additional connection settings string
authentication Authentication type to use for connection 'ActiveDirectoryIntegrated'
'ActiveDirectoryPassword'
'None'
'SqlAuthentication'
'WindowsAuthentication'
dataSource Data source string
encryptConnection Whether to encrypt the connection bool
password Password credential. string
port Port for Server int (required)
serverName Name of the server string (required)
type Type of connection info string (required)
userName User name string

OracleConnectionInfo

Name Description Value
authentication Authentication type to use for connection 'ActiveDirectoryIntegrated'
'ActiveDirectoryPassword'
'None'
'SqlAuthentication'
'WindowsAuthentication'
dataSource EZConnect or TNSName connection string. string (required)
password Password credential. string
port port for server int
serverName name of the server string
serverVersion server version string
type Type of connection info string (required)
userName User name string

PostgreSqlConnectionInfo

Name Description Value
additionalSettings Additional connection settings string
authentication Authentication type to use for connection 'ActiveDirectoryIntegrated'
'ActiveDirectoryPassword'
'None'
'SqlAuthentication'
'WindowsAuthentication'
databaseName Name of the database string
dataSource Data source string
encryptConnection Whether to encrypt the connection bool
password Password credential. string
port Port for Server int (required)
serverBrandVersion server brand version string
serverName Name of the server string (required)
serverVersion server version string
trustServerCertificate Whether to trust the server certificate bool
type Type of connection info string (required)
userName User name string

ProjectTaskProperties

Name Description Value
clientData Key value pairs of client data to attach meta data information to task ProjectTaskPropertiesClientData
taskType Set to 'Connect.MongoDb' for type ConnectToMongoDbTaskProperties. Set to 'ConnectToSource.MySql' for type ConnectToSourceMySqlTaskProperties. Set to 'ConnectToSource.Oracle.Sync' for type ConnectToSourceOracleSyncTaskProperties. Set to 'ConnectToSource.PostgreSql.Sync' for type ConnectToSourcePostgreSqlSyncTaskProperties. Set to 'ConnectToSource.SqlServer' for type ConnectToSourceSqlServerTaskProperties. Set to 'ConnectToSource.SqlServer.Sync' for type ConnectToSourceSqlServerSyncTaskProperties. Set to 'ConnectToTarget.AzureDbForMySql' for type ConnectToTargetAzureDbForMySqlTaskProperties. Set to 'ConnectToTarget.AzureDbForPostgreSql.Sync' for type ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties. Set to 'ConnectToTarget.AzureSqlDbMI' for type ConnectToTargetSqlMITaskProperties. Set to 'ConnectToTarget.AzureSqlDbMI.Sync.LRS' for type ConnectToTargetSqlMISyncTaskProperties. Set to 'ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync' for type ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties. Set to 'ConnectToTarget.SqlDb' for type ConnectToTargetSqlDbTaskProperties. Set to 'ConnectToTarget.SqlDb.Sync' for type ConnectToTargetSqlDbSyncTaskProperties. Set to 'GetTDECertificates.Sql' for type GetTdeCertificatesSqlTaskProperties. Set to 'GetUserTables.AzureSqlDb.Sync' for type GetUserTablesSqlSyncTaskProperties. Set to 'GetUserTables.Sql' for type GetUserTablesSqlTaskProperties. Set to 'GetUserTablesMySql' for type GetUserTablesMySqlTaskProperties. Set to 'GetUserTablesOracle' for type GetUserTablesOracleTaskProperties. Set to 'GetUserTablesPostgreSql' for type GetUserTablesPostgreSqlTaskProperties. Set to 'Migrate.MongoDb' for type MigrateMongoDbTaskProperties. Set to 'Migrate.MySql.AzureDbForMySql' for type MigrateMySqlAzureDbForMySqlOfflineTaskProperties. Set to 'Migrate.MySql.AzureDbForMySql.Sync' for type MigrateMySqlAzureDbForMySqlSyncTaskProperties. Set to 'Migrate.Oracle.AzureDbForPostgreSql.Sync' for type MigrateOracleAzureDbForPostgreSqlSyncTaskProperties. Set to 'Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2' for type MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties. Set to 'Migrate.SqlServer.AzureSqlDb.Sync' for type MigrateSqlServerSqlDbSyncTaskProperties. Set to 'Migrate.SqlServer.AzureSqlDbMI' for type MigrateSqlServerSqlMITaskProperties. Set to 'Migrate.SqlServer.AzureSqlDbMI.Sync.LRS' for type MigrateSqlServerSqlMISyncTaskProperties. Set to 'Migrate.SqlServer.SqlDb' for type MigrateSqlServerSqlDbTaskProperties. Set to 'Migrate.Ssis' for type MigrateSsisTaskProperties. Set to 'MigrateSchemaSqlServerSqlDb' for type MigrateSchemaSqlServerSqlDbTaskProperties. Set to 'Service.Check.OCI' for type CheckOCIDriverTaskProperties. Set to 'Service.Install.OCI' for type InstallOCIDriverTaskProperties. Set to 'Service.Upload.OCI' for type UploadOCIDriverTaskProperties. Set to 'Validate.MongoDb' for type ValidateMongoDbTaskProperties. Set to 'Validate.Oracle.AzureDbPostgreSql.Sync' for type ValidateOracleAzureDbForPostgreSqlSyncTaskProperties. Set to 'ValidateMigrationInput.SqlServer.AzureSqlDbMI' for type ValidateMigrationInputSqlServerSqlMITaskProperties. Set to 'ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS' for type ValidateMigrationInputSqlServerSqlMISyncTaskProperties. Set to 'ValidateMigrationInput.SqlServer.SqlDb.Sync' for type ValidateMigrationInputSqlServerSqlDbSyncTaskProperties. 'Connect.MongoDb'
'ConnectToSource.MySql'
'ConnectToSource.Oracle.Sync'
'ConnectToSource.PostgreSql.Sync'
'ConnectToSource.SqlServer'
'ConnectToSource.SqlServer.Sync'
'ConnectToTarget.AzureDbForMySql'
'ConnectToTarget.AzureDbForPostgreSql.Sync'
'ConnectToTarget.AzureSqlDbMI'
'ConnectToTarget.AzureSqlDbMI.Sync.LRS'
'ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync'
'ConnectToTarget.SqlDb'
'ConnectToTarget.SqlDb.Sync'
'GetTDECertificates.Sql'
'GetUserTables.AzureSqlDb.Sync'
'GetUserTables.Sql'
'GetUserTablesMySql'
'GetUserTablesOracle'
'GetUserTablesPostgreSql'
'Migrate.MongoDb'
'Migrate.MySql.AzureDbForMySql'
'Migrate.MySql.AzureDbForMySql.Sync'
'Migrate.Oracle.AzureDbForPostgreSql.Sync'
'Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2'
'Migrate.SqlServer.AzureSqlDb.Sync'
'Migrate.SqlServer.AzureSqlDbMI'
'Migrate.SqlServer.AzureSqlDbMI.Sync.LRS'
'Migrate.SqlServer.SqlDb'
'Migrate.Ssis'
'MigrateSchemaSqlServerSqlDb'
'Service.Check.OCI'
'Service.Install.OCI'
'Service.Upload.OCI'
'Validate.MongoDb'
'Validate.Oracle.AzureDbPostgreSql.Sync'
'ValidateMigrationInput.SqlServer.AzureSqlDbMI'
'ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS'
'ValidateMigrationInput.SqlServer.SqlDb.Sync' (required)

ProjectTaskPropertiesClientData

Name Description Value

SchemaMigrationSetting

Name Description Value
fileId Resource Identifier of a file resource containing the uploaded schema file string
fileName Name of the file resource containing the uploaded schema file string
schemaOption Option on how to migrate the schema 'ExtractFromSource'
'None'
'UseStorageFile'

SelectedCertificateInput

Name Description Value
certificateName Name of certificate to be exported. string (required)
password Password to use for encrypting the exported certificate. string (required)

SqlConnectionInfo

Name Description Value
additionalSettings Additional connection settings string
authentication Authentication type to use for connection 'ActiveDirectoryIntegrated'
'ActiveDirectoryPassword'
'None'
'SqlAuthentication'
'WindowsAuthentication'
dataSource Data source in the format Protocol:MachineName\SQLServerInstanceName,PortNumber string (required)
encryptConnection Whether to encrypt the connection bool
password Password credential. string
platform Server platform type for connection 'SqlOnPrem'
port Port for Server int
resourceId Represents the ID of an HTTP resource represented by an Azure resource provider. string
serverBrandVersion server brand version string
serverName name of the server string
serverVersion server version string
trustServerCertificate Whether to trust the server certificate bool
type Type of connection info string (required)
userName User name string

SsisMigrationInfo

Name Description Value
environmentOverwriteOption The overwrite option for the SSIS environment migration 'Ignore'
'Overwrite'
projectOverwriteOption The overwrite option for the SSIS project migration 'Ignore'
'Overwrite'
ssisStoreType The SSIS store type of source, only SSIS catalog is supported now in DMS (classic) 'SsisCatalog'

UploadOCIDriverTaskInput

Name Description Value
driverShare File share information for the OCI driver archive. FileShare

UploadOCIDriverTaskProperties

Name Description Value
input Input for the service task to upload an OCI driver. UploadOCIDriverTaskInput
taskType Task type. 'Service.Upload.OCI' (required)

ValidateMigrationInputSqlServerSqlDbSyncTaskProperties

Name Description Value
input Task input ValidateSyncMigrationInputSqlServerTaskInput
taskType Task type. 'ValidateMigrationInput.SqlServer.SqlDb.Sync' (required)

ValidateMigrationInputSqlServerSqlMISyncTaskInput

Name Description Value
azureApp Azure Active Directory Application the DMS (classic) instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account AzureActiveDirectoryApp (required)
backupFileShare Backup file share information for all selected databases. FileShare
selectedDatabases Databases to migrate MigrateSqlServerSqlMIDatabaseInput[] (required)
sourceConnectionInfo Connection information for source SQL Server SqlConnectionInfo (required)
storageResourceId Fully qualified resourceId of storage string (required)
targetConnectionInfo Connection information for Azure SQL Database Managed Instance MiSqlConnectionInfo (required)

ValidateMigrationInputSqlServerSqlMISyncTaskProperties

Name Description Value
input Task input ValidateMigrationInputSqlServerSqlMISyncTaskInput
taskType Task type. 'ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS' (required)

ValidateMigrationInputSqlServerSqlMITaskInput

Name Description Value
backupBlobShare SAS URI of Azure Storage Account Container to be used for storing backup files. BlobShare (required)
backupFileShare Backup file share information for all selected databases. FileShare
backupMode Backup Mode to specify whether to use existing backup or create new backup. 'CreateBackup'
'ExistingBackup'
selectedDatabases Databases to migrate MigrateSqlServerSqlMIDatabaseInput[] (required)
selectedLogins Logins to migrate string[]
sourceConnectionInfo Information for connecting to source SqlConnectionInfo (required)
targetConnectionInfo Information for connecting to target SqlConnectionInfo (required)

ValidateMigrationInputSqlServerSqlMITaskProperties

Name Description Value
input Task input ValidateMigrationInputSqlServerSqlMITaskInput
taskType Task type. 'ValidateMigrationInput.SqlServer.AzureSqlDbMI' (required)

ValidateMongoDbTaskProperties

Name Description Value
input Describes how a MongoDB data migration should be performed MongoDbMigrationSettings
taskType Task type. 'Validate.MongoDb' (required)

ValidateOracleAzureDbForPostgreSqlSyncTaskProperties

Name Description Value
input Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations MigrateOracleAzureDbPostgreSqlSyncTaskInput
taskType Task type. 'Validate.Oracle.AzureDbPostgreSql.Sync' (required)

ValidateSyncMigrationInputSqlServerTaskInput

Name Description Value
selectedDatabases Databases to migrate MigrateSqlServerSqlDbSyncDatabaseInput[] (required)
sourceConnectionInfo Information for connecting to source SQL server SqlConnectionInfo (required)
targetConnectionInfo Information for connecting to target SqlConnectionInfo (required)

ARM template resource definition

The services/projects/tasks resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.DataMigration/services/projects/tasks resource, add the following JSON to your template.

{
  "type": "Microsoft.DataMigration/services/projects/tasks",
  "apiVersion": "2025-03-15-preview",
  "name": "string",
  "etag": "string",
  "properties": {
    "clientData": {
      "{customized property}": "string"
    },
    "taskType": "string"
    // For remaining properties, see ProjectTaskProperties objects
  }
}

ProjectTaskProperties objects

Set the taskType property to specify the type of object.

For Connect.MongoDb, use:

{
  "input": {
    "additionalSettings": "string",
    "authentication": "string",
    "connectionString": "string",
    "dataSource": "string",
    "encryptConnection": "bool",
    "enforceSSL": "bool",
    "password": "string",
    "port": "int",
    "serverBrandVersion": "string",
    "serverName": "string",
    "serverVersion": "string",
    "trustServerCertificate": "bool",
    "type": "string",
    "userName": "string"
  },
  "taskType": "Connect.MongoDb"
}

For ConnectToSource.MySql, use:

{
  "input": {
    "checkPermissionsGroup": "string",
    "isOfflineMigration": "bool",
    "sourceConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "port": "int",
      "serverName": "string",
      "type": "string",
      "userName": "string"
    },
    "targetPlatform": "string"
  },
  "taskType": "ConnectToSource.MySql"
}

For ConnectToSource.Oracle.Sync, use:

{
  "input": {
    "sourceConnectionInfo": {
      "authentication": "string",
      "dataSource": "string",
      "password": "string",
      "port": "int",
      "serverName": "string",
      "serverVersion": "string",
      "type": "string",
      "userName": "string"
    }
  },
  "taskType": "ConnectToSource.Oracle.Sync"
}

For ConnectToSource.PostgreSql.Sync, use:

{
  "input": {
    "sourceConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "databaseName": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "port": "int",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    }
  },
  "taskType": "ConnectToSource.PostgreSql.Sync"
}

For ConnectToSource.SqlServer, use:

{
  "input": {
    "checkPermissionsGroup": "string",
    "collectAgentJobs": "bool",
    "collectDatabases": "bool",
    "collectLogins": "bool",
    "collectTdeCertificateInfo": "bool",
    "encryptedKeyForSecureFields": "string",
    "sourceConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "validateSsisCatalogOnly": "bool"
  },
  "taskId": "string",
  "taskType": "ConnectToSource.SqlServer"
}

For ConnectToSource.SqlServer.Sync, use:

{
  "input": {
    "checkPermissionsGroup": "string",
    "collectAgentJobs": "bool",
    "collectDatabases": "bool",
    "collectLogins": "bool",
    "collectTdeCertificateInfo": "bool",
    "encryptedKeyForSecureFields": "string",
    "sourceConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "validateSsisCatalogOnly": "bool"
  },
  "taskType": "ConnectToSource.SqlServer.Sync"
}

For ConnectToTarget.AzureDbForMySql, use:

{
  "input": {
    "isOfflineMigration": "bool",
    "sourceConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "port": "int",
      "serverName": "string",
      "type": "string",
      "userName": "string"
    },
    "targetConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "port": "int",
      "serverName": "string",
      "type": "string",
      "userName": "string"
    }
  },
  "taskType": "ConnectToTarget.AzureDbForMySql"
}

For ConnectToTarget.AzureDbForPostgreSql.Sync, use:

{
  "input": {
    "sourceConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "databaseName": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "port": "int",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "targetConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "databaseName": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "port": "int",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    }
  },
  "taskType": "ConnectToTarget.AzureDbForPostgreSql.Sync"
}

For ConnectToTarget.AzureSqlDbMI, use:

{
  "input": {
    "collectAgentJobs": "bool",
    "collectLogins": "bool",
    "targetConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "validateSsisCatalogOnly": "bool"
  },
  "taskType": "ConnectToTarget.AzureSqlDbMI"
}

For ConnectToTarget.AzureSqlDbMI.Sync.LRS, use:

{
  "input": {
    "azureApp": {
      "appKey": "string",
      "applicationId": "string",
      "ignoreAzurePermissions": "bool",
      "tenantId": "string"
    },
    "targetConnectionInfo": {
      "managedInstanceResourceId": "string",
      "password": "string",
      "type": "string",
      "userName": "string"
    }
  },
  "taskType": "ConnectToTarget.AzureSqlDbMI.Sync.LRS"
}

For ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync, use:

{
  "input": {
    "targetConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "databaseName": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "port": "int",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    }
  },
  "taskType": "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync"
}

For ConnectToTarget.SqlDb, use:

{
  "createdOn": "string",
  "input": {
    "queryObjectCounts": "bool",
    "targetConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    }
  },
  "taskType": "ConnectToTarget.SqlDb"
}

For ConnectToTarget.SqlDb.Sync, use:

{
  "input": {
    "sourceConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "targetConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    }
  },
  "taskType": "ConnectToTarget.SqlDb.Sync"
}

For GetTDECertificates.Sql, use:

{
  "input": {
    "backupFileShare": {
      "password": "string",
      "path": "string",
      "userName": "string"
    },
    "connectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "selectedCertificates": [
      {
        "certificateName": "string",
        "password": "string"
      }
    ]
  },
  "taskType": "GetTDECertificates.Sql"
}

For GetUserTables.AzureSqlDb.Sync, use:

{
  "input": {
    "selectedSourceDatabases": [ "string" ],
    "selectedTargetDatabases": [ "string" ],
    "sourceConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "targetConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    }
  },
  "taskType": "GetUserTables.AzureSqlDb.Sync"
}

For GetUserTables.Sql, use:

{
  "input": {
    "connectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "encryptedKeyForSecureFields": "string",
    "selectedDatabases": [ "string" ]
  },
  "taskId": "string",
  "taskType": "GetUserTables.Sql"
}

For GetUserTablesMySql, use:

{
  "input": {
    "connectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "port": "int",
      "serverName": "string",
      "type": "string",
      "userName": "string"
    },
    "selectedDatabases": [ "string" ]
  },
  "taskType": "GetUserTablesMySql"
}

For GetUserTablesOracle, use:

{
  "input": {
    "connectionInfo": {
      "authentication": "string",
      "dataSource": "string",
      "password": "string",
      "port": "int",
      "serverName": "string",
      "serverVersion": "string",
      "type": "string",
      "userName": "string"
    },
    "selectedSchemas": [ "string" ]
  },
  "taskType": "GetUserTablesOracle"
}

For GetUserTablesPostgreSql, use:

{
  "input": {
    "connectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "databaseName": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "port": "int",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "selectedDatabases": [ "string" ]
  },
  "taskType": "GetUserTablesPostgreSql"
}

For Migrate.MongoDb, use:

{
  "input": {
    "boostRUs": "int",
    "databases": {
      "{customized property}": {
        "collections": {
          "{customized property}": {
            "canDelete": "bool",
            "shardKey": {
              "fields": [
                {
                  "name": "string",
                  "order": "string"
                }
              ],
              "isUnique": "bool"
            },
            "targetRUs": "int"
          }
        },
        "targetRUs": "int"
      }
    },
    "replication": "string",
    "source": {
      "additionalSettings": "string",
      "authentication": "string",
      "connectionString": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "enforceSSL": "bool",
      "password": "string",
      "port": "int",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "target": {
      "additionalSettings": "string",
      "authentication": "string",
      "connectionString": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "enforceSSL": "bool",
      "password": "string",
      "port": "int",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "throttling": {
      "maxParallelism": "int",
      "minFreeCpu": "int",
      "minFreeMemoryMb": "int"
    }
  },
  "taskType": "Migrate.MongoDb"
}

For Migrate.MySql.AzureDbForMySql, use:

{
  "input": {
    "encryptedKeyForSecureFields": "string",
    "makeSourceServerReadOnly": "bool",
    "optionalAgentSettings": {
      "{customized property}": "string"
    },
    "selectedDatabases": [
      {
        "name": "string",
        "tableMap": {
          "{customized property}": "string"
        },
        "targetDatabaseName": "string"
      }
    ],
    "sourceConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "port": "int",
      "serverName": "string",
      "type": "string",
      "userName": "string"
    },
    "startedOn": "string",
    "targetConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "port": "int",
      "serverName": "string",
      "type": "string",
      "userName": "string"
    }
  },
  "isCloneable": "bool",
  "taskId": "string",
  "taskType": "Migrate.MySql.AzureDbForMySql"
}

For Migrate.MySql.AzureDbForMySql.Sync, use:

{
  "input": {
    "selectedDatabases": [
      {
        "migrationSetting": {
          "{customized property}": "string"
        },
        "name": "string",
        "sourceSetting": {
          "{customized property}": "string"
        },
        "tableMap": {
          "{customized property}": "string"
        },
        "targetDatabaseName": "string",
        "targetSetting": {
          "{customized property}": "string"
        }
      }
    ],
    "sourceConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "port": "int",
      "serverName": "string",
      "type": "string",
      "userName": "string"
    },
    "targetConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "port": "int",
      "serverName": "string",
      "type": "string",
      "userName": "string"
    }
  },
  "taskType": "Migrate.MySql.AzureDbForMySql.Sync"
}

For Migrate.Oracle.AzureDbForPostgreSql.Sync, use:

{
  "input": {
    "selectedDatabases": [
      {
        "caseManipulation": "string",
        "migrationSetting": {
          "{customized property}": "string"
        },
        "name": "string",
        "schemaName": "string",
        "sourceSetting": {
          "{customized property}": "string"
        },
        "tableMap": {
          "{customized property}": "string"
        },
        "targetDatabaseName": "string",
        "targetSetting": {
          "{customized property}": "string"
        }
      }
    ],
    "sourceConnectionInfo": {
      "authentication": "string",
      "dataSource": "string",
      "password": "string",
      "port": "int",
      "serverName": "string",
      "serverVersion": "string",
      "type": "string",
      "userName": "string"
    },
    "targetConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "databaseName": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "port": "int",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    }
  },
  "taskType": "Migrate.Oracle.AzureDbForPostgreSql.Sync"
}

For Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2, use:

{
  "createdOn": "string",
  "input": {
    "encryptedKeyForSecureFields": "string",
    "selectedDatabases": [
      {
        "migrationSetting": {
          "{customized property}": {}
        },
        "name": "string",
        "selectedTables": [
          {
            "name": "string"
          }
        ],
        "sourceSetting": {
          "{customized property}": "string"
        },
        "targetDatabaseName": "string",
        "targetSetting": {
          "{customized property}": "string"
        }
      }
    ],
    "sourceConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "databaseName": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "port": "int",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "targetConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "databaseName": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "port": "int",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    }
  },
  "isCloneable": "bool",
  "taskId": "string",
  "taskType": "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2"
}

For Migrate.SqlServer.AzureSqlDb.Sync, use:

{
  "input": {
    "selectedDatabases": [
      {
        "id": "string",
        "migrationSetting": {
          "{customized property}": "string"
        },
        "name": "string",
        "schemaName": "string",
        "sourceSetting": {
          "{customized property}": "string"
        },
        "tableMap": {
          "{customized property}": "string"
        },
        "targetDatabaseName": "string",
        "targetSetting": {
          "{customized property}": "string"
        }
      }
    ],
    "sourceConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "targetConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "validationOptions": {
      "enableDataIntegrityValidation": "bool",
      "enableQueryAnalysisValidation": "bool",
      "enableSchemaValidation": "bool"
    }
  },
  "taskType": "Migrate.SqlServer.AzureSqlDb.Sync"
}

For Migrate.SqlServer.AzureSqlDbMI, use:

{
  "createdOn": "string",
  "input": {
    "aadDomainName": "string",
    "backupBlobShare": {
      "sasUri": "string"
    },
    "backupFileShare": {
      "password": "string",
      "path": "string",
      "userName": "string"
    },
    "backupMode": "string",
    "encryptedKeyForSecureFields": "string",
    "selectedAgentJobs": [ "string" ],
    "selectedDatabases": [
      {
        "backupFilePaths": [ "string" ],
        "backupFileShare": {
          "password": "string",
          "path": "string",
          "userName": "string"
        },
        "id": "string",
        "name": "string",
        "restoreDatabaseName": "string"
      }
    ],
    "selectedLogins": [ "string" ],
    "sourceConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "startedOn": "string",
    "targetConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    }
  },
  "isCloneable": "bool",
  "parentTaskId": "string",
  "taskId": "string",
  "taskType": "Migrate.SqlServer.AzureSqlDbMI"
}

For Migrate.SqlServer.AzureSqlDbMI.Sync.LRS, use:

{
  "createdOn": "string",
  "input": {
    "azureApp": {
      "appKey": "string",
      "applicationId": "string",
      "ignoreAzurePermissions": "bool",
      "tenantId": "string"
    },
    "backupFileShare": {
      "password": "string",
      "path": "string",
      "userName": "string"
    },
    "numberOfParallelDatabaseMigrations": "int",
    "selectedDatabases": [
      {
        "backupFilePaths": [ "string" ],
        "backupFileShare": {
          "password": "string",
          "path": "string",
          "userName": "string"
        },
        "id": "string",
        "name": "string",
        "restoreDatabaseName": "string"
      }
    ],
    "sourceConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "storageResourceId": "string",
    "targetConnectionInfo": {
      "managedInstanceResourceId": "string",
      "password": "string",
      "type": "string",
      "userName": "string"
    }
  },
  "taskType": "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS"
}

For Migrate.SqlServer.SqlDb, use:

{
  "createdOn": "string",
  "input": {
    "encryptedKeyForSecureFields": "string",
    "selectedDatabases": [
      {
        "id": "string",
        "makeSourceDbReadOnly": "bool",
        "name": "string",
        "schemaSetting": {},
        "tableMap": {
          "{customized property}": "string"
        },
        "targetDatabaseName": "string"
      }
    ],
    "sourceConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "startedOn": "string",
    "targetConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "validationOptions": {
      "enableDataIntegrityValidation": "bool",
      "enableQueryAnalysisValidation": "bool",
      "enableSchemaValidation": "bool"
    }
  },
  "isCloneable": "bool",
  "taskId": "string",
  "taskType": "Migrate.SqlServer.SqlDb"
}

For Migrate.Ssis, use:

{
  "input": {
    "sourceConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "ssisMigrationInfo": {
      "environmentOverwriteOption": "string",
      "projectOverwriteOption": "string",
      "ssisStoreType": "string"
    },
    "targetConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    }
  },
  "taskType": "Migrate.Ssis"
}

For MigrateSchemaSqlServerSqlDb, use:

{
  "createdOn": "string",
  "input": {
    "encryptedKeyForSecureFields": "string",
    "selectedDatabases": [
      {
        "id": "string",
        "name": "string",
        "schemaSetting": {
          "fileId": "string",
          "fileName": "string",
          "schemaOption": "string"
        },
        "targetDatabaseName": "string"
      }
    ],
    "sourceConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "startedOn": "string",
    "targetConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    }
  },
  "isCloneable": "bool",
  "taskId": "string",
  "taskType": "MigrateSchemaSqlServerSqlDb"
}

For Service.Check.OCI, use:

{
  "input": {
    "serverVersion": "string"
  },
  "taskType": "Service.Check.OCI"
}

For Service.Install.OCI, use:

{
  "input": {
    "driverPackageName": "string"
  },
  "taskType": "Service.Install.OCI"
}

For Service.Upload.OCI, use:

{
  "input": {
    "driverShare": {
      "password": "string",
      "path": "string",
      "userName": "string"
    }
  },
  "taskType": "Service.Upload.OCI"
}

For Validate.MongoDb, use:

{
  "input": {
    "boostRUs": "int",
    "databases": {
      "{customized property}": {
        "collections": {
          "{customized property}": {
            "canDelete": "bool",
            "shardKey": {
              "fields": [
                {
                  "name": "string",
                  "order": "string"
                }
              ],
              "isUnique": "bool"
            },
            "targetRUs": "int"
          }
        },
        "targetRUs": "int"
      }
    },
    "replication": "string",
    "source": {
      "additionalSettings": "string",
      "authentication": "string",
      "connectionString": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "enforceSSL": "bool",
      "password": "string",
      "port": "int",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "target": {
      "additionalSettings": "string",
      "authentication": "string",
      "connectionString": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "enforceSSL": "bool",
      "password": "string",
      "port": "int",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "throttling": {
      "maxParallelism": "int",
      "minFreeCpu": "int",
      "minFreeMemoryMb": "int"
    }
  },
  "taskType": "Validate.MongoDb"
}

For Validate.Oracle.AzureDbPostgreSql.Sync, use:

{
  "input": {
    "selectedDatabases": [
      {
        "caseManipulation": "string",
        "migrationSetting": {
          "{customized property}": "string"
        },
        "name": "string",
        "schemaName": "string",
        "sourceSetting": {
          "{customized property}": "string"
        },
        "tableMap": {
          "{customized property}": "string"
        },
        "targetDatabaseName": "string",
        "targetSetting": {
          "{customized property}": "string"
        }
      }
    ],
    "sourceConnectionInfo": {
      "authentication": "string",
      "dataSource": "string",
      "password": "string",
      "port": "int",
      "serverName": "string",
      "serverVersion": "string",
      "type": "string",
      "userName": "string"
    },
    "targetConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "databaseName": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "port": "int",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    }
  },
  "taskType": "Validate.Oracle.AzureDbPostgreSql.Sync"
}

For ValidateMigrationInput.SqlServer.AzureSqlDbMI, use:

{
  "input": {
    "backupBlobShare": {
      "sasUri": "string"
    },
    "backupFileShare": {
      "password": "string",
      "path": "string",
      "userName": "string"
    },
    "backupMode": "string",
    "selectedDatabases": [
      {
        "backupFilePaths": [ "string" ],
        "backupFileShare": {
          "password": "string",
          "path": "string",
          "userName": "string"
        },
        "id": "string",
        "name": "string",
        "restoreDatabaseName": "string"
      }
    ],
    "selectedLogins": [ "string" ],
    "sourceConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "targetConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    }
  },
  "taskType": "ValidateMigrationInput.SqlServer.AzureSqlDbMI"
}

For ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS, use:

{
  "input": {
    "azureApp": {
      "appKey": "string",
      "applicationId": "string",
      "ignoreAzurePermissions": "bool",
      "tenantId": "string"
    },
    "backupFileShare": {
      "password": "string",
      "path": "string",
      "userName": "string"
    },
    "selectedDatabases": [
      {
        "backupFilePaths": [ "string" ],
        "backupFileShare": {
          "password": "string",
          "path": "string",
          "userName": "string"
        },
        "id": "string",
        "name": "string",
        "restoreDatabaseName": "string"
      }
    ],
    "sourceConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "storageResourceId": "string",
    "targetConnectionInfo": {
      "managedInstanceResourceId": "string",
      "password": "string",
      "type": "string",
      "userName": "string"
    }
  },
  "taskType": "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS"
}

For ValidateMigrationInput.SqlServer.SqlDb.Sync, use:

{
  "input": {
    "selectedDatabases": [
      {
        "id": "string",
        "migrationSetting": {
          "{customized property}": "string"
        },
        "name": "string",
        "schemaName": "string",
        "sourceSetting": {
          "{customized property}": "string"
        },
        "tableMap": {
          "{customized property}": "string"
        },
        "targetDatabaseName": "string",
        "targetSetting": {
          "{customized property}": "string"
        }
      }
    ],
    "sourceConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    },
    "targetConnectionInfo": {
      "additionalSettings": "string",
      "authentication": "string",
      "dataSource": "string",
      "encryptConnection": "bool",
      "password": "string",
      "platform": "string",
      "port": "int",
      "resourceId": "string",
      "serverBrandVersion": "string",
      "serverName": "string",
      "serverVersion": "string",
      "trustServerCertificate": "bool",
      "type": "string",
      "userName": "string"
    }
  },
  "taskType": "ValidateMigrationInput.SqlServer.SqlDb.Sync"
}

Property Values

Microsoft.DataMigration/services/projects/tasks

Name Description Value
apiVersion The api version '2025-03-15-preview'
etag HTTP strong entity tag value. This is ignored if submitted. string
name The resource name string (required)
properties Custom task properties ProjectTaskProperties
type The resource type 'Microsoft.DataMigration/services/projects/tasks'

AzureActiveDirectoryApp

Name Description Value
appKey Key used to authenticate to the Azure Active Directory Application string
applicationId Application ID of the Azure Active Directory Application string
ignoreAzurePermissions Ignore checking azure permissions on the AAD app bool
tenantId Tenant id of the customer string

BlobShare

Name Description Value
sasUri SAS URI of Azure Storage Account Container. string

CheckOCIDriverTaskInput

Name Description Value
serverVersion Version of the source server to check against. Optional. string

CheckOCIDriverTaskProperties

Name Description Value
input Input for the service task to check for OCI drivers. CheckOCIDriverTaskInput
taskType Task type. 'Service.Check.OCI' (required)

ConnectToMongoDbTaskProperties

Name Description Value
input Describes a connection to a MongoDB data source MongoDbConnectionInfo
taskType Task type. 'Connect.MongoDb' (required)

ConnectToSourceMySqlTaskInput

Name Description Value
checkPermissionsGroup Permission group for validations 'Default'
'MigrationFromMySQLToAzureDBForMySQL'
'MigrationFromSqlServerToAzureDB'
'MigrationFromSqlServerToAzureMI'
'MigrationFromSqlServerToAzureVM'
isOfflineMigration Flag for whether or not the migration is offline bool
sourceConnectionInfo Information for connecting to MySQL source MySqlConnectionInfo (required)
targetPlatform Target Platform for the migration 'AzureDbForMySQL'
'SqlServer'

ConnectToSourceMySqlTaskProperties

Name Description Value
input Task input ConnectToSourceMySqlTaskInput
taskType Task type. 'ConnectToSource.MySql' (required)

ConnectToSourceOracleSyncTaskInput

Name Description Value
sourceConnectionInfo Information for connecting to Oracle source OracleConnectionInfo (required)

ConnectToSourceOracleSyncTaskProperties

Name Description Value
input Task input ConnectToSourceOracleSyncTaskInput
taskType Task type. 'ConnectToSource.Oracle.Sync' (required)

ConnectToSourcePostgreSqlSyncTaskInput

Name Description Value
sourceConnectionInfo Connection information for source PostgreSQL server PostgreSqlConnectionInfo (required)

ConnectToSourcePostgreSqlSyncTaskProperties

Name Description Value
input Task input ConnectToSourcePostgreSqlSyncTaskInput
taskType Task type. 'ConnectToSource.PostgreSql.Sync' (required)

ConnectToSourceSqlServerSyncTaskProperties

Name Description Value
input Task input ConnectToSourceSqlServerTaskInput
taskType Task type. 'ConnectToSource.SqlServer.Sync' (required)

ConnectToSourceSqlServerTaskInput

Name Description Value
checkPermissionsGroup Permission group for validations 'Default'
'MigrationFromMySQLToAzureDBForMySQL'
'MigrationFromSqlServerToAzureDB'
'MigrationFromSqlServerToAzureMI'
'MigrationFromSqlServerToAzureVM'
collectAgentJobs Flag for whether to collect agent jobs from source server. bool
collectDatabases Flag for whether to collect databases from source server. bool
collectLogins Flag for whether to collect logins from source server. bool
collectTdeCertificateInfo Flag for whether to collect TDE Certificate names from source server. bool
encryptedKeyForSecureFields encrypted key for secure fields string
sourceConnectionInfo Connection information for Source SQL Server SqlConnectionInfo (required)
validateSsisCatalogOnly Flag for whether to validate SSIS catalog is reachable on the source server. bool

ConnectToSourceSqlServerTaskProperties

Name Description Value
input Task input ConnectToSourceSqlServerTaskInput
taskId Task id string
taskType Task type. 'ConnectToSource.SqlServer' (required)

ConnectToTargetAzureDbForMySqlTaskInput

Name Description Value
isOfflineMigration Flag for whether or not the migration is offline bool
sourceConnectionInfo Connection information for source MySQL server MySqlConnectionInfo (required)
targetConnectionInfo Connection information for target Azure Database for MySQL server MySqlConnectionInfo (required)

ConnectToTargetAzureDbForMySqlTaskProperties

Name Description Value
input Task input ConnectToTargetAzureDbForMySqlTaskInput
taskType Task type. 'ConnectToTarget.AzureDbForMySql' (required)

ConnectToTargetAzureDbForPostgreSqlSyncTaskInput

Name Description Value
sourceConnectionInfo Connection information for source PostgreSQL server PostgreSqlConnectionInfo (required)
targetConnectionInfo Connection information for target Azure Database for PostgreSQL server PostgreSqlConnectionInfo (required)

ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties

Name Description Value
input Task input ConnectToTargetAzureDbForPostgreSqlSyncTaskInput
taskType Task type. 'ConnectToTarget.AzureDbForPostgreSql.Sync' (required)

ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput

Name Description Value
targetConnectionInfo Connection information for target Azure Database for PostgreSQL server PostgreSqlConnectionInfo (required)

ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties

Name Description Value
input Task input ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput
taskType Task type. 'ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync' (required)

ConnectToTargetSqlDbSyncTaskInput

Name Description Value
sourceConnectionInfo Connection information for source SQL Server SqlConnectionInfo (required)
targetConnectionInfo Connection information for target SQL DB SqlConnectionInfo (required)

ConnectToTargetSqlDbSyncTaskProperties

Name Description Value
input Task input ConnectToTargetSqlDbSyncTaskInput
taskType Task type. 'ConnectToTarget.SqlDb.Sync' (required)

ConnectToTargetSqlDbTaskInput

Name Description Value
queryObjectCounts Boolean flag indicating whether to query object counts for each database on the target server bool
targetConnectionInfo Connection information for target SQL DB SqlConnectionInfo (required)

ConnectToTargetSqlDbTaskProperties

Name Description Value
createdOn DateTime in UTC when the task was created string
input Task input ConnectToTargetSqlDbTaskInput
taskType Task type. 'ConnectToTarget.SqlDb' (required)

ConnectToTargetSqlMISyncTaskInput

Name Description Value
azureApp Azure Active Directory Application the DMS (classic) instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account AzureActiveDirectoryApp (required)
targetConnectionInfo Connection information for Azure SQL Database Managed Instance MiSqlConnectionInfo (required)

ConnectToTargetSqlMISyncTaskProperties

Name Description Value
input Task input ConnectToTargetSqlMISyncTaskInput
taskType Task type. 'ConnectToTarget.AzureSqlDbMI.Sync.LRS' (required)

ConnectToTargetSqlMITaskInput

Name Description Value
collectAgentJobs Flag for whether to collect agent jobs from target SQL MI server. bool
collectLogins Flag for whether to collect logins from target SQL MI server. bool
targetConnectionInfo Connection information for target SQL Server SqlConnectionInfo (required)
validateSsisCatalogOnly Flag for whether to validate SSIS catalog is reachable on the target SQL MI server. bool

ConnectToTargetSqlMITaskProperties

Name Description Value
input Task input ConnectToTargetSqlMITaskInput
taskType Task type. 'ConnectToTarget.AzureSqlDbMI' (required)

FileShare

Name Description Value
password Password credential used to connect to the share location. string
path The folder path for this share. string (required)
userName User name credential to connect to the share location string

GetTdeCertificatesSqlTaskInput

Name Description Value
backupFileShare Backup file share information for file share to be used for temporarily storing files. FileShare (required)
connectionInfo Connection information for SQL Server SqlConnectionInfo (required)
selectedCertificates List containing certificate names and corresponding password to use for encrypting the exported certificate. SelectedCertificateInput[] (required)

GetTdeCertificatesSqlTaskProperties

Name Description Value
input Task input GetTdeCertificatesSqlTaskInput
taskType Task type. 'GetTDECertificates.Sql' (required)

GetUserTablesMySqlTaskInput

Name Description Value
connectionInfo Connection information for SQL Server MySqlConnectionInfo (required)
selectedDatabases List of database names to collect tables for string[] (required)

GetUserTablesMySqlTaskProperties

Name Description Value
input Task input GetUserTablesMySqlTaskInput
taskType Task type. 'GetUserTablesMySql' (required)

GetUserTablesOracleTaskInput

Name Description Value
connectionInfo Information for connecting to Oracle source OracleConnectionInfo (required)
selectedSchemas List of Oracle schemas for which to collect tables string[] (required)

GetUserTablesOracleTaskProperties

Name Description Value
input Task input GetUserTablesOracleTaskInput
taskType Task type. 'GetUserTablesOracle' (required)

GetUserTablesPostgreSqlTaskInput

Name Description Value
connectionInfo Information for connecting to PostgreSQL source PostgreSqlConnectionInfo (required)
selectedDatabases List of PostgreSQL databases for which to collect tables string[] (required)

GetUserTablesPostgreSqlTaskProperties

Name Description Value
input Task input GetUserTablesPostgreSqlTaskInput
taskType Task type. 'GetUserTablesPostgreSql' (required)

GetUserTablesSqlSyncTaskInput

Name Description Value
selectedSourceDatabases List of source database names to collect tables for string[] (required)
selectedTargetDatabases List of target database names to collect tables for string[] (required)
sourceConnectionInfo Connection information for SQL Server SqlConnectionInfo (required)
targetConnectionInfo Connection information for SQL DB SqlConnectionInfo (required)

GetUserTablesSqlSyncTaskProperties

Name Description Value
input Task input GetUserTablesSqlSyncTaskInput
taskType Task type. 'GetUserTables.AzureSqlDb.Sync' (required)

GetUserTablesSqlTaskInput

Name Description Value
connectionInfo Connection information for SQL Server SqlConnectionInfo (required)
encryptedKeyForSecureFields encrypted key for secure fields string
selectedDatabases List of database names to collect tables for string[] (required)

GetUserTablesSqlTaskProperties

Name Description Value
input Task input GetUserTablesSqlTaskInput
taskId Task id string
taskType Task type. 'GetUserTables.Sql' (required)

InstallOCIDriverTaskInput

Name Description Value
driverPackageName Name of the uploaded driver package to install. string

InstallOCIDriverTaskProperties

Name Description Value
input Input for the service task to install an OCI driver. InstallOCIDriverTaskInput
taskType Task type. 'Service.Install.OCI' (required)

MigrateMongoDbTaskProperties

Name Description Value
input Describes how a MongoDB data migration should be performed MongoDbMigrationSettings
taskType Task type. 'Migrate.MongoDb' (required)

MigrateMySqlAzureDbForMySqlOfflineDatabaseInput

Name Description Value
name Name of the database string
tableMap Mapping of source to target tables MigrateMySqlAzureDbForMySqlOfflineDatabaseInputTableMap
targetDatabaseName Name of target database. Note: Target database will be truncated before starting migration. string

MigrateMySqlAzureDbForMySqlOfflineDatabaseInputTableMap

Name Description Value

MigrateMySqlAzureDbForMySqlOfflineTaskInput

Name Description Value
encryptedKeyForSecureFields encrypted key for secure fields string
makeSourceServerReadOnly Setting to set the source server read only bool
optionalAgentSettings Optional parameters for fine tuning the data transfer rate during migration MigrateMySqlAzureDbForMySqlOfflineTaskInputOptionalAgentSettings
selectedDatabases Databases to migrate MigrateMySqlAzureDbForMySqlOfflineDatabaseInput[] (required)
sourceConnectionInfo Connection information for source MySQL MySqlConnectionInfo (required)
startedOn Parameter to specify when the migration started string
targetConnectionInfo Connection information for target Azure Database for MySQL MySqlConnectionInfo (required)

MigrateMySqlAzureDbForMySqlOfflineTaskInputOptionalAgentSettings

Name Description Value

MigrateMySqlAzureDbForMySqlOfflineTaskProperties

Name Description Value
input Task input MigrateMySqlAzureDbForMySqlOfflineTaskInput
isCloneable whether the task can be cloned or not bool
taskId Task id string
taskType Task type. 'Migrate.MySql.AzureDbForMySql' (required)

MigrateMySqlAzureDbForMySqlSyncDatabaseInput

Name Description Value
migrationSetting Migration settings which tune the migration behavior MigrateMySqlAzureDbForMySqlSyncDatabaseInputMigrationSetting
name Name of the database string
sourceSetting Source settings to tune source endpoint migration behavior MigrateMySqlAzureDbForMySqlSyncDatabaseInputSourceSetting
tableMap Mapping of source to target tables MigrateMySqlAzureDbForMySqlSyncDatabaseInputTableMap
targetDatabaseName Name of target database. Note: Target database will be truncated before starting migration. string
targetSetting Target settings to tune target endpoint migration behavior MigrateMySqlAzureDbForMySqlSyncDatabaseInputTargetSetting

MigrateMySqlAzureDbForMySqlSyncDatabaseInputMigrationSetting

Name Description Value

MigrateMySqlAzureDbForMySqlSyncDatabaseInputSourceSetting

Name Description Value

MigrateMySqlAzureDbForMySqlSyncDatabaseInputTableMap

Name Description Value

MigrateMySqlAzureDbForMySqlSyncDatabaseInputTargetSetting

Name Description Value

MigrateMySqlAzureDbForMySqlSyncTaskInput

Name Description Value
selectedDatabases Databases to migrate MigrateMySqlAzureDbForMySqlSyncDatabaseInput[] (required)
sourceConnectionInfo Connection information for source MySQL MySqlConnectionInfo (required)
targetConnectionInfo Connection information for target Azure Database for MySQL MySqlConnectionInfo (required)

MigrateMySqlAzureDbForMySqlSyncTaskProperties

Name Description Value
input Task input MigrateMySqlAzureDbForMySqlSyncTaskInput
taskType Task type. 'Migrate.MySql.AzureDbForMySql.Sync' (required)

MigrateOracleAzureDbForPostgreSqlSyncTaskProperties

Name Description Value
input Task input MigrateOracleAzureDbPostgreSqlSyncTaskInput
taskType Task type. 'Migrate.Oracle.AzureDbForPostgreSql.Sync' (required)

MigrateOracleAzureDbPostgreSqlSyncDatabaseInput

Name Description Value
caseManipulation How to handle object name casing: either Preserve or ToLower string
migrationSetting Migration settings which tune the migration behavior MigrateOracleAzureDbPostgreSqlSyncDatabaseInputMigrationSetting
name Name of the migration pipeline string
schemaName Name of the source schema string
sourceSetting Source settings to tune source endpoint migration behavior MigrateOracleAzureDbPostgreSqlSyncDatabaseInputSourceSetting
tableMap Mapping of source to target tables MigrateOracleAzureDbPostgreSqlSyncDatabaseInputTableMap
targetDatabaseName Name of target database. Note: Target database will be truncated before starting migration. string
targetSetting Target settings to tune target endpoint migration behavior MigrateOracleAzureDbPostgreSqlSyncDatabaseInputTargetSetting

MigrateOracleAzureDbPostgreSqlSyncDatabaseInputMigrationSetting

Name Description Value

MigrateOracleAzureDbPostgreSqlSyncDatabaseInputSourceSetting

Name Description Value

MigrateOracleAzureDbPostgreSqlSyncDatabaseInputTableMap

Name Description Value

MigrateOracleAzureDbPostgreSqlSyncDatabaseInputTargetSetting

Name Description Value

MigrateOracleAzureDbPostgreSqlSyncTaskInput

Name Description Value
selectedDatabases Databases to migrate MigrateOracleAzureDbPostgreSqlSyncDatabaseInput[] (required)
sourceConnectionInfo Connection information for source Oracle OracleConnectionInfo (required)
targetConnectionInfo Connection information for target Azure Database for PostgreSQL PostgreSqlConnectionInfo (required)

MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput

Name Description Value
migrationSetting Migration settings which tune the migration behavior MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputMigrationSetting
name Name of the database string
selectedTables Tables selected for migration MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput[]
sourceSetting Source settings to tune source endpoint migration behavior MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputSourceSetting
targetDatabaseName Name of target database. Note: Target database will be truncated before starting migration. string
targetSetting Target settings to tune target endpoint migration behavior MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputTargetSetting

MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputMigrationSetting

Name Description Value

MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputSourceSetting

Name Description Value

MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputTargetSetting

Name Description Value

MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput

Name Description Value
name Name of the table to migrate string

MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput

Name Description Value
encryptedKeyForSecureFields encrypted key for secure fields string
selectedDatabases Databases to migrate MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput[] (required)
sourceConnectionInfo Connection information for source PostgreSQL PostgreSqlConnectionInfo (required)
targetConnectionInfo Connection information for target Azure Database for PostgreSQL PostgreSqlConnectionInfo (required)

MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties

Name Description Value
createdOn DateTime in UTC when the task was created string
input Task input MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput
isCloneable whether the task can be cloned or not bool
taskId task id string
taskType Task type. 'Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2' (required)

MigrateSchemaSqlServerSqlDbDatabaseInput

Name Description Value
id Id of the source database string
name Name of source database string
schemaSetting Database schema migration settings SchemaMigrationSetting
targetDatabaseName Name of target database string

MigrateSchemaSqlServerSqlDbTaskInput

Name Description Value
encryptedKeyForSecureFields encrypted key for secure fields string
selectedDatabases Databases to migrate MigrateSchemaSqlServerSqlDbDatabaseInput[] (required)
sourceConnectionInfo Information for connecting to source SqlConnectionInfo (required)
startedOn Migration start time string
targetConnectionInfo Information for connecting to target SqlConnectionInfo (required)

MigrateSchemaSqlServerSqlDbTaskProperties

Name Description Value
createdOn DateTime in UTC when the task was created string
input Task input MigrateSchemaSqlServerSqlDbTaskInput
isCloneable whether the task can be cloned or not bool
taskId Task id string
taskType Task type. 'MigrateSchemaSqlServerSqlDb' (required)

MigrateSqlServerSqlDbDatabaseInput

Name Description Value
id id of the database string
makeSourceDbReadOnly Whether to set database read only before migration bool
name Name of the database string
schemaSetting Settings selected for DB schema migration. any
tableMap Mapping of source to target tables MigrateSqlServerSqlDbDatabaseInputTableMap
targetDatabaseName Name of target database. Note: Target database will be truncated before starting migration. string

MigrateSqlServerSqlDbDatabaseInputTableMap

Name Description Value

MigrateSqlServerSqlDbSyncDatabaseInput

Name Description Value
id Unique identifier for database string
migrationSetting Migration settings which tune the migration behavior MigrateSqlServerSqlDbSyncDatabaseInputMigrationSetting
name Name of database string
schemaName Schema name to be migrated string
sourceSetting Source settings to tune source endpoint migration behavior MigrateSqlServerSqlDbSyncDatabaseInputSourceSetting
tableMap Mapping of source to target tables MigrateSqlServerSqlDbSyncDatabaseInputTableMap
targetDatabaseName Target database name string
targetSetting Target settings to tune target endpoint migration behavior MigrateSqlServerSqlDbSyncDatabaseInputTargetSetting

MigrateSqlServerSqlDbSyncDatabaseInputMigrationSetting

Name Description Value

MigrateSqlServerSqlDbSyncDatabaseInputSourceSetting

Name Description Value

MigrateSqlServerSqlDbSyncDatabaseInputTableMap

Name Description Value

MigrateSqlServerSqlDbSyncDatabaseInputTargetSetting

Name Description Value

MigrateSqlServerSqlDbSyncTaskInput

Name Description Value
selectedDatabases Databases to migrate MigrateSqlServerSqlDbSyncDatabaseInput[] (required)
sourceConnectionInfo Information for connecting to source SqlConnectionInfo (required)
targetConnectionInfo Information for connecting to target SqlConnectionInfo (required)
validationOptions Validation options MigrationValidationOptions

MigrateSqlServerSqlDbSyncTaskProperties

Name Description Value
input Task input MigrateSqlServerSqlDbSyncTaskInput
taskType Task type. 'Migrate.SqlServer.AzureSqlDb.Sync' (required)

MigrateSqlServerSqlDbTaskInput

Name Description Value
encryptedKeyForSecureFields encrypted key for secure fields string
selectedDatabases Databases to migrate MigrateSqlServerSqlDbDatabaseInput[] (required)
sourceConnectionInfo Information for connecting to source SqlConnectionInfo (required)
startedOn Date and time relative to UTC when the migration was started on string
targetConnectionInfo Information for connecting to target SqlConnectionInfo (required)
validationOptions 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.
MigrationValidationOptions

MigrateSqlServerSqlDbTaskProperties

Name Description Value
createdOn DateTime in UTC when the task was created string
input Task input MigrateSqlServerSqlDbTaskInput
isCloneable whether the task can be cloned or not bool
taskId task id string
taskType Task type. 'Migrate.SqlServer.SqlDb' (required)

MigrateSqlServerSqlMIDatabaseInput

Name Description Value
backupFilePaths The list of backup files to be used in case of existing backups. string[]
backupFileShare Backup file share information for backing up this database. FileShare
id id of the database string
name Name of the database string (required)
restoreDatabaseName Name of the database at destination string (required)

MigrateSqlServerSqlMISyncTaskInput

Name Description Value
azureApp Azure Active Directory Application the DMS (classic) instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account AzureActiveDirectoryApp (required)
backupFileShare Backup file share information for all selected databases. FileShare
numberOfParallelDatabaseMigrations Number of database migrations to start in parallel int
selectedDatabases Databases to migrate MigrateSqlServerSqlMIDatabaseInput[] (required)
sourceConnectionInfo Connection information for source SQL Server SqlConnectionInfo (required)
storageResourceId Fully qualified resourceId of storage string (required)
targetConnectionInfo Connection information for Azure SQL Database Managed Instance MiSqlConnectionInfo (required)

MigrateSqlServerSqlMISyncTaskProperties

Name Description Value
createdOn DateTime in UTC when the task was created string
input Task input MigrateSqlServerSqlMISyncTaskInput
taskType Task type. 'Migrate.SqlServer.AzureSqlDbMI.Sync.LRS' (required)

MigrateSqlServerSqlMITaskInput

Name Description Value
aadDomainName Azure Active Directory domain name in the format of 'contoso.com' for federated Azure AD or 'contoso.onmicrosoft.com' for managed domain, required if and only if Windows logins are selected string
backupBlobShare SAS URI of Azure Storage Account Container to be used for storing backup files. BlobShare (required)
backupFileShare Backup file share information for all selected databases. FileShare
backupMode 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. 'CreateBackup'
'ExistingBackup'
encryptedKeyForSecureFields encrypted key for secure fields string
selectedAgentJobs Agent Jobs to migrate. string[]
selectedDatabases Databases to migrate MigrateSqlServerSqlMIDatabaseInput[] (required)
selectedLogins Logins to migrate. string[]
sourceConnectionInfo Information for connecting to source SqlConnectionInfo (required)
startedOn Date and time relative to UTC when the migration was started on string
targetConnectionInfo Information for connecting to target SqlConnectionInfo (required)

MigrateSqlServerSqlMITaskProperties

Name Description Value
createdOn DateTime in UTC when the task was created string
input Task input MigrateSqlServerSqlMITaskInput
isCloneable whether the task can be cloned or not bool
parentTaskId parent task id string
taskId task id string
taskType Task type. 'Migrate.SqlServer.AzureSqlDbMI' (required)

MigrateSsisTaskInput

Name Description Value
sourceConnectionInfo Information for connecting to source SqlConnectionInfo (required)
ssisMigrationInfo SSIS package migration information. SsisMigrationInfo (required)
targetConnectionInfo Information for connecting to target SqlConnectionInfo (required)

MigrateSsisTaskProperties

Name Description Value
input Task input MigrateSsisTaskInput
taskType Task type. 'Migrate.Ssis' (required)

MigrationValidationOptions

Name Description Value
enableDataIntegrityValidation Allows to perform a checksum based data integrity validation between source and target for the selected database / tables . bool
enableQueryAnalysisValidation 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. bool
enableSchemaValidation Allows to compare the schema information between source and target. bool

MiSqlConnectionInfo

Name Description Value
managedInstanceResourceId Resource id for Azure SQL database Managed instance string (required)
password Password credential. string
type Type of connection info string (required)
userName User name string

MongoDbCollectionSettings

Name Description Value
canDelete Whether the migrator is allowed to drop the target collection in the course of performing a migration. The default is true. bool
shardKey Describes a MongoDB shard key MongoDbShardKeySetting
targetRUs The RUs that should be configured on a CosmosDB target, or null to use the default. This has no effect on non-CosmosDB targets. int

MongoDbConnectionInfo

Name Description Value
additionalSettings Additional connection settings string
authentication Authentication type to use for connection 'ActiveDirectoryIntegrated'
'ActiveDirectoryPassword'
'None'
'SqlAuthentication'
'WindowsAuthentication'
connectionString A MongoDB connection string or blob container URL. The user name and password can be specified here or in the userName and password properties string (required)
dataSource Data source string
encryptConnection Whether to encrypt the connection bool
enforceSSL bool
password Password credential. string
port port for server int
serverBrandVersion server brand version string
serverName name of the server string
serverVersion server version string
trustServerCertificate Whether to trust the server certificate bool
type Type of connection info string (required)
userName User name string

MongoDbDatabaseSettings

Name Description Value
collections The collections on the source database to migrate to the target. The keys are the unqualified names of the collections. MongoDbDatabaseSettingsCollections (required)
targetRUs 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. int

MongoDbDatabaseSettingsCollections

Name Description Value

MongoDbMigrationSettings

Name Description Value
boostRUs 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. int
databases The databases on the source cluster to migrate to the target. The keys are the names of the databases. MongoDbMigrationSettingsDatabases (required)
replication Describes how changes will be replicated from the source to the target. The default is OneTime. 'Continuous'
'Disabled'
'OneTime'
source Settings used to connect to the source cluster MongoDbConnectionInfo (required)
target Settings used to connect to the target cluster MongoDbConnectionInfo (required)
throttling Settings used to limit the resource usage of the migration MongoDbThrottlingSettings

MongoDbMigrationSettingsDatabases

Name Description Value

MongoDbShardKeyField

Name Description Value
name The name of the field string (required)
order The field ordering 'Forward'
'Hashed'
'Reverse' (required)

MongoDbShardKeySetting

Name Description Value
fields The fields within the shard key MongoDbShardKeyField[] (required)
isUnique Whether the shard key is unique bool

MongoDbThrottlingSettings

Name Description Value
maxParallelism The maximum number of work items (e.g. collection copies) that will be processed in parallel int
minFreeCpu The percentage of CPU time that the migrator will try to avoid using, from 0 to 100 int
minFreeMemoryMb The number of megabytes of RAM that the migrator will try to avoid using int

MySqlConnectionInfo

Name Description Value
additionalSettings Additional connection settings string
authentication Authentication type to use for connection 'ActiveDirectoryIntegrated'
'ActiveDirectoryPassword'
'None'
'SqlAuthentication'
'WindowsAuthentication'
dataSource Data source string
encryptConnection Whether to encrypt the connection bool
password Password credential. string
port Port for Server int (required)
serverName Name of the server string (required)
type Type of connection info string (required)
userName User name string

OracleConnectionInfo

Name Description Value
authentication Authentication type to use for connection 'ActiveDirectoryIntegrated'
'ActiveDirectoryPassword'
'None'
'SqlAuthentication'
'WindowsAuthentication'
dataSource EZConnect or TNSName connection string. string (required)
password Password credential. string
port port for server int
serverName name of the server string
serverVersion server version string
type Type of connection info string (required)
userName User name string

PostgreSqlConnectionInfo

Name Description Value
additionalSettings Additional connection settings string
authentication Authentication type to use for connection 'ActiveDirectoryIntegrated'
'ActiveDirectoryPassword'
'None'
'SqlAuthentication'
'WindowsAuthentication'
databaseName Name of the database string
dataSource Data source string
encryptConnection Whether to encrypt the connection bool
password Password credential. string
port Port for Server int (required)
serverBrandVersion server brand version string
serverName Name of the server string (required)
serverVersion server version string
trustServerCertificate Whether to trust the server certificate bool
type Type of connection info string (required)
userName User name string

ProjectTaskProperties

Name Description Value
clientData Key value pairs of client data to attach meta data information to task ProjectTaskPropertiesClientData
taskType Set to 'Connect.MongoDb' for type ConnectToMongoDbTaskProperties. Set to 'ConnectToSource.MySql' for type ConnectToSourceMySqlTaskProperties. Set to 'ConnectToSource.Oracle.Sync' for type ConnectToSourceOracleSyncTaskProperties. Set to 'ConnectToSource.PostgreSql.Sync' for type ConnectToSourcePostgreSqlSyncTaskProperties. Set to 'ConnectToSource.SqlServer' for type ConnectToSourceSqlServerTaskProperties. Set to 'ConnectToSource.SqlServer.Sync' for type ConnectToSourceSqlServerSyncTaskProperties. Set to 'ConnectToTarget.AzureDbForMySql' for type ConnectToTargetAzureDbForMySqlTaskProperties. Set to 'ConnectToTarget.AzureDbForPostgreSql.Sync' for type ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties. Set to 'ConnectToTarget.AzureSqlDbMI' for type ConnectToTargetSqlMITaskProperties. Set to 'ConnectToTarget.AzureSqlDbMI.Sync.LRS' for type ConnectToTargetSqlMISyncTaskProperties. Set to 'ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync' for type ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties. Set to 'ConnectToTarget.SqlDb' for type ConnectToTargetSqlDbTaskProperties. Set to 'ConnectToTarget.SqlDb.Sync' for type ConnectToTargetSqlDbSyncTaskProperties. Set to 'GetTDECertificates.Sql' for type GetTdeCertificatesSqlTaskProperties. Set to 'GetUserTables.AzureSqlDb.Sync' for type GetUserTablesSqlSyncTaskProperties. Set to 'GetUserTables.Sql' for type GetUserTablesSqlTaskProperties. Set to 'GetUserTablesMySql' for type GetUserTablesMySqlTaskProperties. Set to 'GetUserTablesOracle' for type GetUserTablesOracleTaskProperties. Set to 'GetUserTablesPostgreSql' for type GetUserTablesPostgreSqlTaskProperties. Set to 'Migrate.MongoDb' for type MigrateMongoDbTaskProperties. Set to 'Migrate.MySql.AzureDbForMySql' for type MigrateMySqlAzureDbForMySqlOfflineTaskProperties. Set to 'Migrate.MySql.AzureDbForMySql.Sync' for type MigrateMySqlAzureDbForMySqlSyncTaskProperties. Set to 'Migrate.Oracle.AzureDbForPostgreSql.Sync' for type MigrateOracleAzureDbForPostgreSqlSyncTaskProperties. Set to 'Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2' for type MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties. Set to 'Migrate.SqlServer.AzureSqlDb.Sync' for type MigrateSqlServerSqlDbSyncTaskProperties. Set to 'Migrate.SqlServer.AzureSqlDbMI' for type MigrateSqlServerSqlMITaskProperties. Set to 'Migrate.SqlServer.AzureSqlDbMI.Sync.LRS' for type MigrateSqlServerSqlMISyncTaskProperties. Set to 'Migrate.SqlServer.SqlDb' for type MigrateSqlServerSqlDbTaskProperties. Set to 'Migrate.Ssis' for type MigrateSsisTaskProperties. Set to 'MigrateSchemaSqlServerSqlDb' for type MigrateSchemaSqlServerSqlDbTaskProperties. Set to 'Service.Check.OCI' for type CheckOCIDriverTaskProperties. Set to 'Service.Install.OCI' for type InstallOCIDriverTaskProperties. Set to 'Service.Upload.OCI' for type UploadOCIDriverTaskProperties. Set to 'Validate.MongoDb' for type ValidateMongoDbTaskProperties. Set to 'Validate.Oracle.AzureDbPostgreSql.Sync' for type ValidateOracleAzureDbForPostgreSqlSyncTaskProperties. Set to 'ValidateMigrationInput.SqlServer.AzureSqlDbMI' for type ValidateMigrationInputSqlServerSqlMITaskProperties. Set to 'ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS' for type ValidateMigrationInputSqlServerSqlMISyncTaskProperties. Set to 'ValidateMigrationInput.SqlServer.SqlDb.Sync' for type ValidateMigrationInputSqlServerSqlDbSyncTaskProperties. 'Connect.MongoDb'
'ConnectToSource.MySql'
'ConnectToSource.Oracle.Sync'
'ConnectToSource.PostgreSql.Sync'
'ConnectToSource.SqlServer'
'ConnectToSource.SqlServer.Sync'
'ConnectToTarget.AzureDbForMySql'
'ConnectToTarget.AzureDbForPostgreSql.Sync'
'ConnectToTarget.AzureSqlDbMI'
'ConnectToTarget.AzureSqlDbMI.Sync.LRS'
'ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync'
'ConnectToTarget.SqlDb'
'ConnectToTarget.SqlDb.Sync'
'GetTDECertificates.Sql'
'GetUserTables.AzureSqlDb.Sync'
'GetUserTables.Sql'
'GetUserTablesMySql'
'GetUserTablesOracle'
'GetUserTablesPostgreSql'
'Migrate.MongoDb'
'Migrate.MySql.AzureDbForMySql'
'Migrate.MySql.AzureDbForMySql.Sync'
'Migrate.Oracle.AzureDbForPostgreSql.Sync'
'Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2'
'Migrate.SqlServer.AzureSqlDb.Sync'
'Migrate.SqlServer.AzureSqlDbMI'
'Migrate.SqlServer.AzureSqlDbMI.Sync.LRS'
'Migrate.SqlServer.SqlDb'
'Migrate.Ssis'
'MigrateSchemaSqlServerSqlDb'
'Service.Check.OCI'
'Service.Install.OCI'
'Service.Upload.OCI'
'Validate.MongoDb'
'Validate.Oracle.AzureDbPostgreSql.Sync'
'ValidateMigrationInput.SqlServer.AzureSqlDbMI'
'ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS'
'ValidateMigrationInput.SqlServer.SqlDb.Sync' (required)

ProjectTaskPropertiesClientData

Name Description Value

SchemaMigrationSetting

Name Description Value
fileId Resource Identifier of a file resource containing the uploaded schema file string
fileName Name of the file resource containing the uploaded schema file string
schemaOption Option on how to migrate the schema 'ExtractFromSource'
'None'
'UseStorageFile'

SelectedCertificateInput

Name Description Value
certificateName Name of certificate to be exported. string (required)
password Password to use for encrypting the exported certificate. string (required)

SqlConnectionInfo

Name Description Value
additionalSettings Additional connection settings string
authentication Authentication type to use for connection 'ActiveDirectoryIntegrated'
'ActiveDirectoryPassword'
'None'
'SqlAuthentication'
'WindowsAuthentication'
dataSource Data source in the format Protocol:MachineName\SQLServerInstanceName,PortNumber string (required)
encryptConnection Whether to encrypt the connection bool
password Password credential. string
platform Server platform type for connection 'SqlOnPrem'
port Port for Server int
resourceId Represents the ID of an HTTP resource represented by an Azure resource provider. string
serverBrandVersion server brand version string
serverName name of the server string
serverVersion server version string
trustServerCertificate Whether to trust the server certificate bool
type Type of connection info string (required)
userName User name string

SsisMigrationInfo

Name Description Value
environmentOverwriteOption The overwrite option for the SSIS environment migration 'Ignore'
'Overwrite'
projectOverwriteOption The overwrite option for the SSIS project migration 'Ignore'
'Overwrite'
ssisStoreType The SSIS store type of source, only SSIS catalog is supported now in DMS (classic) 'SsisCatalog'

UploadOCIDriverTaskInput

Name Description Value
driverShare File share information for the OCI driver archive. FileShare

UploadOCIDriverTaskProperties

Name Description Value
input Input for the service task to upload an OCI driver. UploadOCIDriverTaskInput
taskType Task type. 'Service.Upload.OCI' (required)

ValidateMigrationInputSqlServerSqlDbSyncTaskProperties

Name Description Value
input Task input ValidateSyncMigrationInputSqlServerTaskInput
taskType Task type. 'ValidateMigrationInput.SqlServer.SqlDb.Sync' (required)

ValidateMigrationInputSqlServerSqlMISyncTaskInput

Name Description Value
azureApp Azure Active Directory Application the DMS (classic) instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account AzureActiveDirectoryApp (required)
backupFileShare Backup file share information for all selected databases. FileShare
selectedDatabases Databases to migrate MigrateSqlServerSqlMIDatabaseInput[] (required)
sourceConnectionInfo Connection information for source SQL Server SqlConnectionInfo (required)
storageResourceId Fully qualified resourceId of storage string (required)
targetConnectionInfo Connection information for Azure SQL Database Managed Instance MiSqlConnectionInfo (required)

ValidateMigrationInputSqlServerSqlMISyncTaskProperties

Name Description Value
input Task input ValidateMigrationInputSqlServerSqlMISyncTaskInput
taskType Task type. 'ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS' (required)

ValidateMigrationInputSqlServerSqlMITaskInput

Name Description Value
backupBlobShare SAS URI of Azure Storage Account Container to be used for storing backup files. BlobShare (required)
backupFileShare Backup file share information for all selected databases. FileShare
backupMode Backup Mode to specify whether to use existing backup or create new backup. 'CreateBackup'
'ExistingBackup'
selectedDatabases Databases to migrate MigrateSqlServerSqlMIDatabaseInput[] (required)
selectedLogins Logins to migrate string[]
sourceConnectionInfo Information for connecting to source SqlConnectionInfo (required)
targetConnectionInfo Information for connecting to target SqlConnectionInfo (required)

ValidateMigrationInputSqlServerSqlMITaskProperties

Name Description Value
input Task input ValidateMigrationInputSqlServerSqlMITaskInput
taskType Task type. 'ValidateMigrationInput.SqlServer.AzureSqlDbMI' (required)

ValidateMongoDbTaskProperties

Name Description Value
input Describes how a MongoDB data migration should be performed MongoDbMigrationSettings
taskType Task type. 'Validate.MongoDb' (required)

ValidateOracleAzureDbForPostgreSqlSyncTaskProperties

Name Description Value
input Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations MigrateOracleAzureDbPostgreSqlSyncTaskInput
taskType Task type. 'Validate.Oracle.AzureDbPostgreSql.Sync' (required)

ValidateSyncMigrationInputSqlServerTaskInput

Name Description Value
selectedDatabases Databases to migrate MigrateSqlServerSqlDbSyncDatabaseInput[] (required)
sourceConnectionInfo Information for connecting to source SQL server SqlConnectionInfo (required)
targetConnectionInfo Information for connecting to target SqlConnectionInfo (required)

Usage Examples

Terraform (AzAPI provider) resource definition

The services/projects/tasks resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.DataMigration/services/projects/tasks resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DataMigration/services/projects/tasks@2025-03-15-preview"
  name = "string"
  parent_id = "string"
  body = {
    etag = "string"
    properties = {
      clientData = {
        {customized property} = "string"
      }
      taskType = "string"
      // For remaining properties, see ProjectTaskProperties objects
    }
  }
}

ProjectTaskProperties objects

Set the taskType property to specify the type of object.

For Connect.MongoDb, use:

{
  input = {
    additionalSettings = "string"
    authentication = "string"
    connectionString = "string"
    dataSource = "string"
    encryptConnection = bool
    enforceSSL = bool
    password = "string"
    port = int
    serverBrandVersion = "string"
    serverName = "string"
    serverVersion = "string"
    trustServerCertificate = bool
    type = "string"
    userName = "string"
  }
  taskType = "Connect.MongoDb"
}

For ConnectToSource.MySql, use:

{
  input = {
    checkPermissionsGroup = "string"
    isOfflineMigration = bool
    sourceConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      port = int
      serverName = "string"
      type = "string"
      userName = "string"
    }
    targetPlatform = "string"
  }
  taskType = "ConnectToSource.MySql"
}

For ConnectToSource.Oracle.Sync, use:

{
  input = {
    sourceConnectionInfo = {
      authentication = "string"
      dataSource = "string"
      password = "string"
      port = int
      serverName = "string"
      serverVersion = "string"
      type = "string"
      userName = "string"
    }
  }
  taskType = "ConnectToSource.Oracle.Sync"
}

For ConnectToSource.PostgreSql.Sync, use:

{
  input = {
    sourceConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      databaseName = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      port = int
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
  }
  taskType = "ConnectToSource.PostgreSql.Sync"
}

For ConnectToSource.SqlServer, use:

{
  input = {
    checkPermissionsGroup = "string"
    collectAgentJobs = bool
    collectDatabases = bool
    collectLogins = bool
    collectTdeCertificateInfo = bool
    encryptedKeyForSecureFields = "string"
    sourceConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    validateSsisCatalogOnly = bool
  }
  taskId = "string"
  taskType = "ConnectToSource.SqlServer"
}

For ConnectToSource.SqlServer.Sync, use:

{
  input = {
    checkPermissionsGroup = "string"
    collectAgentJobs = bool
    collectDatabases = bool
    collectLogins = bool
    collectTdeCertificateInfo = bool
    encryptedKeyForSecureFields = "string"
    sourceConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    validateSsisCatalogOnly = bool
  }
  taskType = "ConnectToSource.SqlServer.Sync"
}

For ConnectToTarget.AzureDbForMySql, use:

{
  input = {
    isOfflineMigration = bool
    sourceConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      port = int
      serverName = "string"
      type = "string"
      userName = "string"
    }
    targetConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      port = int
      serverName = "string"
      type = "string"
      userName = "string"
    }
  }
  taskType = "ConnectToTarget.AzureDbForMySql"
}

For ConnectToTarget.AzureDbForPostgreSql.Sync, use:

{
  input = {
    sourceConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      databaseName = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      port = int
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    targetConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      databaseName = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      port = int
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
  }
  taskType = "ConnectToTarget.AzureDbForPostgreSql.Sync"
}

For ConnectToTarget.AzureSqlDbMI, use:

{
  input = {
    collectAgentJobs = bool
    collectLogins = bool
    targetConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    validateSsisCatalogOnly = bool
  }
  taskType = "ConnectToTarget.AzureSqlDbMI"
}

For ConnectToTarget.AzureSqlDbMI.Sync.LRS, use:

{
  input = {
    azureApp = {
      appKey = "string"
      applicationId = "string"
      ignoreAzurePermissions = bool
      tenantId = "string"
    }
    targetConnectionInfo = {
      managedInstanceResourceId = "string"
      password = "string"
      type = "string"
      userName = "string"
    }
  }
  taskType = "ConnectToTarget.AzureSqlDbMI.Sync.LRS"
}

For ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync, use:

{
  input = {
    targetConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      databaseName = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      port = int
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
  }
  taskType = "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync"
}

For ConnectToTarget.SqlDb, use:

{
  createdOn = "string"
  input = {
    queryObjectCounts = bool
    targetConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
  }
  taskType = "ConnectToTarget.SqlDb"
}

For ConnectToTarget.SqlDb.Sync, use:

{
  input = {
    sourceConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    targetConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
  }
  taskType = "ConnectToTarget.SqlDb.Sync"
}

For GetTDECertificates.Sql, use:

{
  input = {
    backupFileShare = {
      password = "string"
      path = "string"
      userName = "string"
    }
    connectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    selectedCertificates = [
      {
        certificateName = "string"
        password = "string"
      }
    ]
  }
  taskType = "GetTDECertificates.Sql"
}

For GetUserTables.AzureSqlDb.Sync, use:

{
  input = {
    selectedSourceDatabases = [
      "string"
    ]
    selectedTargetDatabases = [
      "string"
    ]
    sourceConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    targetConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
  }
  taskType = "GetUserTables.AzureSqlDb.Sync"
}

For GetUserTables.Sql, use:

{
  input = {
    connectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    encryptedKeyForSecureFields = "string"
    selectedDatabases = [
      "string"
    ]
  }
  taskId = "string"
  taskType = "GetUserTables.Sql"
}

For GetUserTablesMySql, use:

{
  input = {
    connectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      port = int
      serverName = "string"
      type = "string"
      userName = "string"
    }
    selectedDatabases = [
      "string"
    ]
  }
  taskType = "GetUserTablesMySql"
}

For GetUserTablesOracle, use:

{
  input = {
    connectionInfo = {
      authentication = "string"
      dataSource = "string"
      password = "string"
      port = int
      serverName = "string"
      serverVersion = "string"
      type = "string"
      userName = "string"
    }
    selectedSchemas = [
      "string"
    ]
  }
  taskType = "GetUserTablesOracle"
}

For GetUserTablesPostgreSql, use:

{
  input = {
    connectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      databaseName = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      port = int
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    selectedDatabases = [
      "string"
    ]
  }
  taskType = "GetUserTablesPostgreSql"
}

For Migrate.MongoDb, use:

{
  input = {
    boostRUs = int
    databases = {
      {customized property} = {
        collections = {
          {customized property} = {
            canDelete = bool
            shardKey = {
              fields = [
                {
                  name = "string"
                  order = "string"
                }
              ]
              isUnique = bool
            }
            targetRUs = int
          }
        }
        targetRUs = int
      }
    }
    replication = "string"
    source = {
      additionalSettings = "string"
      authentication = "string"
      connectionString = "string"
      dataSource = "string"
      encryptConnection = bool
      enforceSSL = bool
      password = "string"
      port = int
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    target = {
      additionalSettings = "string"
      authentication = "string"
      connectionString = "string"
      dataSource = "string"
      encryptConnection = bool
      enforceSSL = bool
      password = "string"
      port = int
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    throttling = {
      maxParallelism = int
      minFreeCpu = int
      minFreeMemoryMb = int
    }
  }
  taskType = "Migrate.MongoDb"
}

For Migrate.MySql.AzureDbForMySql, use:

{
  input = {
    encryptedKeyForSecureFields = "string"
    makeSourceServerReadOnly = bool
    optionalAgentSettings = {
      {customized property} = "string"
    }
    selectedDatabases = [
      {
        name = "string"
        tableMap = {
          {customized property} = "string"
        }
        targetDatabaseName = "string"
      }
    ]
    sourceConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      port = int
      serverName = "string"
      type = "string"
      userName = "string"
    }
    startedOn = "string"
    targetConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      port = int
      serverName = "string"
      type = "string"
      userName = "string"
    }
  }
  isCloneable = bool
  taskId = "string"
  taskType = "Migrate.MySql.AzureDbForMySql"
}

For Migrate.MySql.AzureDbForMySql.Sync, use:

{
  input = {
    selectedDatabases = [
      {
        migrationSetting = {
          {customized property} = "string"
        }
        name = "string"
        sourceSetting = {
          {customized property} = "string"
        }
        tableMap = {
          {customized property} = "string"
        }
        targetDatabaseName = "string"
        targetSetting = {
          {customized property} = "string"
        }
      }
    ]
    sourceConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      port = int
      serverName = "string"
      type = "string"
      userName = "string"
    }
    targetConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      port = int
      serverName = "string"
      type = "string"
      userName = "string"
    }
  }
  taskType = "Migrate.MySql.AzureDbForMySql.Sync"
}

For Migrate.Oracle.AzureDbForPostgreSql.Sync, use:

{
  input = {
    selectedDatabases = [
      {
        caseManipulation = "string"
        migrationSetting = {
          {customized property} = "string"
        }
        name = "string"
        schemaName = "string"
        sourceSetting = {
          {customized property} = "string"
        }
        tableMap = {
          {customized property} = "string"
        }
        targetDatabaseName = "string"
        targetSetting = {
          {customized property} = "string"
        }
      }
    ]
    sourceConnectionInfo = {
      authentication = "string"
      dataSource = "string"
      password = "string"
      port = int
      serverName = "string"
      serverVersion = "string"
      type = "string"
      userName = "string"
    }
    targetConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      databaseName = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      port = int
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
  }
  taskType = "Migrate.Oracle.AzureDbForPostgreSql.Sync"
}

For Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2, use:

{
  createdOn = "string"
  input = {
    encryptedKeyForSecureFields = "string"
    selectedDatabases = [
      {
        migrationSetting = {
          {customized property} = ?
        }
        name = "string"
        selectedTables = [
          {
            name = "string"
          }
        ]
        sourceSetting = {
          {customized property} = "string"
        }
        targetDatabaseName = "string"
        targetSetting = {
          {customized property} = "string"
        }
      }
    ]
    sourceConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      databaseName = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      port = int
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    targetConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      databaseName = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      port = int
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
  }
  isCloneable = bool
  taskId = "string"
  taskType = "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2"
}

For Migrate.SqlServer.AzureSqlDb.Sync, use:

{
  input = {
    selectedDatabases = [
      {
        id = "string"
        migrationSetting = {
          {customized property} = "string"
        }
        name = "string"
        schemaName = "string"
        sourceSetting = {
          {customized property} = "string"
        }
        tableMap = {
          {customized property} = "string"
        }
        targetDatabaseName = "string"
        targetSetting = {
          {customized property} = "string"
        }
      }
    ]
    sourceConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    targetConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    validationOptions = {
      enableDataIntegrityValidation = bool
      enableQueryAnalysisValidation = bool
      enableSchemaValidation = bool
    }
  }
  taskType = "Migrate.SqlServer.AzureSqlDb.Sync"
}

For Migrate.SqlServer.AzureSqlDbMI, use:

{
  createdOn = "string"
  input = {
    aadDomainName = "string"
    backupBlobShare = {
      sasUri = "string"
    }
    backupFileShare = {
      password = "string"
      path = "string"
      userName = "string"
    }
    backupMode = "string"
    encryptedKeyForSecureFields = "string"
    selectedAgentJobs = [
      "string"
    ]
    selectedDatabases = [
      {
        backupFilePaths = [
          "string"
        ]
        backupFileShare = {
          password = "string"
          path = "string"
          userName = "string"
        }
        id = "string"
        name = "string"
        restoreDatabaseName = "string"
      }
    ]
    selectedLogins = [
      "string"
    ]
    sourceConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    startedOn = "string"
    targetConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
  }
  isCloneable = bool
  parentTaskId = "string"
  taskId = "string"
  taskType = "Migrate.SqlServer.AzureSqlDbMI"
}

For Migrate.SqlServer.AzureSqlDbMI.Sync.LRS, use:

{
  createdOn = "string"
  input = {
    azureApp = {
      appKey = "string"
      applicationId = "string"
      ignoreAzurePermissions = bool
      tenantId = "string"
    }
    backupFileShare = {
      password = "string"
      path = "string"
      userName = "string"
    }
    numberOfParallelDatabaseMigrations = int
    selectedDatabases = [
      {
        backupFilePaths = [
          "string"
        ]
        backupFileShare = {
          password = "string"
          path = "string"
          userName = "string"
        }
        id = "string"
        name = "string"
        restoreDatabaseName = "string"
      }
    ]
    sourceConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    storageResourceId = "string"
    targetConnectionInfo = {
      managedInstanceResourceId = "string"
      password = "string"
      type = "string"
      userName = "string"
    }
  }
  taskType = "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS"
}

For Migrate.SqlServer.SqlDb, use:

{
  createdOn = "string"
  input = {
    encryptedKeyForSecureFields = "string"
    selectedDatabases = [
      {
        id = "string"
        makeSourceDbReadOnly = bool
        name = "string"
        schemaSetting = ?
        tableMap = {
          {customized property} = "string"
        }
        targetDatabaseName = "string"
      }
    ]
    sourceConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    startedOn = "string"
    targetConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    validationOptions = {
      enableDataIntegrityValidation = bool
      enableQueryAnalysisValidation = bool
      enableSchemaValidation = bool
    }
  }
  isCloneable = bool
  taskId = "string"
  taskType = "Migrate.SqlServer.SqlDb"
}

For Migrate.Ssis, use:

{
  input = {
    sourceConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    ssisMigrationInfo = {
      environmentOverwriteOption = "string"
      projectOverwriteOption = "string"
      ssisStoreType = "string"
    }
    targetConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
  }
  taskType = "Migrate.Ssis"
}

For MigrateSchemaSqlServerSqlDb, use:

{
  createdOn = "string"
  input = {
    encryptedKeyForSecureFields = "string"
    selectedDatabases = [
      {
        id = "string"
        name = "string"
        schemaSetting = {
          fileId = "string"
          fileName = "string"
          schemaOption = "string"
        }
        targetDatabaseName = "string"
      }
    ]
    sourceConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    startedOn = "string"
    targetConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
  }
  isCloneable = bool
  taskId = "string"
  taskType = "MigrateSchemaSqlServerSqlDb"
}

For Service.Check.OCI, use:

{
  input = {
    serverVersion = "string"
  }
  taskType = "Service.Check.OCI"
}

For Service.Install.OCI, use:

{
  input = {
    driverPackageName = "string"
  }
  taskType = "Service.Install.OCI"
}

For Service.Upload.OCI, use:

{
  input = {
    driverShare = {
      password = "string"
      path = "string"
      userName = "string"
    }
  }
  taskType = "Service.Upload.OCI"
}

For Validate.MongoDb, use:

{
  input = {
    boostRUs = int
    databases = {
      {customized property} = {
        collections = {
          {customized property} = {
            canDelete = bool
            shardKey = {
              fields = [
                {
                  name = "string"
                  order = "string"
                }
              ]
              isUnique = bool
            }
            targetRUs = int
          }
        }
        targetRUs = int
      }
    }
    replication = "string"
    source = {
      additionalSettings = "string"
      authentication = "string"
      connectionString = "string"
      dataSource = "string"
      encryptConnection = bool
      enforceSSL = bool
      password = "string"
      port = int
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    target = {
      additionalSettings = "string"
      authentication = "string"
      connectionString = "string"
      dataSource = "string"
      encryptConnection = bool
      enforceSSL = bool
      password = "string"
      port = int
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    throttling = {
      maxParallelism = int
      minFreeCpu = int
      minFreeMemoryMb = int
    }
  }
  taskType = "Validate.MongoDb"
}

For Validate.Oracle.AzureDbPostgreSql.Sync, use:

{
  input = {
    selectedDatabases = [
      {
        caseManipulation = "string"
        migrationSetting = {
          {customized property} = "string"
        }
        name = "string"
        schemaName = "string"
        sourceSetting = {
          {customized property} = "string"
        }
        tableMap = {
          {customized property} = "string"
        }
        targetDatabaseName = "string"
        targetSetting = {
          {customized property} = "string"
        }
      }
    ]
    sourceConnectionInfo = {
      authentication = "string"
      dataSource = "string"
      password = "string"
      port = int
      serverName = "string"
      serverVersion = "string"
      type = "string"
      userName = "string"
    }
    targetConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      databaseName = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      port = int
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
  }
  taskType = "Validate.Oracle.AzureDbPostgreSql.Sync"
}

For ValidateMigrationInput.SqlServer.AzureSqlDbMI, use:

{
  input = {
    backupBlobShare = {
      sasUri = "string"
    }
    backupFileShare = {
      password = "string"
      path = "string"
      userName = "string"
    }
    backupMode = "string"
    selectedDatabases = [
      {
        backupFilePaths = [
          "string"
        ]
        backupFileShare = {
          password = "string"
          path = "string"
          userName = "string"
        }
        id = "string"
        name = "string"
        restoreDatabaseName = "string"
      }
    ]
    selectedLogins = [
      "string"
    ]
    sourceConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    targetConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
  }
  taskType = "ValidateMigrationInput.SqlServer.AzureSqlDbMI"
}

For ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS, use:

{
  input = {
    azureApp = {
      appKey = "string"
      applicationId = "string"
      ignoreAzurePermissions = bool
      tenantId = "string"
    }
    backupFileShare = {
      password = "string"
      path = "string"
      userName = "string"
    }
    selectedDatabases = [
      {
        backupFilePaths = [
          "string"
        ]
        backupFileShare = {
          password = "string"
          path = "string"
          userName = "string"
        }
        id = "string"
        name = "string"
        restoreDatabaseName = "string"
      }
    ]
    sourceConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    storageResourceId = "string"
    targetConnectionInfo = {
      managedInstanceResourceId = "string"
      password = "string"
      type = "string"
      userName = "string"
    }
  }
  taskType = "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS"
}

For ValidateMigrationInput.SqlServer.SqlDb.Sync, use:

{
  input = {
    selectedDatabases = [
      {
        id = "string"
        migrationSetting = {
          {customized property} = "string"
        }
        name = "string"
        schemaName = "string"
        sourceSetting = {
          {customized property} = "string"
        }
        tableMap = {
          {customized property} = "string"
        }
        targetDatabaseName = "string"
        targetSetting = {
          {customized property} = "string"
        }
      }
    ]
    sourceConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
    targetConnectionInfo = {
      additionalSettings = "string"
      authentication = "string"
      dataSource = "string"
      encryptConnection = bool
      password = "string"
      platform = "string"
      port = int
      resourceId = "string"
      serverBrandVersion = "string"
      serverName = "string"
      serverVersion = "string"
      trustServerCertificate = bool
      type = "string"
      userName = "string"
    }
  }
  taskType = "ValidateMigrationInput.SqlServer.SqlDb.Sync"
}

Property Values

Microsoft.DataMigration/services/projects/tasks

Name Description Value
etag HTTP strong entity tag value. This is ignored if submitted. string
name The resource name string (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: services/projects
properties Custom task properties ProjectTaskProperties
type The resource type "Microsoft.DataMigration/services/projects/tasks@2025-03-15-preview"

AzureActiveDirectoryApp

Name Description Value
appKey Key used to authenticate to the Azure Active Directory Application string
applicationId Application ID of the Azure Active Directory Application string
ignoreAzurePermissions Ignore checking azure permissions on the AAD app bool
tenantId Tenant id of the customer string

BlobShare

Name Description Value
sasUri SAS URI of Azure Storage Account Container. string

CheckOCIDriverTaskInput

Name Description Value
serverVersion Version of the source server to check against. Optional. string

CheckOCIDriverTaskProperties

Name Description Value
input Input for the service task to check for OCI drivers. CheckOCIDriverTaskInput
taskType Task type. 'Service.Check.OCI' (required)

ConnectToMongoDbTaskProperties

Name Description Value
input Describes a connection to a MongoDB data source MongoDbConnectionInfo
taskType Task type. 'Connect.MongoDb' (required)

ConnectToSourceMySqlTaskInput

Name Description Value
checkPermissionsGroup Permission group for validations 'Default'
'MigrationFromMySQLToAzureDBForMySQL'
'MigrationFromSqlServerToAzureDB'
'MigrationFromSqlServerToAzureMI'
'MigrationFromSqlServerToAzureVM'
isOfflineMigration Flag for whether or not the migration is offline bool
sourceConnectionInfo Information for connecting to MySQL source MySqlConnectionInfo (required)
targetPlatform Target Platform for the migration 'AzureDbForMySQL'
'SqlServer'

ConnectToSourceMySqlTaskProperties

Name Description Value
input Task input ConnectToSourceMySqlTaskInput
taskType Task type. 'ConnectToSource.MySql' (required)

ConnectToSourceOracleSyncTaskInput

Name Description Value
sourceConnectionInfo Information for connecting to Oracle source OracleConnectionInfo (required)

ConnectToSourceOracleSyncTaskProperties

Name Description Value
input Task input ConnectToSourceOracleSyncTaskInput
taskType Task type. 'ConnectToSource.Oracle.Sync' (required)

ConnectToSourcePostgreSqlSyncTaskInput

Name Description Value
sourceConnectionInfo Connection information for source PostgreSQL server PostgreSqlConnectionInfo (required)

ConnectToSourcePostgreSqlSyncTaskProperties

Name Description Value
input Task input ConnectToSourcePostgreSqlSyncTaskInput
taskType Task type. 'ConnectToSource.PostgreSql.Sync' (required)

ConnectToSourceSqlServerSyncTaskProperties

Name Description Value
input Task input ConnectToSourceSqlServerTaskInput
taskType Task type. 'ConnectToSource.SqlServer.Sync' (required)

ConnectToSourceSqlServerTaskInput

Name Description Value
checkPermissionsGroup Permission group for validations 'Default'
'MigrationFromMySQLToAzureDBForMySQL'
'MigrationFromSqlServerToAzureDB'
'MigrationFromSqlServerToAzureMI'
'MigrationFromSqlServerToAzureVM'
collectAgentJobs Flag for whether to collect agent jobs from source server. bool
collectDatabases Flag for whether to collect databases from source server. bool
collectLogins Flag for whether to collect logins from source server. bool
collectTdeCertificateInfo Flag for whether to collect TDE Certificate names from source server. bool
encryptedKeyForSecureFields encrypted key for secure fields string
sourceConnectionInfo Connection information for Source SQL Server SqlConnectionInfo (required)
validateSsisCatalogOnly Flag for whether to validate SSIS catalog is reachable on the source server. bool

ConnectToSourceSqlServerTaskProperties

Name Description Value
input Task input ConnectToSourceSqlServerTaskInput
taskId Task id string
taskType Task type. 'ConnectToSource.SqlServer' (required)

ConnectToTargetAzureDbForMySqlTaskInput

Name Description Value
isOfflineMigration Flag for whether or not the migration is offline bool
sourceConnectionInfo Connection information for source MySQL server MySqlConnectionInfo (required)
targetConnectionInfo Connection information for target Azure Database for MySQL server MySqlConnectionInfo (required)

ConnectToTargetAzureDbForMySqlTaskProperties

Name Description Value
input Task input ConnectToTargetAzureDbForMySqlTaskInput
taskType Task type. 'ConnectToTarget.AzureDbForMySql' (required)

ConnectToTargetAzureDbForPostgreSqlSyncTaskInput

Name Description Value
sourceConnectionInfo Connection information for source PostgreSQL server PostgreSqlConnectionInfo (required)
targetConnectionInfo Connection information for target Azure Database for PostgreSQL server PostgreSqlConnectionInfo (required)

ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties

Name Description Value
input Task input ConnectToTargetAzureDbForPostgreSqlSyncTaskInput
taskType Task type. 'ConnectToTarget.AzureDbForPostgreSql.Sync' (required)

ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput

Name Description Value
targetConnectionInfo Connection information for target Azure Database for PostgreSQL server PostgreSqlConnectionInfo (required)

ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties

Name Description Value
input Task input ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput
taskType Task type. 'ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync' (required)

ConnectToTargetSqlDbSyncTaskInput

Name Description Value
sourceConnectionInfo Connection information for source SQL Server SqlConnectionInfo (required)
targetConnectionInfo Connection information for target SQL DB SqlConnectionInfo (required)

ConnectToTargetSqlDbSyncTaskProperties

Name Description Value
input Task input ConnectToTargetSqlDbSyncTaskInput
taskType Task type. 'ConnectToTarget.SqlDb.Sync' (required)

ConnectToTargetSqlDbTaskInput

Name Description Value
queryObjectCounts Boolean flag indicating whether to query object counts for each database on the target server bool
targetConnectionInfo Connection information for target SQL DB SqlConnectionInfo (required)

ConnectToTargetSqlDbTaskProperties

Name Description Value
createdOn DateTime in UTC when the task was created string
input Task input ConnectToTargetSqlDbTaskInput
taskType Task type. 'ConnectToTarget.SqlDb' (required)

ConnectToTargetSqlMISyncTaskInput

Name Description Value
azureApp Azure Active Directory Application the DMS (classic) instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account AzureActiveDirectoryApp (required)
targetConnectionInfo Connection information for Azure SQL Database Managed Instance MiSqlConnectionInfo (required)

ConnectToTargetSqlMISyncTaskProperties

Name Description Value
input Task input ConnectToTargetSqlMISyncTaskInput
taskType Task type. 'ConnectToTarget.AzureSqlDbMI.Sync.LRS' (required)

ConnectToTargetSqlMITaskInput

Name Description Value
collectAgentJobs Flag for whether to collect agent jobs from target SQL MI server. bool
collectLogins Flag for whether to collect logins from target SQL MI server. bool
targetConnectionInfo Connection information for target SQL Server SqlConnectionInfo (required)
validateSsisCatalogOnly Flag for whether to validate SSIS catalog is reachable on the target SQL MI server. bool

ConnectToTargetSqlMITaskProperties

Name Description Value
input Task input ConnectToTargetSqlMITaskInput
taskType Task type. 'ConnectToTarget.AzureSqlDbMI' (required)

FileShare

Name Description Value
password Password credential used to connect to the share location. string
path The folder path for this share. string (required)
userName User name credential to connect to the share location string

GetTdeCertificatesSqlTaskInput

Name Description Value
backupFileShare Backup file share information for file share to be used for temporarily storing files. FileShare (required)
connectionInfo Connection information for SQL Server SqlConnectionInfo (required)
selectedCertificates List containing certificate names and corresponding password to use for encrypting the exported certificate. SelectedCertificateInput[] (required)

GetTdeCertificatesSqlTaskProperties

Name Description Value
input Task input GetTdeCertificatesSqlTaskInput
taskType Task type. 'GetTDECertificates.Sql' (required)

GetUserTablesMySqlTaskInput

Name Description Value
connectionInfo Connection information for SQL Server MySqlConnectionInfo (required)
selectedDatabases List of database names to collect tables for string[] (required)

GetUserTablesMySqlTaskProperties

Name Description Value
input Task input GetUserTablesMySqlTaskInput
taskType Task type. 'GetUserTablesMySql' (required)

GetUserTablesOracleTaskInput

Name Description Value
connectionInfo Information for connecting to Oracle source OracleConnectionInfo (required)
selectedSchemas List of Oracle schemas for which to collect tables string[] (required)

GetUserTablesOracleTaskProperties

Name Description Value
input Task input GetUserTablesOracleTaskInput
taskType Task type. 'GetUserTablesOracle' (required)

GetUserTablesPostgreSqlTaskInput

Name Description Value
connectionInfo Information for connecting to PostgreSQL source PostgreSqlConnectionInfo (required)
selectedDatabases List of PostgreSQL databases for which to collect tables string[] (required)

GetUserTablesPostgreSqlTaskProperties

Name Description Value
input Task input GetUserTablesPostgreSqlTaskInput
taskType Task type. 'GetUserTablesPostgreSql' (required)

GetUserTablesSqlSyncTaskInput

Name Description Value
selectedSourceDatabases List of source database names to collect tables for string[] (required)
selectedTargetDatabases List of target database names to collect tables for string[] (required)
sourceConnectionInfo Connection information for SQL Server SqlConnectionInfo (required)
targetConnectionInfo Connection information for SQL DB SqlConnectionInfo (required)

GetUserTablesSqlSyncTaskProperties

Name Description Value
input Task input GetUserTablesSqlSyncTaskInput
taskType Task type. 'GetUserTables.AzureSqlDb.Sync' (required)

GetUserTablesSqlTaskInput

Name Description Value
connectionInfo Connection information for SQL Server SqlConnectionInfo (required)
encryptedKeyForSecureFields encrypted key for secure fields string
selectedDatabases List of database names to collect tables for string[] (required)

GetUserTablesSqlTaskProperties

Name Description Value
input Task input GetUserTablesSqlTaskInput
taskId Task id string
taskType Task type. 'GetUserTables.Sql' (required)

InstallOCIDriverTaskInput

Name Description Value
driverPackageName Name of the uploaded driver package to install. string

InstallOCIDriverTaskProperties

Name Description Value
input Input for the service task to install an OCI driver. InstallOCIDriverTaskInput
taskType Task type. 'Service.Install.OCI' (required)

MigrateMongoDbTaskProperties

Name Description Value
input Describes how a MongoDB data migration should be performed MongoDbMigrationSettings
taskType Task type. 'Migrate.MongoDb' (required)

MigrateMySqlAzureDbForMySqlOfflineDatabaseInput

Name Description Value
name Name of the database string
tableMap Mapping of source to target tables MigrateMySqlAzureDbForMySqlOfflineDatabaseInputTableMap
targetDatabaseName Name of target database. Note: Target database will be truncated before starting migration. string

MigrateMySqlAzureDbForMySqlOfflineDatabaseInputTableMap

Name Description Value

MigrateMySqlAzureDbForMySqlOfflineTaskInput

Name Description Value
encryptedKeyForSecureFields encrypted key for secure fields string
makeSourceServerReadOnly Setting to set the source server read only bool
optionalAgentSettings Optional parameters for fine tuning the data transfer rate during migration MigrateMySqlAzureDbForMySqlOfflineTaskInputOptionalAgentSettings
selectedDatabases Databases to migrate MigrateMySqlAzureDbForMySqlOfflineDatabaseInput[] (required)
sourceConnectionInfo Connection information for source MySQL MySqlConnectionInfo (required)
startedOn Parameter to specify when the migration started string
targetConnectionInfo Connection information for target Azure Database for MySQL MySqlConnectionInfo (required)

MigrateMySqlAzureDbForMySqlOfflineTaskInputOptionalAgentSettings

Name Description Value

MigrateMySqlAzureDbForMySqlOfflineTaskProperties

Name Description Value
input Task input MigrateMySqlAzureDbForMySqlOfflineTaskInput
isCloneable whether the task can be cloned or not bool
taskId Task id string
taskType Task type. 'Migrate.MySql.AzureDbForMySql' (required)

MigrateMySqlAzureDbForMySqlSyncDatabaseInput

Name Description Value
migrationSetting Migration settings which tune the migration behavior MigrateMySqlAzureDbForMySqlSyncDatabaseInputMigrationSetting
name Name of the database string
sourceSetting Source settings to tune source endpoint migration behavior MigrateMySqlAzureDbForMySqlSyncDatabaseInputSourceSetting
tableMap Mapping of source to target tables MigrateMySqlAzureDbForMySqlSyncDatabaseInputTableMap
targetDatabaseName Name of target database. Note: Target database will be truncated before starting migration. string
targetSetting Target settings to tune target endpoint migration behavior MigrateMySqlAzureDbForMySqlSyncDatabaseInputTargetSetting

MigrateMySqlAzureDbForMySqlSyncDatabaseInputMigrationSetting

Name Description Value

MigrateMySqlAzureDbForMySqlSyncDatabaseInputSourceSetting

Name Description Value

MigrateMySqlAzureDbForMySqlSyncDatabaseInputTableMap

Name Description Value

MigrateMySqlAzureDbForMySqlSyncDatabaseInputTargetSetting

Name Description Value

MigrateMySqlAzureDbForMySqlSyncTaskInput

Name Description Value
selectedDatabases Databases to migrate MigrateMySqlAzureDbForMySqlSyncDatabaseInput[] (required)
sourceConnectionInfo Connection information for source MySQL MySqlConnectionInfo (required)
targetConnectionInfo Connection information for target Azure Database for MySQL MySqlConnectionInfo (required)

MigrateMySqlAzureDbForMySqlSyncTaskProperties

Name Description Value
input Task input MigrateMySqlAzureDbForMySqlSyncTaskInput
taskType Task type. 'Migrate.MySql.AzureDbForMySql.Sync' (required)

MigrateOracleAzureDbForPostgreSqlSyncTaskProperties

Name Description Value
input Task input MigrateOracleAzureDbPostgreSqlSyncTaskInput
taskType Task type. 'Migrate.Oracle.AzureDbForPostgreSql.Sync' (required)

MigrateOracleAzureDbPostgreSqlSyncDatabaseInput

Name Description Value
caseManipulation How to handle object name casing: either Preserve or ToLower string
migrationSetting Migration settings which tune the migration behavior MigrateOracleAzureDbPostgreSqlSyncDatabaseInputMigrationSetting
name Name of the migration pipeline string
schemaName Name of the source schema string
sourceSetting Source settings to tune source endpoint migration behavior MigrateOracleAzureDbPostgreSqlSyncDatabaseInputSourceSetting
tableMap Mapping of source to target tables MigrateOracleAzureDbPostgreSqlSyncDatabaseInputTableMap
targetDatabaseName Name of target database. Note: Target database will be truncated before starting migration. string
targetSetting Target settings to tune target endpoint migration behavior MigrateOracleAzureDbPostgreSqlSyncDatabaseInputTargetSetting

MigrateOracleAzureDbPostgreSqlSyncDatabaseInputMigrationSetting

Name Description Value

MigrateOracleAzureDbPostgreSqlSyncDatabaseInputSourceSetting

Name Description Value

MigrateOracleAzureDbPostgreSqlSyncDatabaseInputTableMap

Name Description Value

MigrateOracleAzureDbPostgreSqlSyncDatabaseInputTargetSetting

Name Description Value

MigrateOracleAzureDbPostgreSqlSyncTaskInput

Name Description Value
selectedDatabases Databases to migrate MigrateOracleAzureDbPostgreSqlSyncDatabaseInput[] (required)
sourceConnectionInfo Connection information for source Oracle OracleConnectionInfo (required)
targetConnectionInfo Connection information for target Azure Database for PostgreSQL PostgreSqlConnectionInfo (required)

MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput

Name Description Value
migrationSetting Migration settings which tune the migration behavior MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputMigrationSetting
name Name of the database string
selectedTables Tables selected for migration MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput[]
sourceSetting Source settings to tune source endpoint migration behavior MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputSourceSetting
targetDatabaseName Name of target database. Note: Target database will be truncated before starting migration. string
targetSetting Target settings to tune target endpoint migration behavior MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputTargetSetting

MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputMigrationSetting

Name Description Value

MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputSourceSetting

Name Description Value

MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputTargetSetting

Name Description Value

MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput

Name Description Value
name Name of the table to migrate string

MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput

Name Description Value
encryptedKeyForSecureFields encrypted key for secure fields string
selectedDatabases Databases to migrate MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput[] (required)
sourceConnectionInfo Connection information for source PostgreSQL PostgreSqlConnectionInfo (required)
targetConnectionInfo Connection information for target Azure Database for PostgreSQL PostgreSqlConnectionInfo (required)

MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties

Name Description Value
createdOn DateTime in UTC when the task was created string
input Task input MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput
isCloneable whether the task can be cloned or not bool
taskId task id string
taskType Task type. 'Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2' (required)

MigrateSchemaSqlServerSqlDbDatabaseInput

Name Description Value
id Id of the source database string
name Name of source database string
schemaSetting Database schema migration settings SchemaMigrationSetting
targetDatabaseName Name of target database string

MigrateSchemaSqlServerSqlDbTaskInput

Name Description Value
encryptedKeyForSecureFields encrypted key for secure fields string
selectedDatabases Databases to migrate MigrateSchemaSqlServerSqlDbDatabaseInput[] (required)
sourceConnectionInfo Information for connecting to source SqlConnectionInfo (required)
startedOn Migration start time string
targetConnectionInfo Information for connecting to target SqlConnectionInfo (required)

MigrateSchemaSqlServerSqlDbTaskProperties

Name Description Value
createdOn DateTime in UTC when the task was created string
input Task input MigrateSchemaSqlServerSqlDbTaskInput
isCloneable whether the task can be cloned or not bool
taskId Task id string
taskType Task type. 'MigrateSchemaSqlServerSqlDb' (required)

MigrateSqlServerSqlDbDatabaseInput

Name Description Value
id id of the database string
makeSourceDbReadOnly Whether to set database read only before migration bool
name Name of the database string
schemaSetting Settings selected for DB schema migration. any
tableMap Mapping of source to target tables MigrateSqlServerSqlDbDatabaseInputTableMap
targetDatabaseName Name of target database. Note: Target database will be truncated before starting migration. string

MigrateSqlServerSqlDbDatabaseInputTableMap

Name Description Value

MigrateSqlServerSqlDbSyncDatabaseInput

Name Description Value
id Unique identifier for database string
migrationSetting Migration settings which tune the migration behavior MigrateSqlServerSqlDbSyncDatabaseInputMigrationSetting
name Name of database string
schemaName Schema name to be migrated string
sourceSetting Source settings to tune source endpoint migration behavior MigrateSqlServerSqlDbSyncDatabaseInputSourceSetting
tableMap Mapping of source to target tables MigrateSqlServerSqlDbSyncDatabaseInputTableMap
targetDatabaseName Target database name string
targetSetting Target settings to tune target endpoint migration behavior MigrateSqlServerSqlDbSyncDatabaseInputTargetSetting

MigrateSqlServerSqlDbSyncDatabaseInputMigrationSetting

Name Description Value

MigrateSqlServerSqlDbSyncDatabaseInputSourceSetting

Name Description Value

MigrateSqlServerSqlDbSyncDatabaseInputTableMap

Name Description Value

MigrateSqlServerSqlDbSyncDatabaseInputTargetSetting

Name Description Value

MigrateSqlServerSqlDbSyncTaskInput

Name Description Value
selectedDatabases Databases to migrate MigrateSqlServerSqlDbSyncDatabaseInput[] (required)
sourceConnectionInfo Information for connecting to source SqlConnectionInfo (required)
targetConnectionInfo Information for connecting to target SqlConnectionInfo (required)
validationOptions Validation options MigrationValidationOptions

MigrateSqlServerSqlDbSyncTaskProperties

Name Description Value
input Task input MigrateSqlServerSqlDbSyncTaskInput
taskType Task type. 'Migrate.SqlServer.AzureSqlDb.Sync' (required)

MigrateSqlServerSqlDbTaskInput

Name Description Value
encryptedKeyForSecureFields encrypted key for secure fields string
selectedDatabases Databases to migrate MigrateSqlServerSqlDbDatabaseInput[] (required)
sourceConnectionInfo Information for connecting to source SqlConnectionInfo (required)
startedOn Date and time relative to UTC when the migration was started on string
targetConnectionInfo Information for connecting to target SqlConnectionInfo (required)
validationOptions 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.
MigrationValidationOptions

MigrateSqlServerSqlDbTaskProperties

Name Description Value
createdOn DateTime in UTC when the task was created string
input Task input MigrateSqlServerSqlDbTaskInput
isCloneable whether the task can be cloned or not bool
taskId task id string
taskType Task type. 'Migrate.SqlServer.SqlDb' (required)

MigrateSqlServerSqlMIDatabaseInput

Name Description Value
backupFilePaths The list of backup files to be used in case of existing backups. string[]
backupFileShare Backup file share information for backing up this database. FileShare
id id of the database string
name Name of the database string (required)
restoreDatabaseName Name of the database at destination string (required)

MigrateSqlServerSqlMISyncTaskInput

Name Description Value
azureApp Azure Active Directory Application the DMS (classic) instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account AzureActiveDirectoryApp (required)
backupFileShare Backup file share information for all selected databases. FileShare
numberOfParallelDatabaseMigrations Number of database migrations to start in parallel int
selectedDatabases Databases to migrate MigrateSqlServerSqlMIDatabaseInput[] (required)
sourceConnectionInfo Connection information for source SQL Server SqlConnectionInfo (required)
storageResourceId Fully qualified resourceId of storage string (required)
targetConnectionInfo Connection information for Azure SQL Database Managed Instance MiSqlConnectionInfo (required)

MigrateSqlServerSqlMISyncTaskProperties

Name Description Value
createdOn DateTime in UTC when the task was created string
input Task input MigrateSqlServerSqlMISyncTaskInput
taskType Task type. 'Migrate.SqlServer.AzureSqlDbMI.Sync.LRS' (required)

MigrateSqlServerSqlMITaskInput

Name Description Value
aadDomainName Azure Active Directory domain name in the format of 'contoso.com' for federated Azure AD or 'contoso.onmicrosoft.com' for managed domain, required if and only if Windows logins are selected string
backupBlobShare SAS URI of Azure Storage Account Container to be used for storing backup files. BlobShare (required)
backupFileShare Backup file share information for all selected databases. FileShare
backupMode 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. 'CreateBackup'
'ExistingBackup'
encryptedKeyForSecureFields encrypted key for secure fields string
selectedAgentJobs Agent Jobs to migrate. string[]
selectedDatabases Databases to migrate MigrateSqlServerSqlMIDatabaseInput[] (required)
selectedLogins Logins to migrate. string[]
sourceConnectionInfo Information for connecting to source SqlConnectionInfo (required)
startedOn Date and time relative to UTC when the migration was started on string
targetConnectionInfo Information for connecting to target SqlConnectionInfo (required)

MigrateSqlServerSqlMITaskProperties

Name Description Value
createdOn DateTime in UTC when the task was created string
input Task input MigrateSqlServerSqlMITaskInput
isCloneable whether the task can be cloned or not bool
parentTaskId parent task id string
taskId task id string
taskType Task type. 'Migrate.SqlServer.AzureSqlDbMI' (required)

MigrateSsisTaskInput

Name Description Value
sourceConnectionInfo Information for connecting to source SqlConnectionInfo (required)
ssisMigrationInfo SSIS package migration information. SsisMigrationInfo (required)
targetConnectionInfo Information for connecting to target SqlConnectionInfo (required)

MigrateSsisTaskProperties

Name Description Value
input Task input MigrateSsisTaskInput
taskType Task type. 'Migrate.Ssis' (required)

MigrationValidationOptions

Name Description Value
enableDataIntegrityValidation Allows to perform a checksum based data integrity validation between source and target for the selected database / tables . bool
enableQueryAnalysisValidation 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. bool
enableSchemaValidation Allows to compare the schema information between source and target. bool

MiSqlConnectionInfo

Name Description Value
managedInstanceResourceId Resource id for Azure SQL database Managed instance string (required)
password Password credential. string
type Type of connection info string (required)
userName User name string

MongoDbCollectionSettings

Name Description Value
canDelete Whether the migrator is allowed to drop the target collection in the course of performing a migration. The default is true. bool
shardKey Describes a MongoDB shard key MongoDbShardKeySetting
targetRUs The RUs that should be configured on a CosmosDB target, or null to use the default. This has no effect on non-CosmosDB targets. int

MongoDbConnectionInfo

Name Description Value
additionalSettings Additional connection settings string
authentication Authentication type to use for connection 'ActiveDirectoryIntegrated'
'ActiveDirectoryPassword'
'None'
'SqlAuthentication'
'WindowsAuthentication'
connectionString A MongoDB connection string or blob container URL. The user name and password can be specified here or in the userName and password properties string (required)
dataSource Data source string
encryptConnection Whether to encrypt the connection bool
enforceSSL bool
password Password credential. string
port port for server int
serverBrandVersion server brand version string
serverName name of the server string
serverVersion server version string
trustServerCertificate Whether to trust the server certificate bool
type Type of connection info string (required)
userName User name string

MongoDbDatabaseSettings

Name Description Value
collections The collections on the source database to migrate to the target. The keys are the unqualified names of the collections. MongoDbDatabaseSettingsCollections (required)
targetRUs 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. int

MongoDbDatabaseSettingsCollections

Name Description Value

MongoDbMigrationSettings

Name Description Value
boostRUs 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. int
databases The databases on the source cluster to migrate to the target. The keys are the names of the databases. MongoDbMigrationSettingsDatabases (required)
replication Describes how changes will be replicated from the source to the target. The default is OneTime. 'Continuous'
'Disabled'
'OneTime'
source Settings used to connect to the source cluster MongoDbConnectionInfo (required)
target Settings used to connect to the target cluster MongoDbConnectionInfo (required)
throttling Settings used to limit the resource usage of the migration MongoDbThrottlingSettings

MongoDbMigrationSettingsDatabases

Name Description Value

MongoDbShardKeyField

Name Description Value
name The name of the field string (required)
order The field ordering 'Forward'
'Hashed'
'Reverse' (required)

MongoDbShardKeySetting

Name Description Value
fields The fields within the shard key MongoDbShardKeyField[] (required)
isUnique Whether the shard key is unique bool

MongoDbThrottlingSettings

Name Description Value
maxParallelism The maximum number of work items (e.g. collection copies) that will be processed in parallel int
minFreeCpu The percentage of CPU time that the migrator will try to avoid using, from 0 to 100 int
minFreeMemoryMb The number of megabytes of RAM that the migrator will try to avoid using int

MySqlConnectionInfo

Name Description Value
additionalSettings Additional connection settings string
authentication Authentication type to use for connection 'ActiveDirectoryIntegrated'
'ActiveDirectoryPassword'
'None'
'SqlAuthentication'
'WindowsAuthentication'
dataSource Data source string
encryptConnection Whether to encrypt the connection bool
password Password credential. string
port Port for Server int (required)
serverName Name of the server string (required)
type Type of connection info string (required)
userName User name string

OracleConnectionInfo

Name Description Value
authentication Authentication type to use for connection 'ActiveDirectoryIntegrated'
'ActiveDirectoryPassword'
'None'
'SqlAuthentication'
'WindowsAuthentication'
dataSource EZConnect or TNSName connection string. string (required)
password Password credential. string
port port for server int
serverName name of the server string
serverVersion server version string
type Type of connection info string (required)
userName User name string

PostgreSqlConnectionInfo

Name Description Value
additionalSettings Additional connection settings string
authentication Authentication type to use for connection 'ActiveDirectoryIntegrated'
'ActiveDirectoryPassword'
'None'
'SqlAuthentication'
'WindowsAuthentication'
databaseName Name of the database string
dataSource Data source string
encryptConnection Whether to encrypt the connection bool
password Password credential. string
port Port for Server int (required)
serverBrandVersion server brand version string
serverName Name of the server string (required)
serverVersion server version string
trustServerCertificate Whether to trust the server certificate bool
type Type of connection info string (required)
userName User name string

ProjectTaskProperties

Name Description Value
clientData Key value pairs of client data to attach meta data information to task ProjectTaskPropertiesClientData
taskType Set to 'Connect.MongoDb' for type ConnectToMongoDbTaskProperties. Set to 'ConnectToSource.MySql' for type ConnectToSourceMySqlTaskProperties. Set to 'ConnectToSource.Oracle.Sync' for type ConnectToSourceOracleSyncTaskProperties. Set to 'ConnectToSource.PostgreSql.Sync' for type ConnectToSourcePostgreSqlSyncTaskProperties. Set to 'ConnectToSource.SqlServer' for type ConnectToSourceSqlServerTaskProperties. Set to 'ConnectToSource.SqlServer.Sync' for type ConnectToSourceSqlServerSyncTaskProperties. Set to 'ConnectToTarget.AzureDbForMySql' for type ConnectToTargetAzureDbForMySqlTaskProperties. Set to 'ConnectToTarget.AzureDbForPostgreSql.Sync' for type ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties. Set to 'ConnectToTarget.AzureSqlDbMI' for type ConnectToTargetSqlMITaskProperties. Set to 'ConnectToTarget.AzureSqlDbMI.Sync.LRS' for type ConnectToTargetSqlMISyncTaskProperties. Set to 'ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync' for type ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties. Set to 'ConnectToTarget.SqlDb' for type ConnectToTargetSqlDbTaskProperties. Set to 'ConnectToTarget.SqlDb.Sync' for type ConnectToTargetSqlDbSyncTaskProperties. Set to 'GetTDECertificates.Sql' for type GetTdeCertificatesSqlTaskProperties. Set to 'GetUserTables.AzureSqlDb.Sync' for type GetUserTablesSqlSyncTaskProperties. Set to 'GetUserTables.Sql' for type GetUserTablesSqlTaskProperties. Set to 'GetUserTablesMySql' for type GetUserTablesMySqlTaskProperties. Set to 'GetUserTablesOracle' for type GetUserTablesOracleTaskProperties. Set to 'GetUserTablesPostgreSql' for type GetUserTablesPostgreSqlTaskProperties. Set to 'Migrate.MongoDb' for type MigrateMongoDbTaskProperties. Set to 'Migrate.MySql.AzureDbForMySql' for type MigrateMySqlAzureDbForMySqlOfflineTaskProperties. Set to 'Migrate.MySql.AzureDbForMySql.Sync' for type MigrateMySqlAzureDbForMySqlSyncTaskProperties. Set to 'Migrate.Oracle.AzureDbForPostgreSql.Sync' for type MigrateOracleAzureDbForPostgreSqlSyncTaskProperties. Set to 'Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2' for type MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties. Set to 'Migrate.SqlServer.AzureSqlDb.Sync' for type MigrateSqlServerSqlDbSyncTaskProperties. Set to 'Migrate.SqlServer.AzureSqlDbMI' for type MigrateSqlServerSqlMITaskProperties. Set to 'Migrate.SqlServer.AzureSqlDbMI.Sync.LRS' for type MigrateSqlServerSqlMISyncTaskProperties. Set to 'Migrate.SqlServer.SqlDb' for type MigrateSqlServerSqlDbTaskProperties. Set to 'Migrate.Ssis' for type MigrateSsisTaskProperties. Set to 'MigrateSchemaSqlServerSqlDb' for type MigrateSchemaSqlServerSqlDbTaskProperties. Set to 'Service.Check.OCI' for type CheckOCIDriverTaskProperties. Set to 'Service.Install.OCI' for type InstallOCIDriverTaskProperties. Set to 'Service.Upload.OCI' for type UploadOCIDriverTaskProperties. Set to 'Validate.MongoDb' for type ValidateMongoDbTaskProperties. Set to 'Validate.Oracle.AzureDbPostgreSql.Sync' for type ValidateOracleAzureDbForPostgreSqlSyncTaskProperties. Set to 'ValidateMigrationInput.SqlServer.AzureSqlDbMI' for type ValidateMigrationInputSqlServerSqlMITaskProperties. Set to 'ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS' for type ValidateMigrationInputSqlServerSqlMISyncTaskProperties. Set to 'ValidateMigrationInput.SqlServer.SqlDb.Sync' for type ValidateMigrationInputSqlServerSqlDbSyncTaskProperties. 'Connect.MongoDb'
'ConnectToSource.MySql'
'ConnectToSource.Oracle.Sync'
'ConnectToSource.PostgreSql.Sync'
'ConnectToSource.SqlServer'
'ConnectToSource.SqlServer.Sync'
'ConnectToTarget.AzureDbForMySql'
'ConnectToTarget.AzureDbForPostgreSql.Sync'
'ConnectToTarget.AzureSqlDbMI'
'ConnectToTarget.AzureSqlDbMI.Sync.LRS'
'ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync'
'ConnectToTarget.SqlDb'
'ConnectToTarget.SqlDb.Sync'
'GetTDECertificates.Sql'
'GetUserTables.AzureSqlDb.Sync'
'GetUserTables.Sql'
'GetUserTablesMySql'
'GetUserTablesOracle'
'GetUserTablesPostgreSql'
'Migrate.MongoDb'
'Migrate.MySql.AzureDbForMySql'
'Migrate.MySql.AzureDbForMySql.Sync'
'Migrate.Oracle.AzureDbForPostgreSql.Sync'
'Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2'
'Migrate.SqlServer.AzureSqlDb.Sync'
'Migrate.SqlServer.AzureSqlDbMI'
'Migrate.SqlServer.AzureSqlDbMI.Sync.LRS'
'Migrate.SqlServer.SqlDb'
'Migrate.Ssis'
'MigrateSchemaSqlServerSqlDb'
'Service.Check.OCI'
'Service.Install.OCI'
'Service.Upload.OCI'
'Validate.MongoDb'
'Validate.Oracle.AzureDbPostgreSql.Sync'
'ValidateMigrationInput.SqlServer.AzureSqlDbMI'
'ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS'
'ValidateMigrationInput.SqlServer.SqlDb.Sync' (required)

ProjectTaskPropertiesClientData

Name Description Value

SchemaMigrationSetting

Name Description Value
fileId Resource Identifier of a file resource containing the uploaded schema file string
fileName Name of the file resource containing the uploaded schema file string
schemaOption Option on how to migrate the schema 'ExtractFromSource'
'None'
'UseStorageFile'

SelectedCertificateInput

Name Description Value
certificateName Name of certificate to be exported. string (required)
password Password to use for encrypting the exported certificate. string (required)

SqlConnectionInfo

Name Description Value
additionalSettings Additional connection settings string
authentication Authentication type to use for connection 'ActiveDirectoryIntegrated'
'ActiveDirectoryPassword'
'None'
'SqlAuthentication'
'WindowsAuthentication'
dataSource Data source in the format Protocol:MachineName\SQLServerInstanceName,PortNumber string (required)
encryptConnection Whether to encrypt the connection bool
password Password credential. string
platform Server platform type for connection 'SqlOnPrem'
port Port for Server int
resourceId Represents the ID of an HTTP resource represented by an Azure resource provider. string
serverBrandVersion server brand version string
serverName name of the server string
serverVersion server version string
trustServerCertificate Whether to trust the server certificate bool
type Type of connection info string (required)
userName User name string

SsisMigrationInfo

Name Description Value
environmentOverwriteOption The overwrite option for the SSIS environment migration 'Ignore'
'Overwrite'
projectOverwriteOption The overwrite option for the SSIS project migration 'Ignore'
'Overwrite'
ssisStoreType The SSIS store type of source, only SSIS catalog is supported now in DMS (classic) 'SsisCatalog'

UploadOCIDriverTaskInput

Name Description Value
driverShare File share information for the OCI driver archive. FileShare

UploadOCIDriverTaskProperties

Name Description Value
input Input for the service task to upload an OCI driver. UploadOCIDriverTaskInput
taskType Task type. 'Service.Upload.OCI' (required)

ValidateMigrationInputSqlServerSqlDbSyncTaskProperties

Name Description Value
input Task input ValidateSyncMigrationInputSqlServerTaskInput
taskType Task type. 'ValidateMigrationInput.SqlServer.SqlDb.Sync' (required)

ValidateMigrationInputSqlServerSqlMISyncTaskInput

Name Description Value
azureApp Azure Active Directory Application the DMS (classic) instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account AzureActiveDirectoryApp (required)
backupFileShare Backup file share information for all selected databases. FileShare
selectedDatabases Databases to migrate MigrateSqlServerSqlMIDatabaseInput[] (required)
sourceConnectionInfo Connection information for source SQL Server SqlConnectionInfo (required)
storageResourceId Fully qualified resourceId of storage string (required)
targetConnectionInfo Connection information for Azure SQL Database Managed Instance MiSqlConnectionInfo (required)

ValidateMigrationInputSqlServerSqlMISyncTaskProperties

Name Description Value
input Task input ValidateMigrationInputSqlServerSqlMISyncTaskInput
taskType Task type. 'ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS' (required)

ValidateMigrationInputSqlServerSqlMITaskInput

Name Description Value
backupBlobShare SAS URI of Azure Storage Account Container to be used for storing backup files. BlobShare (required)
backupFileShare Backup file share information for all selected databases. FileShare
backupMode Backup Mode to specify whether to use existing backup or create new backup. 'CreateBackup'
'ExistingBackup'
selectedDatabases Databases to migrate MigrateSqlServerSqlMIDatabaseInput[] (required)
selectedLogins Logins to migrate string[]
sourceConnectionInfo Information for connecting to source SqlConnectionInfo (required)
targetConnectionInfo Information for connecting to target SqlConnectionInfo (required)

ValidateMigrationInputSqlServerSqlMITaskProperties

Name Description Value
input Task input ValidateMigrationInputSqlServerSqlMITaskInput
taskType Task type. 'ValidateMigrationInput.SqlServer.AzureSqlDbMI' (required)

ValidateMongoDbTaskProperties

Name Description Value
input Describes how a MongoDB data migration should be performed MongoDbMigrationSettings
taskType Task type. 'Validate.MongoDb' (required)

ValidateOracleAzureDbForPostgreSqlSyncTaskProperties

Name Description Value
input Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations MigrateOracleAzureDbPostgreSqlSyncTaskInput
taskType Task type. 'Validate.Oracle.AzureDbPostgreSql.Sync' (required)

ValidateSyncMigrationInputSqlServerTaskInput

Name Description Value
selectedDatabases Databases to migrate MigrateSqlServerSqlDbSyncDatabaseInput[] (required)
sourceConnectionInfo Information for connecting to source SQL server SqlConnectionInfo (required)
targetConnectionInfo Information for connecting to target SqlConnectionInfo (required)