All Products
Search
Document Center

Resource Orchestration Service:ALIYUN::DTS::MigrationJob2

Last Updated:Aug 12, 2024

ALIYUN::DTS::MigrationJob2 is used to purchase a data migration instance and configure a data migration task of the new version.

Syntax

{
  "Type": "ALIYUN::DTS::MigrationJob2",
  "Properties": {
    "Status": String,
    "Reserve": Map,
    "DataSynchronization": Boolean,
    "DedicatedClusterId": String,
    "DelayPhone": String,
    "ErrorNotice": Boolean,
    "DtsJobName": String,
    "DelayRuleTime": Integer,
    "DtsInstanceId": String,
    "DbList": Map,
    "FileOssUrl": String,
    "DataCheckConfigure": Map,
    "DtsBisLabel": String,
    "Checkpoint": String,
    "DisasterRecoveryJob": Boolean,
    "DtsJobId": String,
    "DelayNotice": Boolean,
    "DataInitialization": Boolean,
    "DestinationEndpoint": Map,
    "SourceEndpoint": Map,
    "ErrorPhone": String,
    "StructureInitialization": Boolean
  }
}

Properties

Property

Type

Required

Editable

Description

Constraint

Status

String

No

Yes

The status of the resources.

Valid values:

  • Synchronizing

  • Suspending

  • Stopping

Reserve

Map

No

No

The reserved property of Data Transmission Service (DTS).

You can use this property to add more configurations of the source or destination instance to DTS tasks. For example, you can specify the data storage format of a destination ApsaraMQ for Kafka database and the ID of a destination Cloud Enterprise Network (CEN) instance.

DataSynchronization

Boolean

Yes

No

Specifies whether to perform incremental data migration or incremental data synchronization.

Valid values:

  • true

  • false (default)

DedicatedClusterId

String

No

No

The ID of the DTS dedicated cluster.

You can schedule the data migration task to the DTS dedicated cluster.

DelayPhone

String

No

No

The mobile numbers to which latency-related alerts are sent.

Separate multiple mobile numbers with commas (,).

Note
  • This property can be used only for users of the China site (aliyun.com). Only mobile numbers in the Chinese mainland are supported. You can specify up to 10 mobile numbers.

  • Users of the international site (alibabacloud.com) cannot receive alerts by using mobile numbers, but can configure alert rules for DTS tasks in the CloudMonitor console. For more information, see Configure alert rules for DTS tasks in the CloudMonitor console.

ErrorNotice

Boolean

No

No

Specifies whether to monitor the task status.

Valid values:

  • true

  • false

DtsJobName

String

Yes

Yes

The name of the data migration task.

We recommend that you specify a descriptive name for easy identification. You do not need to use a unique name.

DelayRuleTime

Integer

No

No

The threshold for triggering latency-related alerts.

Unit: seconds. The value must be an integer. You can set the threshold based on your business requirements. To prevent jitters caused by network and database overloads, we recommend that you set the threshold to more than 10 seconds.

Note

You must specify this property when DelayNotice is set to true.

DtsInstanceId

String

No

No

The ID of the data migration instance.

None.

DbList

Map

Yes

No

The objects whose data you want to migrate.

The value is a JSON string. For more information, see Objects of DTS tasks.

FileOssUrl

String

No

No

The URL of the Object Storage Service (OSS) bucket that you want to use to store files of the data migration task.

None.

DataCheckConfigure

Map

No

No

The data verification task for the data migration or synchronization instance.

The value is a JSON string. You can use this property to configure information such as parameter limits or alert configurations. For more information, see DataCheckConfigure properties.

DtsBisLabel

String

No

No

The environment tag of the DTS instance.

Valid values:

  • normal

  • online

Checkpoint

String

No

No

The start offset of incremental data migration or incremental data synchronization.

This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC. Unit: seconds.

DisasterRecoveryJob

Boolean

No

No

Specifies whether the instance is a disaster recovery instance.

Valid values:

  • true

  • false

DtsJobId

String

No

No

The ID of the data migration task.

None.

DelayNotice

Boolean

No

No

Specifies whether to monitor the task latency.

Valid values:

  • true

  • false

DataInitialization

Boolean

Yes

No

Specifies whether to perform full data migration or initial full data synchronization.

Valid values:

  • true (default)

  • false

DestinationEndpoint

Map

Yes

Yes

The configurations of the destination instance.

For more information, see DestinationEndpoint properties.

SourceEndpoint

Map

Yes

Yes

The configurations of the source instance.

For more information, see SourceEndpoint properties.

ErrorPhone

String

No

No

The mobile numbers to which status-related alerts are sent.

Separate multiple mobile numbers with commas (,).

Note
  • This property can be used only for users of the China site (aliyun.com). Only mobile numbers in the Chinese mainland are supported. You can specify up to 10 mobile numbers.

  • Users of the international site (alibabacloud.com) cannot receive alerts by using mobile numbers, but can configure alert rules for DTS tasks in the CloudMonitor console. For more information, see Configure alert rules for DTS tasks in the CloudMonitor console.

StructureInitialization

Boolean

Yes

No

Specifies whether to perform schema migration or initial schema synchronization.

Valid values:

  • true (default)

  • false

DataCheckConfigure syntax

"DataCheckConfigure": {
  "fullCheckMaxReadRps": Integer,
  "dataCheckNoticePhone": String,
  "incrementalCheckDelayNotice": Boolean,
  "incrementalCheckDelayNoticeValue": Integer,
  "incrementalCheckDelayNoticePeriod": Integer,
  "dataCheckDbList": String,
  "checkMaximumHourEnable": Integer,
  "fullCheckRatio": Integer,
  "checkMaximumHour": Integer,
  "fullCheckFixData": Boolean,
  "fullCheckModel": Integer,
  "incrementalCheckValidFailNoticeValue": Integer,
  "incrementalDataCheck": Boolean,
  "incrementalCheckValidFailNoticeTimes": Integer,
  "fullCheckMaxReadBps": Integer,
  "fullCheckValidFailNotice": Boolean,
  "fullCheckErrorNotice": Boolean,
  "incrementalCheckValidFailNoticePeriod": Integer,
  "incrementalCheckDelayNoticeTimes": Integer,
  "fullCheckReferEndpoint": String,
  "fullDataCheck": Boolean,
  "incrementalCheckValidFailNotice": Boolean,
  "fullCheckNoticeValue": Integer,
  "incrementalCheckErrorNotice": Boolean
}

DataCheckConfigure properties

Property

Type

Required

Editable

Description

Constraint

fullCheckMaxReadRps

Integer

No

No

The maximum number of rows that are read per second.

Valid values: 0 to 9007199254740991. The value must be an integer.

Note

A value of 0 indicates that no limit is imposed.

dataCheckNoticePhone

String

No

No

The mobile number of the alert contact for the full or incremental data verification task.

If an alert is triggered on a data verification task, DTS sends alert notifications to the alert contact by using text messages.

incrementalCheckDelayNotice

Boolean

No

No

Specifies whether to trigger an alert on the data latency of the incremental data verification task.

Valid values:

  • true

    Note

    If the cumulative latency of the incremental data verification task within several statistical periods is greater than or equal to the threshold that you specify, an alert is triggered.

  • false

incrementalCheckDelayNoticeValue

Integer

No

No

The alert threshold for the data latency of the incremental data verification task.

Unit: seconds.

Note

You must specify this property when incrementalCheckDelayNotice is set to true.

incrementalCheckDelayNoticePeriod

Integer

No

No

The statistical period of an alert on the data latency of the incremental data verification task.

Valid values:

  • 1: 1 minute

  • 2: 5 minutes

  • 3: 10 minutes

  • 4: 30 minutes

Note

You must specify this property when incrementalCheckDelayNotice is set to true.

dataCheckDbList

String

No

No

The objects whose data you want to verify.

None.

checkMaximumHourEnable

Integer

No

No

Specifies whether to configure a timeout period for the full data verification task.

Valid values:

  • 0: does not configure a timeout period for the full data verification task.

  • 1: configures a timeout period for the full data verification task.

Note

You must specify this property when fullCheckModel is set to 1.

fullCheckRatio

Integer

No

No

The sampling ratio of the full data verification task.

Valid values: 10 to 100. The value must be an integer. Unit: percent.

Note

You must specify this property when fullCheckModel is set to 1.

checkMaximumHour

Integer

No

No

The timeout period of the full data verification task.

Valid values: 1 to 72. The value must be an integer. A countdown begins the moment the full data verification task is started. If the task is not complete within the specified timeout period, the task is forcefully stopped.

fullCheckFixData

Boolean

No

No

Specifies whether to replace the inconsistent data.

Valid values:

  • true

    Note

    If the data of the destination database is inconsistent with the data of the source database, the data values of the destination database are replaced with those of the source database.

  • false (default)

fullCheckModel

Integer

No

No

The mode of the full data verification task.

Valid values:

  • 1: verifies the data by sampling ratio.

  • 2: verifies the data by row.

incrementalCheckValidFailNoticeValue

Integer

No

No

The alert threshold for inconsistent data entries that are detected by the incremental data verification task.

You must specify this property when incrementalCheckValidFailNotice is set to true.

incrementalDataCheck

Boolean

No

No

Specifies whether to perform incremental data verification.

Valid values:

  • true

  • false

incrementalCheckValidFailNoticeTimes

Integer

No

No

The number of statistical periods of an alert on inconsistent data entries that are detected by the incremental data verification task.

You must specify this property when incrementalCheckValidFailNotice is set to true.

fullCheckMaxReadBps

Integer

No

No

The maximum amount of data that is read per second.

Valid values: 0 to 9007199254740991. The value must be an integer.

Unit: bytes.

Note

A value of 0 indicates that no limit is imposed.

fullCheckValidFailNotice

Boolean

No

No

Specifies whether to trigger an alert if inconsistent data is detected by the full data verification task.

Valid values:

  • true

    Note

    If the number of inconsistent data entries detected by the full data verification task is greater than or equal to the threshold that you specify, an alert is triggered.

  • false

fullCheckErrorNotice

Boolean

No

No

Specifies whether to trigger an alert if the full data verification task fails.

Valid values:

  • true

    Note

    If the full data verification task fails, an alert is triggered.

  • false

incrementalCheckValidFailNoticePeriod

Integer

No

No

The statistical period of an alert on inconsistent data entries that are detected by the incremental data verification task.

Valid values:

  • 1: 1 minute

  • 2: 5 minutes

  • 3: 10 minutes

  • 4: 30 minutes

Note

You must specify this property when incrementalCheckValidFailNotice is set to true.

incrementalCheckDelayNoticeTimes

Integer

No

No

The number of statistical periods of an alert on the data latency of the incremental data verification task.

You must specify this property when incrementalCheckDelayNotice is set to true.

fullCheckReferEndpoint

String

No

No

The benchmark for full data verification.

Valid values:

  • all: checks the data consistency between the source and destination databases based on the source and destination databases.

  • src: checks the data consistency between the source and destination databases based on the source database. Data that exists in the destination database but does not exist in the source database is not checked.

  • dest: checks the data consistency between the source and destination databases based on the destination database. Data that exists in the source database but does not exist in the destination database is not checked.

fullDataCheck

Boolean

No

No

Specifies whether to perform full data verification.

Valid values:

  • true

  • false

incrementalCheckValidFailNotice

Boolean

No

No

Specifies whether to trigger an alert if inconsistent data is detected by the incremental data verification task.

Valid values:

  • true

    Note

    If the cumulative number of inconsistent data entries detected by the incremental data verification task within several statistical periods is greater than or equal to the threshold that you specify, an alert is triggered.

  • false

fullCheckNoticeValue

Integer

No

No

The alert threshold for inconsistent data entries that are detected by the full data verification task.

You must specify this property when fullCheckValidFailNotice is set to true.

incrementalCheckErrorNotice

Boolean

No

No

Specifies whether to trigger an alert if the incremental data verification task fails.

Valid values:

  • true

    Note

    If the incremental data verification task fails, an alert is triggered.

  • false

DestinationEndpoint syntax

"DestinationEndpoint": {
  "Role": String,
  "OracleSID": String,
  "UserName": String,
  "OwnerID": String,
  "InstanceID": String,
  "IP": String,
  "Port": String,
  "DatabaseName": String,
  "Region": String,
  "InstanceType": String,
  "EngineName": String,
  "Password": String
}

DestinationEndpoint properties

Property

Type

Required

Editable

Description

Constraint

Role

String

No

No

The name of the Resource Access Management (RAM) role for the Alibaba Cloud account that owns the destination instance.

You must specify this property when you migrate or synchronize data across different Alibaba Cloud accounts.  

OracleSID

String

No

No

The system ID (SID) of the Oracle database.

You must specify this property when DestinationEndpoint.EngineName is set to Oracle and the Oracle database is not deployed in the Real Application Clusters (RAC) architecture.

UserName

String

No

No

The database account of the destination database.

The permissions that are required for the database account vary based on migration scenarios. For more information, see Overview of data migration scenarios.

OwnerID

String

No

No

The ID of the Alibaba Cloud account to which the destination database belongs.

You must specify this property when you configure data migration across different Alibaba Cloud accounts.

InstanceID

String

No

No

The ID of the destination instance.

You must specify this property when DestinationEndpoint.InstanceType is set to RDS, ECS, MongoDB, Redis, DRDS, PetaData, OceanBase, PolarDB, PolarDB_o, AnalyticDB, or Greenplum. For example, if DestinationEndpoint.InstanceType is set to ECS, you must set DestinationEndpoint.InstanceID to the ID of an Elastic Compute Service (ECS) instance.

IP

String

No

No

The IP address of the destination database.

You must specify this property when DestinationEndpoint.InstanceType is set to LocalInstance or Express.

Port

String

No

No

The service port of the destination database.

You must specify this property when DestinationEndpoint.InstanceType is set to ECS, LocalInstance, or Express.

DatabaseName

String

No

No

The name of the destination database or authentication database.

  • You must specify this property when DestinationEndpoint.EngineName is set to PostgreSQL, DRDS, or MongoDB.

  • If DestinationEndpoint.EngineName is set to PostgreSQL or DRDS, you must set DestinationEndpoint.DatabaseName to the name of the source database. If DestinationEndpoint.EngineName is set to MongoDB, you must set DestinationEndpoint.DatabaseName to the name of the authentication database.

Region

String

No

No

The region ID of the destination database.

If DestinationEndpoint.InstanceType is set to LocalInstance, you can set DestinationEndpoint.Region to cn-hangzhou or the ID of the region that is closest to the region of the self-managed database. For more information, see Supported regions.

InstanceType

String

Yes

No

The type of the destination instance.

Valid values:

  • ECS: self-managed database that is hosted on an ECS instance

  • LocalInstance: self-managed database with a public IP address

  • RDS: ApsaraDB RDS instance

  • DRDS: PolarDB for Xscale (PolarDB-X) instance

  • MongoDB: ApsaraDB for MongoDB instance

  • Redis: ApsaraDB for Redis instance

  • PetaData: HybridDB for MySQL instance

  • PolarDB: PolarDB for MySQL cluster or PolarDB for PostgreSQL cluster

  • PolarDB_o: PolarDB for Oracle cluster

  • AnalyticDB: AnalyticDB for MySQL V3.0 or V2.0 cluster

  • Greenplum: AnalyticDB for PostgreSQL instance

EngineName

String

No

No

The engine type of the destination database.

Valid values:

  • MySQL

  • DRDS

  • SQLServer

  • PostgreSQL

  • PPAS

  • MongoDB

  • Redis

  • PolarDB

  • polardb_pg

Note

You must specify this property when DestinationEndpoint.InstanceType is set to RDS, PolarDB, ECS, LocalInstance, or Express.

Password

String

No

Yes

The password of the destination database account.

None.

SourceEndpoint syntax

"SourceEndpoint": {
  "OracleSID": String,
  "UserName": String,
  "InstanceID": String,
  "IP": String,
  "Port": String,
  "VSwitchID": String,
  "DatabaseName": String,
  "EngineName": String,
  "Role": String,
  "OwnerID": String,
  "Region": String,
  "InstanceType": String,
  "Password": String
}

SourceEndpoint properties

Property

Type

Required

Editable

Description

Constraint

OracleSID

String

No

No

The SID of the Oracle database.

You must specify this property when SourceEndpoint.EngineName is set to Oracle and the Oracle database is not deployed in the RAC architecture.

UserName

String

No

No

The database account of the source database.

The permissions that are required for the database account vary based on migration scenarios. For more information, see Overview of data migration scenarios.

InstanceID

String

No

No

The ID of the instance that hosts the source database.

You must specify this property when SourceEndpoint.InstanceType is set to RDS, ECS, Express, MongoDB, PolarDB, or PolarDB_o. For example, if SourceEndpoint.InstanceType is set to ECS, you must set SourceEndpoint.InstanceID to the ID of an ECS instance. If SourceEndpoint.InstanceType is set to Express, you must set SourceEndpoint.InstanceID to the ID of a virtual private cloud (VPC).

IP

String

No

No

The IP address of the source database.

You must specify this property when SourceEndpoint.InstanceType is set to LocalInstance or Express.

Port

String

No

No

The service port of the source database.

You must specify this property when SourceEndpoint.InstanceType is set to ECS, LocalInstance, or Express.

VSwitchID

String

No

No

The ID of the vSwitch that you want to use for the data transmission link.  

None.

DatabaseName

String

No

No

The name of the source database or authentication database.

  • You must specify this property when SourceEndpoint.EngineName is set to PostgreSQL or MongoDB.

  • If SourceEndpoint.EngineName is set to PostgreSQL, you must set SourceEndpoint.DatabaseName to the name of the source database. If SourceEndpoint.EngineName is set to MongoDB, you must set SourceEndpoint.DatabaseName to the name of the authentication database.

EngineName

String

No

No

The engine type of the source database.

Valid values:

  • MySQL

  • TiDB

  • SQLServer

  • PostgreSQL

  • Oracle

  • MongoDB

  • Redis

  • PolarDB

  • polardb_pg

Note

You must specify this property when SourceEndpoint.InstanceType is set to RDS, PolarDB, ECS, LocalInstance, or Express.

Role

String

No

No

The RAM role of the source instance.

You must specify this property when the source and destination instances belong to different Alibaba Cloud accounts. You can use the RAM role to authorize the Alibaba Cloud account that owns the destination instance to access the source instance.

Note

For more information about the permissions required by the RAM role and how to grant the permissions, see Configure RAM authorization for cross-account DTS tasks.

OwnerID

String

No

No

The ID of the Alibaba Cloud account to which the source instance belongs.

You must specify this property when you configure data migration across different Alibaba Cloud accounts.

Region

String

No

No

The region ID of the source database.

If SourceEndpoint.InstanceType is set to LocalInstance, you can set SourceEndpoint.Region to cn-hangzhou or the ID of the region that is closest to the region of the self-managed database. For more information, see Supported regions.

InstanceType

String

Yes

No

The type of the source instance.

Valid values:

  • RDS: ApsaraDB RDS instance

  • ECS: self-managed database that is hosted on an ECS instance

  • LocalInstance: self-managed database with a public IP address

  • Express: self-managed database that is connected over Express Connect, VPN Gateway, or Smart Access Gateway

  • dg: self-managed database that is connected over Database Gateway

  • cen: self-managed database that is connected over CEN

  • MongoDB: ApsaraDB for MongoDB instance

  • PolarDB: PolarDB for MySQL cluster or PolarDB for PostgreSQL cluster

  • PolarDB_o: PolarDB for Oracle cluster

Password

String

No

Yes

The password of the source database account.

None.

Return values

Fn::GetAtt

  • DtsJobId: the ID of the data migration task.

  • DtsJobName: the name of the data migration task.

  • DtsInstanceId: the ID of the data migration instance.

Examples

  • YAML format

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
      SourceEndpoint:
        AssociationPropertyMetadata:
          Parameters:
            UserName:
              Default: null
              Type: String
              Description:
                en: >-
                  The database account of the source database.
    
                  **Note**: In most cases, this parameter is required. The
                  permissions that are required for the database account vary with
                  the migration or synchronization scenario.
            Password:
              Default: null
              Type: String
              Description:
                en: The password of the source database account.
            InstanceID:
              Default: null
              Type: String
              Description:
                en: >-
                  The ID of the source instance. If the source instance is an
                  Alibaba Cloud database instance, you must specify the ID of the
                  database instance. For example, 
    
                  - If the source instance is an ApsaraDB RDS for MySQL instance,
                  you must specify the ID of the ApsaraDB RDS for MySQL instance. 
    
                  - If the source instance is a self-managed database, the value of
                  this parameter varies with the value of
                  SourceEndpointInstanceType.
    
                  - If InstanceType is set to ECS, you must specify the ID of the
                  ECS instance.
    
                  - If InstanceType is set to DG, you must specify the ID of the
                  database gateway.
    
                  - If InstanceType is set to EXPRESS or CEN, you must specify the
                  ID of the VPC that is connected to the source instance.
    
                  **Note**: If DestinationEndpointInstanceType is set to CEN, you
                  must also specify the ID of the CEN instance in the Reserve
                  parameter.
            IP:
              Default: null
              Type: String
              Description:
                en: >-
                  The IP address of the source instance. 
    
                  **Note**: This parameter is required only when **InstanceType** is
                  set to **OTHER**, **EXPRESS**, **DG**, or **CEN**.
            Region:
              Default: null
              Type: String
              Description:
                en: >-
                  The ID of the region in which the source instance resides.
    
                  **Note**: If the source instance is an Alibaba Cloud database
                  instance, this parameter is required.
            InstanceType:
              Type: String
              Description:
                en: >-
                  The type of the source instance. Valid values:
    
                  Alibaba Cloud database instances:
    
                  - **RDS**: ApsaraDB RDS for MySQL instance, ApsaraDB RDS for SQL
                  Server instance, ApsaraDB RDS for PostgreSQL instance, or ApsaraDB
                  RDS for MariaDB TX instance
    
                  - **PolarDB**: PolarDB for MySQL cluster
    
                  - **REDIS**: ApsaraDB for Redis instance
    
                  - **DISTRIBUTED_POLARDBX10**: PolarDB-X 1.0 (formerly DRDS)
                  instance
    
                  - **POLARDBX20**: PolarDB-X 2.0 instance
    
                  - **MONGODB**: ApsaraDB for MongoDB instance
    
                  - **DISTRIBUTED_DMSLOGICDB**: Data Management (DMS) logical
                  database
    
                  Self-managed databases:
    
                  - **OTHER**: self-managed database with a public IP address
    
                  - **ECS**: self-managed database hosted on an Elastic Compute
                  Service (ECS) instance
    
                  - **EXPRESS**: self-managed database connected over Express
                  Connect
    
                  - **CEN**: self-managed database connected over Cloud Enterprise
                  Network (CEN)
    
                  - **DG**: self-managed database connected over Database Gateway
    
                  **Note**: If the source instance is a PolarDB for PostgreSQL
                  cluster (compatible with Oracle), you must set this parameter to
                  **OTHER** or **EXPRESS**. Then, you can connect the PolarDB for
                  PostgreSQL cluster to DTS as a self-managed database by using a
                  public IP address or Express Connect. If the source instance is a
                  self-managed database, you must deploy the network environment for
                  the database. 
            VSwitchID:
              Default: null
              Type: String
              Description:
                en: The ID of the vSwitch used for the data shipping link.
            DatabaseName:
              Default: null
              Type: String
              Description:
                en: >-
                  The name of the database which contains the objects to be migrated
                  in the source instance.
    
                  **Note**: This parameter is required only when the source instance
                  is a PolarDB for PostgreSQL cluster (compatible with Oracle), a
                  PostgreSQL database, or a MongoDB database.
            EngineName:
              Default: null
              Type: String
              Description:
                en: >-
                  The database engine of the source instance. Valid values:
    
                  - **MYSQL**: ApsaraDB RDS for MySQL instance or self-managed MySQL
                  database
    
                  - **MARIADB**: ApsaraDB RDS for MariaDB TX instance
    
                  - **PolarDB**: PolarDB for MySQL cluster
    
                  - **POLARDB_O**: PolarDB for PostgreSQL cluster (compatible with
                  Oracle)
    
                  - **POLARDBX10**: PolarDB-X 1.0 instance
    
                  - **POLARDBX20**: PolarDB-X 2.0 instance
    
                  - **ORACLE**: self-managed Oracle database
    
                  - **POSTGRESQL**: ApsaraDB RDS for PostgreSQL instance or
                  self-managed PostgreSQL database
    
                  - **MSSQL**: ApsaraDB RDS for SQL Server instance or self-managed
                  SQL Server database
    
                  - **MONGODB**: ApsaraDB for MongoDB instance or self-managed
                  MongoDB database
    
                  - **DB2**: self-managed Db2 for LUW database
    
                  - **AS400**: self-managed Db2 for i database
    
                  - **DMSPOLARDB**: DMS logical database
    
                  - **HBASE**: self-managed HBase database
    
                  - **TERADATA**: Teradata database
    
                  - **TiDB**: TiDB database
    
                  - **REDIS**: ApsaraDB for Redis instance or self-managed Redis
                  database
    
                  **Note**: Default value: **MYSQL**.
    
                  If EngineName is set to **MONGODB**, you must also specify the
                  architecture type of the **MongoDB** database in the **Reserve**
                  parameter.
            Role:
              Default: null
              Type: String
              Description:
                en: >-
                  The name of the Resource Access Management (RAM) role configured
                  for the Alibaba Cloud account that owns the source instance.
    
                  **Note**: This parameter is required when you migrate or
                  synchronize data across different Alibaba Cloud accounts.
            OwnerID:
              Default: null
              Type: String
              Description:
                en: >-
                  The ID of the Alibaba Cloud account to which the source database
                  belongs.
    
                  **Note**: You can specify this parameter to migrate or synchronize
                  data across different Alibaba Cloud accounts. In this case, you
                  must specify **Role**.
            OracleSID:
              Default: null
              Type: String
              Description:
                en: >-
                  The system ID (SID) of the Oracle database.
    
                  **Note**: This parameter is required only when **EngineName** is
                  set to **ORACLE** and the Oracle database is deployed in an
                  architecture that is not a Real Application Cluster (RAC).
            Port:
              Default: null
              Type: String
              Description:
                en: >-
                  The port number of the source instance.
    
                  **Note**: This parameter is required only when the source instance
                  is a self-managed database.
        Type: Json
        Description:
          en: Source instance configuration.
      Checkpoint:
        Default: null
        Type: String
        Description:
          en: >-
            The start offset of incremental data migration or synchronization. This
            value is a UNIX timestamp representing the number of seconds that have
            elapsed since January 1, 1970, 00:00:00 UTC.
      Status:
        Default: null
        Type: String
        Description:
          en: |-
            The status of the resource. Valid values:
            - **Migrating**: Start the task.
            - **Suspending**: Suspend the task.
            - **Stopping**: Stop the task.
        AllowedValues:
          - Migrating
          - Suspending
          - Stopping
      DisasterRecoveryJob:
        Default: null
        Type: Boolean
        Description:
          en: >-
            Specifies whether the instance is a disaster recovery instance. Valid
            values: **true** and **false**
      DtsJobId:
        Default: null
        Type: String
        Description:
          en: The ID of the DTS task.
      DtsJobName:
        Type: String
        Description:
          en: The name of the DTS instance.
      DataSynchronization:
        Type: Boolean
        Description:
          en: >-
            Specifies whether to perform incremental data migration or incremental
            data synchronization. Default value: **false**. Valid values: **true**
            and **false**.
      DataCheckConfigure:
        Default: null
        AssociationPropertyMetadata:
          Parameters:
            fullCheckErrorNotice:
              Default: null
              Type: Boolean
              Description:
                en: >-
                  Specifies whether to trigger an alert if the full data
                  verification task fails. Valid values: **true** and **false**.
    
                  **Note**: For example, you set this parameter to **true**. If the
                  full data verification task fails, an alert is triggered.
            fullCheckValidFailNotice:
              Default: null
              Type: Boolean
              Description:
                en: >-
                  Specifies whether to trigger an alert if inconsistent data is
                  detected by the full data verification task. Valid values:
                  **true** and **false**.
    
                  **Note**: For example, you set this parameter to true. If the
                  number of inconsistent data entries detected by the full data
                  verification task is greater than or equal to the threshold that
                  you specified, an alert is triggered.
            incrementalCheckValidFailNotice:
              Default: null
              Type: Boolean
              Description:
                en: >-
                  Specifies whether to trigger an alert if inconsistent data is
                  detected by the incremental data verification task. Valid values:
                  **true** and **false**.
    
                  **Note**: For example, you set this parameter to **true**. If the
                  cumulative number of inconsistent data entries detected by the
                  incremental data verification task in several statistical periods
                  is greater than or equal to the threshold that you specified, an
                  alert is triggered.
            dataCheckNoticePhone:
              Default: null
              Type: String
              Description:
                en: >-
                  The mobile number of the alert contact for a full or incremental
                  data verification task. If an alert is triggered for a
                  verification task, a text message is sent to notify the alert
                  contact.
            fullCheckReferEndpoint:
              Default: null
              Type: String
              Description:
                en: >-
                  The benchmark for full data verification. Valid values:
    
                  - **all**: checks the data consistency between the source and
                  destination databases based on the source and destination
                  databases.
    
                  - **src**: checks the data consistency between the source and
                  destination databases based on the source database. Objects that
                  exist in the destination database but do not exist in the source
                  database are not checked.
    
                  - **dest**: checks the data consistency between the source and
                  destination databases based on the destination database. Objects
                  that exist in the source database but do not exist in the
                  destination database are not checked.
            fullCheckModel:
              Default: null
              Type: Number
              Description:
                en: |-
                  The mode of the full data verification task. Valid values:
                  - **1**: verifies the data by sampling ratio.
                  - **2**: verifies the data by row.
              AllowedValues:
                - 1
                - 2
            incrementalCheckDelayNotice:
              Default: null
              Type: Boolean
              Description:
                en: >-
                  Specifies whether to trigger an alert on the data latency of the
                  incremental data verification task. Valid values: **true** and
                  **false**.
    
                  **Note**: For example, you set this parameter to **true**. If the
                  cumulative latency of the incremental data verification task in
                  several statistical periods is greater than or equal to the
                  threshold that you specified, an alert is triggered.
            incrementalCheckValidFailNoticePeriod:
              Default: null
              Type: Number
              Description:
                en: >-
                  The statistical period of an alert on inconsistent data entries
                  detected by the incremental data verification task. Valid values:
    
                  - **1**: 1 minute
    
                  - **2**: 5 minutes
    
                  - **3**: 10 minutes
    
                  - **4**: 30 minutes
    
                  **Note**: This parameter is required if the
                  **incrementalCheckValidFailNotice** parameter is set to **true**.
              AllowedValues:
                - 1
                - 2
                - 3
                - 4
            incrementalCheckDelayNoticeTimes:
              Default: null
              Type: Number
              Description:
                en: >-
                  The number of statistical periods of an alert on the data latency
                  of the incremental data verification task.
    
                  **Note**: This parameter is required if the
                  **incrementalCheckDelayNotice** parameter is set to **true**.
            fullCheckMaxReadBps:
              Default: null
              MinValue: 0
              Type: Number
              Description:
                en: >-
                  The maximum number of bytes that are read per second. Valid
                  values: integers from 0 to 9007199254740991.
              MaxValue: 9007199254740991
            incrementalCheckValidFailNoticeTimes:
              Default: null
              Type: Number
              Description:
                en: >-
                  The number of statistical periods of an alert on inconsistent data
                  entries detected by the incremental data verification task.
    
                  **Note**: This parameter is required if the
                  **incrementalCheckValidFailNotice** parameter is set to **true**.
            fullCheckMaxReadRps:
              Default: null
              MinValue: 0
              Type: Number
              Description:
                en: >-
                  The maximum number of data rows that are read per second. Valid
                  values: integers from 0 to 9007199254740991.
              MaxValue: 9007199254740991
            incrementalCheckValidFailNoticeValue:
              Default: null
              Type: Number
              Description:
                en: >-
                  The alert threshold for inconsistent data entries detected by the
                  incremental data verification task.
    
                  **Note**: This parameter is required if the
                  **incrementalCheckValidFailNotice** parameter is set to **true**.
            fullDataCheck:
              Default: null
              Type: Boolean
              Description:
                en: >-
                  Specifies whether to perform a full data verification task. Valid
                  values: **true** and **false**.
            fullCheckRatio:
              Default: null
              MinValue: 10
              Type: Number
              Description:
                en: >-
                  The sampling ratio of the full data verification task. Valid
                  values: integers from 10 to 100. Unit: percent.
    
                  **Note**: This parameter is required if the **fullCheckModel**
                  parameter is set to 1.
              MaxValue: 100
            incrementalCheckDelayNoticeValue:
              Default: null
              Type: Number
              Description:
                en: >-
                  The alert threshold for the data latency of the incremental data
                  verification task. Unit: seconds.
    
                  **Note**: This parameter is required if the
                  **incrementalCheckDelayNotice** parameter is set to **true**.
            checkMaximumHourEnable:
              Default: null
              Type: Number
              Description:
                en: >-
                  Specifies whether to configure a timeout period for the full data
                  verification task.Valid values:
    
                  - **0**: does not configure a timeout period for the full data
                  verification task.
    
                  - **1**: configures a timeout period for the full data
                  verification task.
    
                  **Note**: This parameter is required if the fullCheckModel
                  parameter is set to 1.
              AllowedValues:
                - 0
                - 1
            dataCheckDbList:
              Default: null
              Type: String
              Description:
                en: >-
                  The objects whose data is to be verified. The value must be a JSON
                  string.
            incrementalCheckErrorNotice:
              Default: null
              Type: Boolean
              Description:
                en: >-
                  Specifies whether to trigger an alert if the incremental data
                  verification task fails. Valid values: **true** and **false**.
    
                  Note: For example, you set this parameter to **true**. If the
                  incremental data verification task fails, an alert is triggered.
            checkMaximumHour:
              Default: null
              MinValue: 1
              Type: Number
              Description:
                en: >-
                  The timeout period of the full data verification task. Valid
                  values: integers from 1 to 72. Countdown begins the moment the
                  full data verification task is started. If the task is not
                  complete within the specified timeout period, the task is forcibly
                  stopped.
              MaxValue: 72
            incrementalCheckDelayNoticePeriod:
              Default: null
              Type: Number
              Description:
                en: >-
                  The statistical period of an alert on the data latency of the
                  incremental data verification task. Valid values:
    
                  - **1**: 1 minute
    
                  - **2**: 5 minutes
    
                  - **3**: 10 minutes
    
                  - **4**: 30 minutes
    
                  **Note**: This parameter is required if the
                  **incrementalCheckDelayNotice** parameter is set to **true**.
              AllowedValues:
                - 1
                - 2
                - 3
                - 4
            fullCheckFixData:
              Default: null
              Type: Boolean
              Description:
                en: >-
                  Specifies whether to replace the inconsistent data. Valid values:
                  **true** and **false**. Default value: false.
    
                  **Note**: For example, you set this parameter to true. If the
                  destination database has data that is inconsistent with the data
                  in the source database, the data values of the destination
                  database are replaced with those of the source database.
            fullCheckNoticeValue:
              Default: null
              Type: Number
              Description:
                en: >-
                  The alert threshold for inconsistent data entries detected by the
                  full data verification task.
    
                  **Note**: This parameter is required if the
                  **fullCheckValidFailNotice** parameter is set to **true**.
            incrementalDataCheck:
              Default: null
              Type: Boolean
              Description:
                en: >-
                  Specifies whether to perform an incremental data verification
                  task. Valid values: **true** and **false**.
        Type: Json
        Description:
          en: >-
            The data verification task for a data migration or synchronization
            instance.
      StructureInitialization:
        Type: Boolean
        Description:
          en: >-
            Specifies whether to perform schema migration or schema synchronization.
            Default value: true. Valid values: **true** and **false**.
      DelayRuleTime:
        Default: null
        Type: Number
        Description:
          en: >-
            The threshold for latency alerts. Unit: seconds. You can set the
            threshold based on your business requirements. To prevent jitters caused
            by network and database overloads, we recommend that you set the
            threshold to more than 10 seconds.
      ErrorPhone:
        Default: null
        Type: String
        Description:
          en: >-
            The mobile numbers that receive status-related alerts. Separate multiple
            mobile numbers with commas (,).
    
            **Note**: This parameter is available only for users of the China site
            (aliyun.com). Only mobile numbers in the Chinese mainland are supported.
            You can specify up to 10 mobile numbers. Users of the international site
            (alibabacloud.com) cannot receive alerts by using mobile numbers, but
            can configure alert rules for DTS tasks in the CloudMonitor console.
      DtsInstanceId:
        Default: null
        Type: String
        Description:
          en: The ID of the DTS instance.
      DestinationEndpoint:
        AssociationPropertyMetadata:
          Parameters:
            UserName:
              Default: null
              Type: String
              Description:
                en: >-
                  The database account of the destination database.
    
                  **Note**: In most cases, this parameter is required. The
                  permissions that are required for the database account vary with
                  the migration or synchronization scenario.
            Password:
              Default: null
              Type: String
              Description:
                en: The password of the destination database account.
            InstanceID:
              Default: null
              Type: String
              Description:
                en: >-
                  The ID of the destination instance. If the destination instance is
                  an Alibaba Cloud database instance, you must specify the ID of the
                  database instance. For example, 
    
                  - If the destination instance is an ApsaraDB RDS for MySQL
                  instance, you must specify the ID of the ApsaraDB RDS for MySQL
                  instance. 
    
                  - If the destination instance is a self-managed database, the
                  value of this parameter varies with the value of
                  SourceEndpointInstanceType.
    
                  - If InstanceType is set to ECS, you must specify the ID of the
                  ECS instance.
    
                  - If InstanceType is set to DG, you must specify the ID of the
                  database gateway.
    
                  - If InstanceType is set to EXPRESS or CEN, you must specify the
                  ID of the VPC that is connected to the destination instance.
    
                  **Note**: If DestinationEndpointInstanceType is set to CEN, you
                  must also specify the ID of the CEN instance in the Reserve
                  parameter.
            IP:
              Default: null
              Type: String
              Description:
                en: >-
                  The IP address of the destination instance. 
    
                  **Note**: This parameter is required only when **InstanceType** is
                  set to **OTHER**, **EXPRESS**, **DG**, or **CEN**.
            Region:
              Default: null
              Type: String
              Description:
                en: >-
                  The ID of the region in which the destination instance resides.
    
                  **Note**: If the source instance is an Alibaba Cloud database
                  instance, this parameter is required.
            InstanceType:
              Type: String
              Description:
                en: >-
                  The type of the destination instance. Valid values:
    
                  Alibaba Cloud database instances
    
                  - **RDS**: ApsaraDB RDS for MySQL instance, ApsaraDB RDS for SQL
                  Server instance, ApsaraDB RDS for PostgreSQL instance, or ApsaraDB
                  RDS for MariaDB TX instance
    
                  - **PolarDB**: PolarDB for MySQL cluster
    
                  - **DISTRIBUTED_POLARDBX10**: PolarDB-X 1.0 (formerly DRDS)
                  instance
    
                  - **POLARDBX20**: PolarDB-X 2.0 instance
    
                  - **REDIS**: ApsaraDB for Redis instance
    
                  - **ADS**: AnalyticDB for MySQL V2.0 cluster or AnalyticDB for
                  MySQL V3.0 cluster
    
                  - **MONGODB**: ApsaraDB for MongoDB instance
    
                  - **GREENPLUM**: AnalyticDB for PostgreSQL instance
    
                  - **DATAHUB**: DataHub project
    
                  - **ELK**: Elasticsearch cluster
    
                  - **Tablestore**: Tablestore instance
    
                  - **ODPS**: MaxCompute project
    
                  Self-managed databases
    
                  - **OTHER**: self-managed database with a public IP address
    
                  - **ECS**: self-managed database hosted on an ECS instance
    
                  - **EXPRESS**: self-managed database connected over Express
                  Connect
    
                  - **CEN**: self-managed database connected over CEN
    
                  - **DG**: self-managed database connected over Database Gateway
    
                  **Note**: If the destination instance is a PolarDB for PostgreSQL
                  cluster (compatible with Oracle), you must set this parameter to
                  OTHER or EXPRESS. Then, you can connect the PolarDB for PostgreSQL
                  cluster (compatible with Oracle) to DTS as a self-managed database
                  by using a public IP address or Express Connect.
    
                  If the destination instance is a Message Queue for Apache Kafka
                  instance, you must set this parameter to ECS or EXPRESS. Then, you
                  can connect the Message Queue for Apache Kafka instance to DTS as
                  a self-managed database connected over ECS or Express Connect.
    
                  If the destination instance is a self-managed database, you must
                  deploy the network environment for the database.
            Role:
              Default: null
              Type: String
              Description:
                en: >-
                  The name of the Resource Access Management (RAM) role configured
                  for the Alibaba Cloud account that owns the destination instance.
    
                  **Note**: This parameter is required when you migrate or
                  synchronize data across different Alibaba Cloud accounts.
            DatabaseName:
              Default: null
              Type: String
              Description:
                en: >-
                  The name of the database which contains the objects to be migrated
                  in the destination instance.
    
                  **Note**: This parameter is required only when the destination
                  instance is a PolarDB for PostgreSQL cluster (compatible with
                  Oracle), a PostgreSQL database, or a MongoDB database.
            EngineName:
              Default: null
              Type: String
              Description:
                en: >-
                  The database engine of the destination instance. Valid values:
    
                  - **MYSQL**: ApsaraDB RDS for MySQL instance or self-managed MySQL
                  database
    
                  - **MARIADB**: ApsaraDB RDS for MariaDB TX instance
    
                  - **PolarDB**: PolarDB for MySQL cluster
    
                  - **POLARDB_O**: PolarDB for PostgreSQL cluster (compatible with
                  Oracle)
    
                  - **POLARDBX10**: PolarDB-X 1.0 instance
    
                  - **POLARDBX20**: PolarDB-X 2.0 instance
    
                  - **ORACLE**: self-managed Oracle database
    
                  - **POSTGRESQL**: ApsaraDB RDS for PostgreSQL instance or
                  self-managed PostgreSQL database
    
                  - **MSSQL**: ApsaraDB RDS for SQL Server instance or self-managed
                  SQL Server database
    
                  - **ADS**: AnalyticDB for MySQL V2.0 cluster
    
                  - **ADB30**: AnalyticDB for MySQL V3.0 cluster- **MONGODB**:
                  ApsaraDB for MongoDB instance or self-managed MongoDB database
    
                  - **GREENPLUM**: AnalyticDB for PostgreSQL instance
    
                  - **KAFKA**: Message Queue for Apache Kafka instance or
                  self-managed Kafka cluster
    
                  - **DATAHUB**: DataHub project- **DB2**: self-managed Db2 for LUW
                  database
    
                  - **AS400**: self-managed Db2 for i database
    
                  - **ODPS**: MaxCompute project
    
                  - **Tablestore**: Tablestore instance
    
                  - **ELK**: Elasticsearch cluster
    
                  - **REDIS**: ApsaraDB for Redis instance or self-managed Redis
                  database
    
                  **Note**: Default value: **MYSQL**.
    
                  If this parameter is set to **KAFKA**, **MONGODB**, or
                  **PolarDB**, you must also specify the database information in the
                  Reserve parameter.
            OwnerID:
              Default: null
              Type: String
              Description:
                en: >-
                  The ID of the Alibaba Cloud account to which the destination
                  database belongs.
    
                  **Note**: You can specify this parameter to migrate or synchronize
                  data across different Alibaba Cloud accounts. In this case, you
                  must specify **Role**.
            OracleSID:
              Default: null
              Type: String
              Description:
                en: >-
                  The system ID (SID) of the Oracle database.
    
                  **Note**: This parameter is required only when **EngineName** is
                  set to **ORACLE** and the Oracle database is deployed in an
                  architecture that is not a Real Application Cluster (RAC).
            Port:
              Default: null
              Type: String
              Description:
                en: >-
                  The port number of the destination instance.
    
                  **Note**: This parameter is required only when the destination
                  instance is a self-managed database.
        Type: Json
        Description:
          en: Destination instance configuration.
      ErrorNotice:
        Default: null
        Type: Boolean
        Description:
          en: >-
            Specifies whether to monitor the task status. Valid values: **true** and
            **false**.
      FileOssUrl:
        Default: null
        Type: String
        Description:
          en: >-
            The URL of the Object Storage Service (OSS) bucket that stores the files
            related to the DTS task.
      Reserve:
        Default: null
        Type: Json
        Description:
          en: >-
            The reserved parameter of DTS. You can specify this parameter to add
            more configurations of the source or destination instance to the DTS
            task. For example, you can specify the data storage format of the
            destination Kafka database and the ID of the CEN instance.
      DelayPhone:
        Default: null
        Type: String
        Description:
          en: >-
            The mobile numbers that receive latency-related alerts. Separate
            multiple mobile numbers with commas (,).
    
            **Note**: This parameter is available only for users of the China site
            (aliyun.com). Only mobile numbers in the Chinese mainland are supported.
            You can specify up to 10 mobile numbers. Users of the international site
            (alibabacloud.com) cannot receive alerts by using mobile numbers, but
            can configure alert rules for DTS tasks in the CloudMonitor console.
      DelayNotice:
        Default: null
        Type: Boolean
        Description:
          en: >-
            Specifies whether to monitor the task latency. Valid values: **true**
            and **false**
      DataInitialization:
        Type: Boolean
        Description:
          en: >-
            Specifies whether to perform full data migration or full data
            synchronization. Default value: **true**. Valid values: **true** and
            **false**.
      DtsBisLabel:
        Default: null
        Type: String
        Description:
          en: >-
            The environment tag of the DTS instance. Valid values: **normal** and
            **online**.
      DbList:
        Type: Json
        Description:
          en: The objects that you want to migrate or synchronize.
      DedicatedClusterId:
        Default: null
        Type: String
        Description:
          en: The ID of the DTS dedicated cluster on which the task runs.
    Resources:
      MigrationJob:
        Type: 'ALIYUN::DTS::MigrationJob2'
        Properties:
          SourceEndpoint:
            Ref: SourceEndpoint
          Checkpoint:
            Ref: Checkpoint
          Status:
            Ref: Status
          DisasterRecoveryJob:
            Ref: DisasterRecoveryJob
          DtsJobId:
            Ref: DtsJobId
          DtsJobName:
            Ref: DtsJobName
          DataSynchronization:
            Ref: DataSynchronization
          DataCheckConfigure:
            Ref: DataCheckConfigure
          StructureInitialization:
            Ref: StructureInitialization
          DelayRuleTime:
            Ref: DelayRuleTime
          ErrorPhone:
            Ref: ErrorPhone
          DtsInstanceId:
            Ref: DtsInstanceId
          DestinationEndpoint:
            Ref: DestinationEndpoint
          ErrorNotice:
            Ref: ErrorNotice
          FileOssUrl:
            Ref: FileOssUrl
          Reserve:
            Ref: Reserve
          DelayPhone:
            Ref: DelayPhone
          DelayNotice:
            Ref: DelayNotice
          DataInitialization:
            Ref: DataInitialization
          DtsBisLabel:
            Ref: DtsBisLabel
          DbList:
            Ref: DbList
          DedicatedClusterId:
            Ref: DedicatedClusterId
    Outputs:
      DtsJobName:
        Description: The name of the DTS job.
        Value:
          'Fn::GetAtt':
            - MigrationJob
            - DtsJobName
      DtsInstanceId:
        Description: The ID of the DTS instance.
        Value:
          'Fn::GetAtt':
            - MigrationJob
            - DtsInstanceId
      DtsJobId:
        Description: The ID of the task.
        Value:
          'Fn::GetAtt':
            - MigrationJob
            - DtsJobId
    
                            
  • JSON format

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
        "SourceEndpoint": {
          "AssociationPropertyMetadata": {
            "Parameters": {
              "UserName": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The database account of the source database.\n**Note**: In most cases, this parameter is required. The permissions that are required for the database account vary with the migration or synchronization scenario."
                }
              },
              "Password": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The password of the source database account."
                }
              },
              "InstanceID": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The ID of the source instance. If the source instance is an Alibaba Cloud database instance, you must specify the ID of the database instance. For example, \n- If the source instance is an ApsaraDB RDS for MySQL instance, you must specify the ID of the ApsaraDB RDS for MySQL instance. \n- If the source instance is a self-managed database, the value of this parameter varies with the value of SourceEndpointInstanceType.\n- If InstanceType is set to ECS, you must specify the ID of the ECS instance.\n- If InstanceType is set to DG, you must specify the ID of the database gateway.\n- If InstanceType is set to EXPRESS or CEN, you must specify the ID of the VPC that is connected to the source instance.\n**Note**: If DestinationEndpointInstanceType is set to CEN, you must also specify the ID of the CEN instance in the Reserve parameter."
                }
              },
              "IP": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The IP address of the source instance. \n**Note**: This parameter is required only when **InstanceType** is set to **OTHER**, **EXPRESS**, **DG**, or **CEN**."
                }
              },
              "Region": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The ID of the region in which the source instance resides.\n**Note**: If the source instance is an Alibaba Cloud database instance, this parameter is required."
                }
              },
              "InstanceType": {
                "Type": "String",
                "Description": {
                  "en": "The type of the source instance. Valid values:\nAlibaba Cloud database instances:\n- **RDS**: ApsaraDB RDS for MySQL instance, ApsaraDB RDS for SQL Server instance, ApsaraDB RDS for PostgreSQL instance, or ApsaraDB RDS for MariaDB TX instance\n- **PolarDB**: PolarDB for MySQL cluster\n- **REDIS**: ApsaraDB for Redis instance\n- **DISTRIBUTED_POLARDBX10**: PolarDB-X 1.0 (formerly DRDS) instance\n- **POLARDBX20**: PolarDB-X 2.0 instance\n- **MONGODB**: ApsaraDB for MongoDB instance\n- **DISTRIBUTED_DMSLOGICDB**: Data Management (DMS) logical database\nSelf-managed databases:\n- **OTHER**: self-managed database with a public IP address\n- **ECS**: self-managed database hosted on an Elastic Compute Service (ECS) instance\n- **EXPRESS**: self-managed database connected over Express Connect\n- **CEN**: self-managed database connected over Cloud Enterprise Network (CEN)\n- **DG**: self-managed database connected over Database Gateway\n**Note**: If the source instance is a PolarDB for PostgreSQL cluster (compatible with Oracle), you must set this parameter to **OTHER** or **EXPRESS**. Then, you can connect the PolarDB for PostgreSQL cluster to DTS as a self-managed database by using a public IP address or Express Connect. If the source instance is a self-managed database, you must deploy the network environment for the database. "
                }
              },
              "VSwitchID": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The ID of the vSwitch used for the data shipping link."
                }
              },
              "DatabaseName": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The name of the database which contains the objects to be migrated in the source instance.\n**Note**: This parameter is required only when the source instance is a PolarDB for PostgreSQL cluster (compatible with Oracle), a PostgreSQL database, or a MongoDB database."
                }
              },
              "EngineName": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The database engine of the source instance. Valid values:\n- **MYSQL**: ApsaraDB RDS for MySQL instance or self-managed MySQL database\n- **MARIADB**: ApsaraDB RDS for MariaDB TX instance\n- **PolarDB**: PolarDB for MySQL cluster\n- **POLARDB_O**: PolarDB for PostgreSQL cluster (compatible with Oracle)\n- **POLARDBX10**: PolarDB-X 1.0 instance\n- **POLARDBX20**: PolarDB-X 2.0 instance\n- **ORACLE**: self-managed Oracle database\n- **POSTGRESQL**: ApsaraDB RDS for PostgreSQL instance or self-managed PostgreSQL database\n- **MSSQL**: ApsaraDB RDS for SQL Server instance or self-managed SQL Server database\n- **MONGODB**: ApsaraDB for MongoDB instance or self-managed MongoDB database\n- **DB2**: self-managed Db2 for LUW database\n- **AS400**: self-managed Db2 for i database\n- **DMSPOLARDB**: DMS logical database\n- **HBASE**: self-managed HBase database\n- **TERADATA**: Teradata database\n- **TiDB**: TiDB database\n- **REDIS**: ApsaraDB for Redis instance or self-managed Redis database\n**Note**: Default value: **MYSQL**.\nIf EngineName is set to **MONGODB**, you must also specify the architecture type of the **MongoDB** database in the **Reserve** parameter."
                }
              },
              "Role": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The name of the Resource Access Management (RAM) role configured for the Alibaba Cloud account that owns the source instance.\n**Note**: This parameter is required when you migrate or synchronize data across different Alibaba Cloud accounts."
                }
              },
              "OwnerID": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The ID of the Alibaba Cloud account to which the source database belongs.\n**Note**: You can specify this parameter to migrate or synchronize data across different Alibaba Cloud accounts. In this case, you must specify **Role**."
                }
              },
              "OracleSID": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The system ID (SID) of the Oracle database.\n**Note**: This parameter is required only when **EngineName** is set to **ORACLE** and the Oracle database is deployed in an architecture that is not a Real Application Cluster (RAC)."
                }
              },
              "Port": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The port number of the source instance.\n**Note**: This parameter is required only when the source instance is a self-managed database."
                }
              }
            }
          },
          "Type": "Json",
          "Description": {
            "en": "Source instance configuration."
          }
        },
        "Checkpoint": {
          "Default": null,
          "Type": "String",
          "Description": {
            "en": "The start offset of incremental data migration or synchronization. This value is a UNIX timestamp representing the number of seconds that have elapsed since January 1, 1970, 00:00:00 UTC."
          }
        },
        "Status": {
          "Default": null,
          "Type": "String",
          "Description": {
            "en": "The status of the resource. Valid values:\n- **Migrating**: Start the task.\n- **Suspending**: Suspend the task.\n- **Stopping**: Stop the task."
          },
          "AllowedValues": [
            "Migrating",
            "Suspending",
            "Stopping"
          ]
        },
        "DisasterRecoveryJob": {
          "Default": null,
          "Type": "Boolean",
          "Description": {
            "en": "Specifies whether the instance is a disaster recovery instance. Valid values: **true** and **false**"
          }
        },
        "DtsJobId": {
          "Default": null,
          "Type": "String",
          "Description": {
            "en": "The ID of the DTS task."
          }
        },
        "DtsJobName": {
          "Type": "String",
          "Description": {
            "en": "The name of the DTS instance."
          }
        },
        "DataSynchronization": {
          "Type": "Boolean",
          "Description": {
            "en": "Specifies whether to perform incremental data migration or incremental data synchronization. Default value: **false**. Valid values: **true** and **false**."
          }
        },
        "DataCheckConfigure": {
          "Default": null,
          "AssociationPropertyMetadata": {
            "Parameters": {
              "fullCheckErrorNotice": {
                "Default": null,
                "Type": "Boolean",
                "Description": {
                  "en": "Specifies whether to trigger an alert if the full data verification task fails. Valid values: **true** and **false**.\n**Note**: For example, you set this parameter to **true**. If the full data verification task fails, an alert is triggered."
                }
              },
              "fullCheckValidFailNotice": {
                "Default": null,
                "Type": "Boolean",
                "Description": {
                  "en": "Specifies whether to trigger an alert if inconsistent data is detected by the full data verification task. Valid values: **true** and **false**.\n**Note**: For example, you set this parameter to true. If the number of inconsistent data entries detected by the full data verification task is greater than or equal to the threshold that you specified, an alert is triggered."
                }
              },
              "incrementalCheckValidFailNotice": {
                "Default": null,
                "Type": "Boolean",
                "Description": {
                  "en": "Specifies whether to trigger an alert if inconsistent data is detected by the incremental data verification task. Valid values: **true** and **false**.\n**Note**: For example, you set this parameter to **true**. If the cumulative number of inconsistent data entries detected by the incremental data verification task in several statistical periods is greater than or equal to the threshold that you specified, an alert is triggered."
                }
              },
              "dataCheckNoticePhone": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The mobile number of the alert contact for a full or incremental data verification task. If an alert is triggered for a verification task, a text message is sent to notify the alert contact."
                }
              },
              "fullCheckReferEndpoint": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The benchmark for full data verification. Valid values:\n- **all**: checks the data consistency between the source and destination databases based on the source and destination databases.\n- **src**: checks the data consistency between the source and destination databases based on the source database. Objects that exist in the destination database but do not exist in the source database are not checked.\n- **dest**: checks the data consistency between the source and destination databases based on the destination database. Objects that exist in the source database but do not exist in the destination database are not checked."
                }
              },
              "fullCheckModel": {
                "Default": null,
                "Type": "Number",
                "Description": {
                  "en": "The mode of the full data verification task. Valid values:\n- **1**: verifies the data by sampling ratio.\n- **2**: verifies the data by row."
                },
                "AllowedValues": [
                  1,
                  2
                ]
              },
              "incrementalCheckDelayNotice": {
                "Default": null,
                "Type": "Boolean",
                "Description": {
                  "en": "Specifies whether to trigger an alert on the data latency of the incremental data verification task. Valid values: **true** and **false**.\n**Note**: For example, you set this parameter to **true**. If the cumulative latency of the incremental data verification task in several statistical periods is greater than or equal to the threshold that you specified, an alert is triggered."
                }
              },
              "incrementalCheckValidFailNoticePeriod": {
                "Default": null,
                "Type": "Number",
                "Description": {
                  "en": "The statistical period of an alert on inconsistent data entries detected by the incremental data verification task. Valid values:\n- **1**: 1 minute\n- **2**: 5 minutes\n- **3**: 10 minutes\n- **4**: 30 minutes\n**Note**: This parameter is required if the **incrementalCheckValidFailNotice** parameter is set to **true**."
                },
                "AllowedValues": [
                  1,
                  2,
                  3,
                  4
                ]
              },
              "incrementalCheckDelayNoticeTimes": {
                "Default": null,
                "Type": "Number",
                "Description": {
                  "en": "The number of statistical periods of an alert on the data latency of the incremental data verification task.\n**Note**: This parameter is required if the **incrementalCheckDelayNotice** parameter is set to **true**."
                }
              },
              "fullCheckMaxReadBps": {
                "Default": null,
                "MinValue": 0,
                "Type": "Number",
                "Description": {
                  "en": "The maximum number of bytes that are read per second. Valid values: integers from 0 to 9007199254740991."
                },
                "MaxValue": 9007199254740991
              },
              "incrementalCheckValidFailNoticeTimes": {
                "Default": null,
                "Type": "Number",
                "Description": {
                  "en": "The number of statistical periods of an alert on inconsistent data entries detected by the incremental data verification task.\n**Note**: This parameter is required if the **incrementalCheckValidFailNotice** parameter is set to **true**."
                }
              },
              "fullCheckMaxReadRps": {
                "Default": null,
                "MinValue": 0,
                "Type": "Number",
                "Description": {
                  "en": "The maximum number of data rows that are read per second. Valid values: integers from 0 to 9007199254740991."
                },
                "MaxValue": 9007199254740991
              },
              "incrementalCheckValidFailNoticeValue": {
                "Default": null,
                "Type": "Number",
                "Description": {
                  "en": "The alert threshold for inconsistent data entries detected by the incremental data verification task.\n**Note**: This parameter is required if the **incrementalCheckValidFailNotice** parameter is set to **true**."
                }
              },
              "fullDataCheck": {
                "Default": null,
                "Type": "Boolean",
                "Description": {
                  "en": "Specifies whether to perform a full data verification task. Valid values: **true** and **false**."
                }
              },
              "fullCheckRatio": {
                "Default": null,
                "MinValue": 10,
                "Type": "Number",
                "Description": {
                  "en": "The sampling ratio of the full data verification task. Valid values: integers from 10 to 100. Unit: percent.\n**Note**: This parameter is required if the **fullCheckModel** parameter is set to 1."
                },
                "MaxValue": 100
              },
              "incrementalCheckDelayNoticeValue": {
                "Default": null,
                "Type": "Number",
                "Description": {
                  "en": "The alert threshold for the data latency of the incremental data verification task. Unit: seconds.\n**Note**: This parameter is required if the **incrementalCheckDelayNotice** parameter is set to **true**."
                }
              },
              "checkMaximumHourEnable": {
                "Default": null,
                "Type": "Number",
                "Description": {
                  "en": "Specifies whether to configure a timeout period for the full data verification task.Valid values:\n- **0**: does not configure a timeout period for the full data verification task.\n- **1**: configures a timeout period for the full data verification task.\n**Note**: This parameter is required if the fullCheckModel parameter is set to 1."
                },
                "AllowedValues": [
                  0,
                  1
                ]
              },
              "dataCheckDbList": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The objects whose data is to be verified. The value must be a JSON string."
                }
              },
              "incrementalCheckErrorNotice": {
                "Default": null,
                "Type": "Boolean",
                "Description": {
                  "en": "Specifies whether to trigger an alert if the incremental data verification task fails. Valid values: **true** and **false**.\nNote: For example, you set this parameter to **true**. If the incremental data verification task fails, an alert is triggered."
                }
              },
              "checkMaximumHour": {
                "Default": null,
                "MinValue": 1,
                "Type": "Number",
                "Description": {
                  "en": "The timeout period of the full data verification task. Valid values: integers from 1 to 72. Countdown begins the moment the full data verification task is started. If the task is not complete within the specified timeout period, the task is forcibly stopped."
                },
                "MaxValue": 72
              },
              "incrementalCheckDelayNoticePeriod": {
                "Default": null,
                "Type": "Number",
                "Description": {
                  "en": "The statistical period of an alert on the data latency of the incremental data verification task. Valid values:\n- **1**: 1 minute\n- **2**: 5 minutes\n- **3**: 10 minutes\n- **4**: 30 minutes\n**Note**: This parameter is required if the **incrementalCheckDelayNotice** parameter is set to **true**."
                },
                "AllowedValues": [
                  1,
                  2,
                  3,
                  4
                ]
              },
              "fullCheckFixData": {
                "Default": null,
                "Type": "Boolean",
                "Description": {
                  "en": "Specifies whether to replace the inconsistent data. Valid values: **true** and **false**. Default value: false.\n**Note**: For example, you set this parameter to true. If the destination database has data that is inconsistent with the data in the source database, the data values of the destination database are replaced with those of the source database."
                }
              },
              "fullCheckNoticeValue": {
                "Default": null,
                "Type": "Number",
                "Description": {
                  "en": "The alert threshold for inconsistent data entries detected by the full data verification task.\n**Note**: This parameter is required if the **fullCheckValidFailNotice** parameter is set to **true**."
                }
              },
              "incrementalDataCheck": {
                "Default": null,
                "Type": "Boolean",
                "Description": {
                  "en": "Specifies whether to perform an incremental data verification task. Valid values: **true** and **false**."
                }
              }
            }
          },
          "Type": "Json",
          "Description": {
            "en": "The data verification task for a data migration or synchronization instance."
          }
        },
        "StructureInitialization": {
          "Type": "Boolean",
          "Description": {
            "en": "Specifies whether to perform schema migration or schema synchronization. Default value: true. Valid values: **true** and **false**."
          }
        },
        "DelayRuleTime": {
          "Default": null,
          "Type": "Number",
          "Description": {
            "en": "The threshold for latency alerts. Unit: seconds. You can set the threshold based on your business requirements. To prevent jitters caused by network and database overloads, we recommend that you set the threshold to more than 10 seconds."
          }
        },
        "ErrorPhone": {
          "Default": null,
          "Type": "String",
          "Description": {
            "en": "The mobile numbers that receive status-related alerts. Separate multiple mobile numbers with commas (,).\n**Note**: This parameter is available only for users of the China site (aliyun.com). Only mobile numbers in the Chinese mainland are supported. You can specify up to 10 mobile numbers. Users of the international site (alibabacloud.com) cannot receive alerts by using mobile numbers, but can configure alert rules for DTS tasks in the CloudMonitor console."
          }
        },
        "DtsInstanceId": {
          "Default": null,
          "Type": "String",
          "Description": {
            "en": "The ID of the DTS instance."
          }
        },
        "DestinationEndpoint": {
          "AssociationPropertyMetadata": {
            "Parameters": {
              "UserName": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The database account of the destination database.\n**Note**: In most cases, this parameter is required. The permissions that are required for the database account vary with the migration or synchronization scenario."
                }
              },
              "Password": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The password of the destination database account."
                }
              },
              "InstanceID": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The ID of the destination instance. If the destination instance is an Alibaba Cloud database instance, you must specify the ID of the database instance. For example, \n- If the destination instance is an ApsaraDB RDS for MySQL instance, you must specify the ID of the ApsaraDB RDS for MySQL instance. \n- If the destination instance is a self-managed database, the value of this parameter varies with the value of SourceEndpointInstanceType.\n- If InstanceType is set to ECS, you must specify the ID of the ECS instance.\n- If InstanceType is set to DG, you must specify the ID of the database gateway.\n- If InstanceType is set to EXPRESS or CEN, you must specify the ID of the VPC that is connected to the destination instance.\n**Note**: If DestinationEndpointInstanceType is set to CEN, you must also specify the ID of the CEN instance in the Reserve parameter."
                }
              },
              "IP": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The IP address of the destination instance. \n**Note**: This parameter is required only when **InstanceType** is set to **OTHER**, **EXPRESS**, **DG**, or **CEN**."
                }
              },
              "Region": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The ID of the region in which the destination instance resides.\n**Note**: If the source instance is an Alibaba Cloud database instance, this parameter is required."
                }
              },
              "InstanceType": {
                "Type": "String",
                "Description": {
                  "en": "The type of the destination instance. Valid values:\nAlibaba Cloud database instances\n- **RDS**: ApsaraDB RDS for MySQL instance, ApsaraDB RDS for SQL Server instance, ApsaraDB RDS for PostgreSQL instance, or ApsaraDB RDS for MariaDB TX instance\n- **PolarDB**: PolarDB for MySQL cluster\n- **DISTRIBUTED_POLARDBX10**: PolarDB-X 1.0 (formerly DRDS) instance\n- **POLARDBX20**: PolarDB-X 2.0 instance\n- **REDIS**: ApsaraDB for Redis instance\n- **ADS**: AnalyticDB for MySQL V2.0 cluster or AnalyticDB for MySQL V3.0 cluster\n- **MONGODB**: ApsaraDB for MongoDB instance\n- **GREENPLUM**: AnalyticDB for PostgreSQL instance\n- **DATAHUB**: DataHub project\n- **ELK**: Elasticsearch cluster\n- **Tablestore**: Tablestore instance\n- **ODPS**: MaxCompute project\nSelf-managed databases\n- **OTHER**: self-managed database with a public IP address\n- **ECS**: self-managed database hosted on an ECS instance\n- **EXPRESS**: self-managed database connected over Express Connect\n- **CEN**: self-managed database connected over CEN\n- **DG**: self-managed database connected over Database Gateway\n**Note**: If the destination instance is a PolarDB for PostgreSQL cluster (compatible with Oracle), you must set this parameter to OTHER or EXPRESS. Then, you can connect the PolarDB for PostgreSQL cluster (compatible with Oracle) to DTS as a self-managed database by using a public IP address or Express Connect.\nIf the destination instance is a Message Queue for Apache Kafka instance, you must set this parameter to ECS or EXPRESS. Then, you can connect the Message Queue for Apache Kafka instance to DTS as a self-managed database connected over ECS or Express Connect.\nIf the destination instance is a self-managed database, you must deploy the network environment for the database."
                }
              },
              "Role": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The name of the Resource Access Management (RAM) role configured for the Alibaba Cloud account that owns the destination instance.\n**Note**: This parameter is required when you migrate or synchronize data across different Alibaba Cloud accounts."
                }
              },
              "DatabaseName": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The name of the database which contains the objects to be migrated in the destination instance.\n**Note**: This parameter is required only when the destination instance is a PolarDB for PostgreSQL cluster (compatible with Oracle), a PostgreSQL database, or a MongoDB database."
                }
              },
              "EngineName": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The database engine of the destination instance. Valid values:\n- **MYSQL**: ApsaraDB RDS for MySQL instance or self-managed MySQL database\n- **MARIADB**: ApsaraDB RDS for MariaDB TX instance\n- **PolarDB**: PolarDB for MySQL cluster\n- **POLARDB_O**: PolarDB for PostgreSQL cluster (compatible with Oracle)\n- **POLARDBX10**: PolarDB-X 1.0 instance\n- **POLARDBX20**: PolarDB-X 2.0 instance\n- **ORACLE**: self-managed Oracle database\n- **POSTGRESQL**: ApsaraDB RDS for PostgreSQL instance or self-managed PostgreSQL database\n- **MSSQL**: ApsaraDB RDS for SQL Server instance or self-managed SQL Server database\n- **ADS**: AnalyticDB for MySQL V2.0 cluster\n- **ADB30**: AnalyticDB for MySQL V3.0 cluster- **MONGODB**: ApsaraDB for MongoDB instance or self-managed MongoDB database\n- **GREENPLUM**: AnalyticDB for PostgreSQL instance\n- **KAFKA**: Message Queue for Apache Kafka instance or self-managed Kafka cluster\n- **DATAHUB**: DataHub project- **DB2**: self-managed Db2 for LUW database\n- **AS400**: self-managed Db2 for i database\n- **ODPS**: MaxCompute project\n- **Tablestore**: Tablestore instance\n- **ELK**: Elasticsearch cluster\n- **REDIS**: ApsaraDB for Redis instance or self-managed Redis database\n**Note**: Default value: **MYSQL**.\nIf this parameter is set to **KAFKA**, **MONGODB**, or **PolarDB**, you must also specify the database information in the Reserve parameter."
                }
              },
              "OwnerID": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The ID of the Alibaba Cloud account to which the destination database belongs.\n**Note**: You can specify this parameter to migrate or synchronize data across different Alibaba Cloud accounts. In this case, you must specify **Role**."
                }
              },
              "OracleSID": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The system ID (SID) of the Oracle database.\n**Note**: This parameter is required only when **EngineName** is set to **ORACLE** and the Oracle database is deployed in an architecture that is not a Real Application Cluster (RAC)."
                }
              },
              "Port": {
                "Default": null,
                "Type": "String",
                "Description": {
                  "en": "The port number of the destination instance.\n**Note**: This parameter is required only when the destination instance is a self-managed database."
                }
              }
            }
          },
          "Type": "Json",
          "Description": {
            "en": "Destination instance configuration."
          }
        },
        "ErrorNotice": {
          "Default": null,
          "Type": "Boolean",
          "Description": {
            "en": "Specifies whether to monitor the task status. Valid values: **true** and **false**."
          }
        },
        "FileOssUrl": {
          "Default": null,
          "Type": "String",
          "Description": {
            "en": "The URL of the Object Storage Service (OSS) bucket that stores the files related to the DTS task."
          }
        },
        "Reserve": {
          "Default": null,
          "Type": "Json",
          "Description": {
            "en": "The reserved parameter of DTS. You can specify this parameter to add more configurations of the source or destination instance to the DTS task. For example, you can specify the data storage format of the destination Kafka database and the ID of the CEN instance."
          }
        },
        "DelayPhone": {
          "Default": null,
          "Type": "String",
          "Description": {
            "en": "The mobile numbers that receive latency-related alerts. Separate multiple mobile numbers with commas (,).\n**Note**: This parameter is available only for users of the China site (aliyun.com). Only mobile numbers in the Chinese mainland are supported. You can specify up to 10 mobile numbers. Users of the international site (alibabacloud.com) cannot receive alerts by using mobile numbers, but can configure alert rules for DTS tasks in the CloudMonitor console."
          }
        },
        "DelayNotice": {
          "Default": null,
          "Type": "Boolean",
          "Description": {
            "en": "Specifies whether to monitor the task latency. Valid values: **true** and **false**"
          }
        },
        "DataInitialization": {
          "Type": "Boolean",
          "Description": {
            "en": "Specifies whether to perform full data migration or full data synchronization. Default value: **true**. Valid values: **true** and **false**."
          }
        },
        "DtsBisLabel": {
          "Default": null,
          "Type": "String",
          "Description": {
            "en": "The environment tag of the DTS instance. Valid values: **normal** and **online**."
          }
        },
        "DbList": {
          "Type": "Json",
          "Description": {
            "en": "The objects that you want to migrate or synchronize."
          }
        },
        "DedicatedClusterId": {
          "Default": null,
          "Type": "String",
          "Description": {
            "en": "The ID of the DTS dedicated cluster on which the task runs."
          }
        }
      },
      "Resources": {
        "MigrationJob": {
          "Type": "ALIYUN::DTS::MigrationJob2",
          "Properties": {
            "SourceEndpoint": {
              "Ref": "SourceEndpoint"
            },
            "Checkpoint": {
              "Ref": "Checkpoint"
            },
            "Status": {
              "Ref": "Status"
            },
            "DisasterRecoveryJob": {
              "Ref": "DisasterRecoveryJob"
            },
            "DtsJobId": {
              "Ref": "DtsJobId"
            },
            "DtsJobName": {
              "Ref": "DtsJobName"
            },
            "DataSynchronization": {
              "Ref": "DataSynchronization"
            },
            "DataCheckConfigure": {
              "Ref": "DataCheckConfigure"
            },
            "StructureInitialization": {
              "Ref": "StructureInitialization"
            },
            "DelayRuleTime": {
              "Ref": "DelayRuleTime"
            },
            "ErrorPhone": {
              "Ref": "ErrorPhone"
            },
            "DtsInstanceId": {
              "Ref": "DtsInstanceId"
            },
            "DestinationEndpoint": {
              "Ref": "DestinationEndpoint"
            },
            "ErrorNotice": {
              "Ref": "ErrorNotice"
            },
            "FileOssUrl": {
              "Ref": "FileOssUrl"
            },
            "Reserve": {
              "Ref": "Reserve"
            },
            "DelayPhone": {
              "Ref": "DelayPhone"
            },
            "DelayNotice": {
              "Ref": "DelayNotice"
            },
            "DataInitialization": {
              "Ref": "DataInitialization"
            },
            "DtsBisLabel": {
              "Ref": "DtsBisLabel"
            },
            "DbList": {
              "Ref": "DbList"
            },
            "DedicatedClusterId": {
              "Ref": "DedicatedClusterId"
            }
          }
        }
      },
      "Outputs": {
        "DtsJobName": {
          "Description": "The name of the DTS job.",
          "Value": {
            "Fn::GetAtt": [
              "MigrationJob",
              "DtsJobName"
            ]
          }
        },
        "DtsInstanceId": {
          "Description": "The ID of the DTS instance.",
          "Value": {
            "Fn::GetAtt": [
              "MigrationJob",
              "DtsInstanceId"
            ]
          }
        },
        "DtsJobId": {
          "Description": "The ID of the task.",
          "Value": {
            "Fn::GetAtt": [
              "MigrationJob",
              "DtsJobId"
            ]
          }
        }
      }
    }