All Products
Search
Document Center

Resource Orchestration Service:ALIYUN::DTS::Instance

更新時間:Aug 12, 2024

ALIYUN::DTS::Instance is a new resource type that is used to create a Data Transmission Service (DTS) instance.

Note

We recommend that you use new resource types to replace previous resource types that are used to create DTS resources. The following information shows the correspondence between the previous and new resource types:

ALIYUN::DTS::MigrationJob (previous): ALIYUN::DTS::MigrationJob2 (new) and ALIYUN::DTS::Instance (new)

ALIYUN::DTS::SynchronizationJob (previous): ALIYUN::DTS::SynchronizationJob2 (new) and ALIYUN::DTS::Instance (new)

ALIYUN::DTS::SubscriptionInstance (previous): ALIYUN::DTS::SubscriptionJob2 (new) and ALIYUN::DTS::Instance (new)

Syntax

{
  "Type": "ALIYUN::DTS::Instance",
  "Properties": {
    "ResourceGroupId": String,
    "FeeType": String,
    "ComputeUnit": Integer,
    "Period": String,
    "DestinationRegion": String,
    "InstanceClass": String,
    "SourceEndpointEngineName": String,
    "PayType": String,
    "AutoPay": Boolean,
    "DestinationEndpointEngineName": String,
    "SourceRegion": String,
    "Du": Integer,
    "Type": String,
    "DatabaseCount": Integer,
    "UsedTime": Integer,
    "AutoStart": Boolean,
    "JobId": String,
    "SyncArchitecture": String
  }
}

Properties

Property

Type

Required

Editable

Description

Constraint

ResourceGroupId

String

No

No

The ID of the resource group.

None.

FeeType

String

No

No

The billing type of the subscription.

Valid values:

  • ONLY_CONFIGURATION_FEE: You are charged only for configurations.

  • CONFIGURATION_FEE_AND_DATA_FEE: You are charged for configurations and data transfers.

ComputeUnit

Integer

No

No

The specification of extract, transform, and load (ETL).

The unit is compute unit (CU). One CU is equal to one vCPU and four GB of memory. The value of this property must be an integer greater than or equal to 2.

Note

You can specify this property to enable the ETL feature and cleanse and transform data. For more information, see Configure an ETL task in DAG mode.

Period

String

No

Yes

The billing cycle of the subscription instance.

Valid values:

  • Year

  • Month

Note

You must specify this property when PayType is set to PrePaid.

DestinationRegion

String

No

No

The region of the destination instance.

For more information, see Supported regions.

Note

You must specify one of DestinationRegion and JobId.

InstanceClass

String

Yes

Yes

The specification of a data migration or synchronization instance.

  • Valid values of a data migration instance: xxlarge, xlarge, large, medium, and small.

  • Valid values of a data synchronization instance: large, medium, small, and micro.

Note

For more information about the performance of each specification, see Instance classes of data migration instances and Instance classes of data synchronization instances.

SourceEndpointEngineName

String

No

No

The database engine of the source instance.

Valid values:

  • MySQL (default): engine of an ApsaraDB RDS for MySQL instance or a self-managed MySQL database

  • PolarDB: engine of a PolarDB for MySQL cluster

  • polardb_o: engine of a PolarDB for Oracle cluster

  • polardb_pg: engine of a PolarDB for PostgreSQL cluster

  • Redis: engine of an ApsaraDB for Redis instance or a self-managed Redis database

  • DRDS: engine of a PolarDB-X 1.0 or PolarDB-X 2.0 instance

  • PostgreSQL: engine of a self-managed PostgreSQL database

  • odps: engine of a MaxCompute project

  • oracle: engine of a self-managed Oracle database

  • mongodb: engine of an ApsaraDB for MongoDB instance or a self-managed MongoDB database

  • tidb: engine of a TiDB database

  • ADS: engine of an AnalyticDB for MySQL V2.0 cluster

  • ADB30: engine of an AnalyticDB for MySQL V3.0 cluster

  • Greenplum: engine of an AnalyticDB for PostgreSQL instance

  • MSSQL: engine of an ApsaraDB RDS for SQL Server instance or a self-managed SQL Server database

  • kafka: engine of an ApsaraMQ for Kafka instance or a self-managed Kafka cluster

  • DataHub: engine of a DataHub project

  • DB2: engine of a self-managed Db2 for LUW database

  • as400: engine of a Db2 for i (AS/400) database

  • Tablestore: engine of a Tablestore instance

Note

You must specify one of SourceEndpointEngineName and JobId.

For more information about the supported source and destination databases, see Overview of data migration scenarios and Overview of data synchronization scenarios.

PayType

String

Yes

Yes

The billing method of the instance.

Valid values:

  • PrePaid: subscription

  • PostPaid: pay-as-you-go

AutoPay

Boolean

No

No

Specifies whether to enable auto-renewal when the instance expires.

Valid values:

  • true

  • false (default)

DestinationEndpointEngineName

String

No

No

The database engine of the destination instance.

Valid values:

  • MySQL (default): engine of an ApsaraDB RDS for MySQL instance or a self-managed MySQL database

  • PolarDB: engine of a PolarDB for MySQL cluster

  • polardb_o: engine of a PolarDB for Oracle cluster

  • polardb_pg: engine of a PolarDB for PostgreSQL cluster

  • Redis: engine of an ApsaraDB for Redis instance or a self-managed Redis database

  • DRDS: engine of a PolarDB-X 1.0 or PolarDB-X 2.0 instance

  • PostgreSQL: engine of a self-managed PostgreSQL database

  • odps: engine of a MaxCompute project

  • oracle: engine of a self-managed Oracle database

  • mongodb: engine of an ApsaraDB for MongoDB instance or a self-managed MongoDB database

  • tidb: engine of a TiDB database

  • ADS: engine of an AnalyticDB for MySQL V2.0 cluster

  • ADB30: engine of an AnalyticDB for MySQL V3.0 cluster

  • Greenplum: engine of an AnalyticDB for PostgreSQL instance

  • MSSQL: engine of an ApsaraDB RDS for SQL Server instance or a self-managed SQL Server database

  • kafka: engine of an ApsaraMQ for Kafka instance or a self-managed Kafka cluster

  • DataHub: engine of a DataHub project

  • DB2: engine of a self-managed Db2 for LUW database

  • as400: engine of a Db2 for i (AS/400) database

  • Tablestore: engine of a Tablestore instance

For more information about the supported source and destination databases, see Overview of data migration scenarios and Overview of data synchronization scenarios.

Note

You must specify one of DestinationEndpointEngineName and JobId.

SourceRegion

String

No

No

The region of the source instance.

For more information, see Supported regions.

Note

You must specify one of SourceRegion and JobId.

Du

Integer

No

No

The number of DTS units (DUs) that you want to assign to a DTS task on a DTS dedicated cluster.

Valid values: 1 to 100.

Note

The value of this property must be within the range of the number of DUs available for the DTS dedicated cluster.

For more information about DTS dedicated clusters, see What is a DTS dedicated cluster?

Type

String

Yes

No

The type of the instance.

Valid values:

  • MIGRATION: data migration

  • SYNC: data synchronization

  • SUBSCRIBE: change tracking

DatabaseCount

Integer

No

No

The number of private custom ApsaraDB RDS instances in a PolarDB-X instance.

Default value: 1.

Note

You must specify this property when SourceEndpointEngineName is set to DRDS.

UsedTime

Integer

No

Yes

The subscription duration of the instance.

  • Valid values when Period is set to Month: 1, 2, 3, 4, 5, 6, 7, 8, and 9.

  • Valid values when Period is set to Year: 1, 2, 3, and 5.

Note

You must specify this property when PayType is set to PrePaid.

You can configure Period to specify the unit of the subscription duration.

AutoStart

Boolean

No

No

Specifies whether to automatically start the task after the instance is purchased.

Valid values:

  • true

  • false (default)

JobId

String

No

No

The task ID.

If you specify JobId, you do not need to specify SourceRegion, DestinationRegion, SourceEndpointEngineName, or DestinationEndpointEngineName. The value of JobId still takes precedence even if SourceRegion, DestinationRegion, SourceEndpointEngineName, and DestinationEndpointEngineName are specified.

SyncArchitecture

String

No

No

The synchronization topology.

Valid values:

  • oneway (default): one-way synchronization

  • bidirectional: two-way synchronization

Return values

Fn::GetAtt

  • InstanceId: the instance ID.

  • JobId: the task ID.

Examples

  • YAML format

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
      AutoPay:
        Description:
          en: 'Specifies whether to automatically renew the DTS instance when it expires.
            Valid values:
    
            - **false**: does not automatically renew the DTS instance when it expires.
            This is the default value.
    
            - **true**: automatically renews the DTS instance when it expires.'
        Type: Boolean
      AutoStart:
        Description:
          en: 'Specifies whether to automatically start the task after the DTS instance
            is purchased. Valid values:
    
            - **false**: does not automatically start the task after the DTS instance
            is purchased. This is the default value.
    
            - **true**: automatically starts the task after the DTS instance is purchased.'
        Type: Boolean
      ComputeUnit:
        Description:
          en: The specifications of the extract, transform, and load (ETL) instance. The
            unit is compute unit (CU). One CU is equal to 1 vCPU and 4 GB of memory. The
            value of this parameter must be an integer greater than or equal to 2.
        Type: Number
      DatabaseCount:
        Description:
          en: 'The number of private custom ApsaraDB RDS instances in a PolarDB-X instance.
            Default value: **1**.
    
            **Note**: You must specify this parameter only if the **SourceEndpointEngineName**
            parameter is set to **drds**.'
        Type: Number
      DestinationEndpointEngineName:
        Description:
          en: 'The database engine of the destination instance. Valid values:
    
            - **MySQL**: ApsaraDB RDS for MySQL instance or self-managed MySQL database
    
            - **PolarDB**: PolarDB for MySQL cluster
    
            - **polardb_o**: PolarDB for Oracle cluster
    
            - **polardb_pg**: PolarDB for PostgreSQL cluster
    
            - **Redis**: ApsaraDB for Redis instance or self-managed Redis database
    
            - **DRDS**: PolarDB-X 1.0 or PolarDB-X 2.0 instance
    
            - **PostgreSQL**: self-managed PostgreSQL database
    
            - **odps**: MaxCompute project
    
            - **oracle**: self-managed Oracle database
    
            - **mongodb**: ApsaraDB for MongoDB instance or self-managed MongoDB database
    
            - **tidb**: TiDB database
    
            - **ADS**: AnalyticDB for MySQL V2.0 cluster
    
            - **ADB30**: AnalyticDB for MySQL V3.0 cluster
    
            - **Greenplum**: AnalyticDB for PostgreSQL instance
    
            - **MSSQL**: ApsaraDB RDS for SQL Server instance or self-managed SQL Server
            database
    
            - **kafka**: Message Queue for Apache Kafka instance or self-managed Kafka
            cluster
    
            - **DataHub**: DataHub project
    
            - **DB2**: self-managed Db2 for LUW database
    
            - **as400**: AS/400
    
            - **Tablestore**: Tablestore instance
    
            **Note**: The default value is **MySQL**. You must specify one of this parameter
            and the **JobId** parameter.'
        Type: String
      DestinationRegion:
        Description:
          en: 'The ID of the region in which the destination instance resides.
    
            **Note**: You must specify one of this parameter and the **JobId** parameter.'
        Type: String
      Du:
        Description:
          en: 'The number of DTS units (DUs) that are assigned to a DTS task that is run
            on a DTS dedicated cluster. Valid values: **1** to **100**.
    
            **Note**: The value of this parameter must be within the range of the number
            of DUs available for the DTS dedicated cluster.'
        MaxValue: 100
        MinValue: 1
        Type: Number
      FeeType:
        Description:
          en: "The billing type for a change tracking instance. Valid values: ONLY_CONFIGURATION_FEE\
            \ and CONFIGURATION_FEE_AND_DATA_FEE. \n- **ONLY_CONFIGURATION_FEE**: charges\
            \ only configuration fees. \n- **CONFIGURATION_FEE_AND_DATA_FEE**: charges\
            \ configuration fees and data traffic fees."
        Type: String
      InstanceClass:
        AllowedValues:
        - xxlarge
        - xlarge
        - large
        - medium
        - small
        - micro
        Description:
          en: 'The instance class.
    
            - DTS supports the following instance classes for a data migration instance:
            **xxlarge**, **xlarge**, **large**, **medium**, and **small**.
    
            - DTS supports the following instance classes for a data synchronization instance:
            **large**, **medium**, **small**, and **micro**.
    
            **Note**: Although the instance specification supports modification after
            creation, the downgrade instance feature is currently in canary release and
            available only for specific users.'
        Type: String
      JobId:
        Description:
          en: 'The ID of the task.
    
            **Note**: If this parameter is specified, you do not need to specify the SourceRegion,
            DestinationRegion, SourceEndpointEngineName, or DestinationEndpointEngineName
            parameter. Even if these parameters are specified, the value of the JobId
            parameter takes precedence.'
        Type: String
      PayType:
        AllowedValues:
        - PayAsYouGo
        - PostPaid
        - PayOnDemand
        - Postpaid
        - PostPay
        - Postpay
        - POSTPAY
        - POST
        - Subscription
        - PrePaid
        - Prepaid
        - PrePay
        - Prepay
        - PREPAY
        - PRE
        Description:
          en: 'The billing method. Valid values:
    
            - **PrePaid**: subscription
    
            - **PostPaid**: pay-as-you-go'
        Type: String
      Period:
        AllowedValues:
        - Month
        - Year
        Description:
          en: 'The unit of the subscription duration. Valid values: **Year** and **Month**.
    
            **Note**: You must specify this parameter only if the **PayType** parameter
            is set to **PrePaid**.'
        Type: String
      ResourceGroupId:
        Description:
          en: The ID of the resource group.
        Type: String
      SourceEndpointEngineName:
        Description:
          en: 'The database engine of the source instance. Valid values:
    
            - **MySQL**: ApsaraDB RDS for MySQL instance or self-managed MySQL database
    
            - **PolarDB**: PolarDB for MySQL cluster
    
            - **polardb_o**: PolarDB for Oracle cluster
    
            - **polardb_pg**: PolarDB for PostgreSQL cluster
    
            - **Redis**: ApsaraDB for Redis instance or self-managed Redis database
    
            - **DRDS**: PolarDB-X 1.0 or PolarDB-X 2.0 instance
    
            - **PostgreSQL**: self-managed PostgreSQL database
    
            - **odps**: MaxCompute project
    
            - **oracle**: self-managed Oracle database
    
            - **mongodb**: ApsaraDB for MongoDB instance or self-managed MongoDB database
    
            - **tidb**: TiDB database
    
            - **ADS**: AnalyticDB for MySQL V2.0 cluster
    
            - **ADB30**: AnalyticDB for MySQL V3.0 cluster
    
            - **Greenplum**: AnalyticDB for PostgreSQL instance
    
            - **MSSQL**: ApsaraDB RDS for SQL Server instance or self-managed SQL Server
            database
    
            - **kafka**: Message Queue for Apache Kafka instance or self-managed Kafka
            cluster
    
            - **DataHub**: DataHub project
    
            - **DB2**: self-managed Db2 for LUW database
    
            - **as400**: AS/400
    
            - **Tablestore**: Tablestore instance
    
            **Note**: The default value is **MySQL**. You must specify one of this parameter
            and the **JobId** parameter.'
        Type: String
      SourceRegion:
        Description:
          en: 'The ID of the region in which the source instance resides.
    
            **Note**: You must specify one of this parameter and the **JobId** parameter.'
        Type: String
      SyncArchitecture:
        AllowedValues:
        - oneway
        - bidirectional
        Description:
          en: 'The synchronization topology. Valid values:
    
            - **oneway**: one-way synchronization. This is the default value.
    
            - **bidirectional**: two-way synchronization.'
        Type: String
      Type:
        AllowedValues:
        - MIGRATION
        - SYNC
        - SUBSCRIBE
        Description:
          en: 'The type of the DTS instance. Valid values:
    
            - **MIGRATION*: data migration instance
    
            - **SYNC**: data synchronization instance
    
            - **SUBSCRIBE**: change tracking instance'
        Type: String
      UsedTime:
        AllowedValues:
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
        - 8
        - 9
        Description:
          en: 'The subscription duration.
    
            - Valid values if the **Period** parameter is set to **Month**: 1, 2, 3, 4,
            5, 6, 7, 8, and 9.
    
            - Valid values if the **Period** parameter is set to **Year**: 1, 2, 3, and
            5.
    
            **Note**: You must specify this parameter only if the **PayType** parameter
            is set to **PrePaid**. You can set the **Period** parameter to specify the
            unit of the subscription duration.'
        Type: Number
    Resources:
      Instance:
        Properties:
          AutoPay:
            Ref: AutoPay
          AutoStart:
            Ref: AutoStart
          ComputeUnit:
            Ref: ComputeUnit
          DatabaseCount:
            Ref: DatabaseCount
          DestinationEndpointEngineName:
            Ref: DestinationEndpointEngineName
          DestinationRegion:
            Ref: DestinationRegion
          Du:
            Ref: Du
          FeeType:
            Ref: FeeType
          InstanceClass:
            Ref: InstanceClass
          JobId:
            Ref: JobId
          PayType:
            Ref: PayType
          Period:
            Ref: Period
          ResourceGroupId:
            Ref: ResourceGroupId
          SourceEndpointEngineName:
            Ref: SourceEndpointEngineName
          SourceRegion:
            Ref: SourceRegion
          SyncArchitecture:
            Ref: SyncArchitecture
          Type:
            Ref: Type
          UsedTime:
            Ref: UsedTime
        Type: ALIYUN::DTS::Instance
    Outputs:
      InstanceId:
        Description: The ID of the DTS instance.
        Value:
          Fn::GetAtt:
          - Instance
          - InstanceId
      JobId:
        Description: The ID of the task.
        Value:
          Fn::GetAtt:
          - Instance
          - JobId
                            
  • JSON format

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
        "ResourceGroupId": {
          "Type": "String",
          "Description": {
            "en": "The ID of the resource group."
          }
        },
        "FeeType": {
          "Type": "String",
          "Description": {
            "en": "The billing type for a change tracking instance. Valid values: ONLY_CONFIGURATION_FEE and CONFIGURATION_FEE_AND_DATA_FEE. \n- **ONLY_CONFIGURATION_FEE**: charges only configuration fees. \n- **CONFIGURATION_FEE_AND_DATA_FEE**: charges configuration fees and data traffic fees."
          }
        },
        "ComputeUnit": {
          "Type": "Number",
          "Description": {
            "en": "The specifications of the extract, transform, and load (ETL) instance. The unit is compute unit (CU). One CU is equal to 1 vCPU and 4 GB of memory. The value of this parameter must be an integer greater than or equal to 2."
          }
        },
        "Period": {
          "Type": "String",
          "Description": {
            "en": "The unit of the subscription duration. Valid values: **Year** and **Month**.\n**Note**: You must specify this parameter only if the **PayType** parameter is set to **PrePaid**."
          },
          "AllowedValues": [
            "Month",
            "Year"
          ]
        },
        "DestinationRegion": {
          "Type": "String",
          "Description": {
            "en": "The ID of the region in which the destination instance resides.\n**Note**: You must specify one of this parameter and the **JobId** parameter."
          }
        },
        "InstanceClass": {
          "Type": "String",
          "Description": {
            "en": "The instance class.\n- DTS supports the following instance classes for a data migration instance: **xxlarge**, **xlarge**, **large**, **medium**, and **small**.\n- DTS supports the following instance classes for a data synchronization instance: **large**, **medium**, **small**, and **micro**.\n**Note**: Although the instance specification supports modification after creation, the downgrade instance feature is currently in canary release and available only for specific users."
          },
          "AllowedValues": [
            "xxlarge",
            "xlarge",
            "large",
            "medium",
            "small",
            "micro"
          ]
        },
        "SourceEndpointEngineName": {
          "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- **PolarDB**: PolarDB for MySQL cluster\n- **polardb_o**: PolarDB for Oracle cluster\n- **polardb_pg**: PolarDB for PostgreSQL cluster\n- **Redis**: ApsaraDB for Redis instance or self-managed Redis database\n- **DRDS**: PolarDB-X 1.0 or PolarDB-X 2.0 instance\n- **PostgreSQL**: self-managed PostgreSQL database\n- **odps**: MaxCompute project\n- **oracle**: self-managed Oracle database\n- **mongodb**: ApsaraDB for MongoDB instance or self-managed MongoDB database\n- **tidb**: TiDB database\n- **ADS**: AnalyticDB for MySQL V2.0 cluster\n- **ADB30**: AnalyticDB for MySQL V3.0 cluster\n- **Greenplum**: AnalyticDB for PostgreSQL instance\n- **MSSQL**: ApsaraDB RDS for SQL Server instance or self-managed SQL Server database\n- **kafka**: Message Queue for Apache Kafka instance or self-managed Kafka cluster\n- **DataHub**: DataHub project\n- **DB2**: self-managed Db2 for LUW database\n- **as400**: AS/400\n- **Tablestore**: Tablestore instance\n**Note**: The default value is **MySQL**. You must specify one of this parameter and the **JobId** parameter."
          }
        },
        "AutoPay": {
          "Type": "Boolean",
          "Description": {
            "en": "Specifies whether to automatically renew the DTS instance when it expires. Valid values:\n- **false**: does not automatically renew the DTS instance when it expires. This is the default value.\n- **true**: automatically renews the DTS instance when it expires."
          }
        },
        "PayType": {
          "Type": "String",
          "Description": {
            "en": "The billing method. Valid values:\n- **PrePaid**: subscription\n- **PostPaid**: pay-as-you-go"
          },
          "AllowedValues": [
            "PayAsYouGo",
            "PostPaid",
            "PayOnDemand",
            "Postpaid",
            "PostPay",
            "Postpay",
            "POSTPAY",
            "POST",
            "Subscription",
            "PrePaid",
            "Prepaid",
            "PrePay",
            "Prepay",
            "PREPAY",
            "PRE"
          ]
        },
        "DestinationEndpointEngineName": {
          "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- **PolarDB**: PolarDB for MySQL cluster\n- **polardb_o**: PolarDB for Oracle cluster\n- **polardb_pg**: PolarDB for PostgreSQL cluster\n- **Redis**: ApsaraDB for Redis instance or self-managed Redis database\n- **DRDS**: PolarDB-X 1.0 or PolarDB-X 2.0 instance\n- **PostgreSQL**: self-managed PostgreSQL database\n- **odps**: MaxCompute project\n- **oracle**: self-managed Oracle database\n- **mongodb**: ApsaraDB for MongoDB instance or self-managed MongoDB database\n- **tidb**: TiDB database\n- **ADS**: AnalyticDB for MySQL V2.0 cluster\n- **ADB30**: AnalyticDB for MySQL V3.0 cluster\n- **Greenplum**: AnalyticDB for PostgreSQL instance\n- **MSSQL**: ApsaraDB RDS for SQL Server instance or self-managed SQL Server database\n- **kafka**: Message Queue for Apache Kafka instance or self-managed Kafka cluster\n- **DataHub**: DataHub project\n- **DB2**: self-managed Db2 for LUW database\n- **as400**: AS/400\n- **Tablestore**: Tablestore instance\n**Note**: The default value is **MySQL**. You must specify one of this parameter and the **JobId** parameter."
          }
        },
        "SourceRegion": {
          "Type": "String",
          "Description": {
            "en": "The ID of the region in which the source instance resides.\n**Note**: You must specify one of this parameter and the **JobId** parameter."
          }
        },
        "Du": {
          "Type": "Number",
          "Description": {
            "en": "The number of DTS units (DUs) that are assigned to a DTS task that is run on a DTS dedicated cluster. Valid values: **1** to **100**.\n**Note**: The value of this parameter must be within the range of the number of DUs available for the DTS dedicated cluster."
          },
          "MinValue": 1,
          "MaxValue": 100
        },
        "Type": {
          "Type": "String",
          "Description": {
            "en": "The type of the DTS instance. Valid values:\n- **MIGRATION*: data migration instance\n- **SYNC**: data synchronization instance\n- **SUBSCRIBE**: change tracking instance"
          },
          "AllowedValues": [
            "MIGRATION",
            "SYNC",
            "SUBSCRIBE"
          ]
        },
        "DatabaseCount": {
          "Type": "Number",
          "Description": {
            "en": "The number of private custom ApsaraDB RDS instances in a PolarDB-X instance. Default value: **1**.\n**Note**: You must specify this parameter only if the **SourceEndpointEngineName** parameter is set to **drds**."
          }
        },
        "UsedTime": {
          "Type": "Number",
          "Description": {
            "en": "The subscription duration.\n- Valid values if the **Period** parameter is set to **Month**: 1, 2, 3, 4, 5, 6, 7, 8, and 9.\n- Valid values if the **Period** parameter is set to **Year**: 1, 2, 3, and 5.\n**Note**: You must specify this parameter only if the **PayType** parameter is set to **PrePaid**. You can set the **Period** parameter to specify the unit of the subscription duration."
          },
          "AllowedValues": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9
          ]
        },
        "AutoStart": {
          "Type": "Boolean",
          "Description": {
            "en": "Specifies whether to automatically start the task after the DTS instance is purchased. Valid values:\n- **false**: does not automatically start the task after the DTS instance is purchased. This is the default value.\n- **true**: automatically starts the task after the DTS instance is purchased."
          }
        },
        "JobId": {
          "Type": "String",
          "Description": {
            "en": "The ID of the task.\n**Note**: If this parameter is specified, you do not need to specify the SourceRegion, DestinationRegion, SourceEndpointEngineName, or DestinationEndpointEngineName parameter. Even if these parameters are specified, the value of the JobId parameter takes precedence."
          }
        },
        "SyncArchitecture": {
          "Type": "String",
          "Description": {
            "en": "The synchronization topology. Valid values:\n- **oneway**: one-way synchronization. This is the default value.\n- **bidirectional**: two-way synchronization."
          },
          "AllowedValues": [
            "oneway",
            "bidirectional"
          ]
        }
      },
      "Resources": {
        "Instance": {
          "Type": "ALIYUN::DTS::Instance",
          "Properties": {
            "ResourceGroupId": {
              "Ref": "ResourceGroupId"
            },
            "FeeType": {
              "Ref": "FeeType"
            },
            "ComputeUnit": {
              "Ref": "ComputeUnit"
            },
            "Period": {
              "Ref": "Period"
            },
            "DestinationRegion": {
              "Ref": "DestinationRegion"
            },
            "InstanceClass": {
              "Ref": "InstanceClass"
            },
            "SourceEndpointEngineName": {
              "Ref": "SourceEndpointEngineName"
            },
            "AutoPay": {
              "Ref": "AutoPay"
            },
            "PayType": {
              "Ref": "PayType"
            },
            "DestinationEndpointEngineName": {
              "Ref": "DestinationEndpointEngineName"
            },
            "SourceRegion": {
              "Ref": "SourceRegion"
            },
            "Du": {
              "Ref": "Du"
            },
            "Type": {
              "Ref": "Type"
            },
            "DatabaseCount": {
              "Ref": "DatabaseCount"
            },
            "UsedTime": {
              "Ref": "UsedTime"
            },
            "AutoStart": {
              "Ref": "AutoStart"
            },
            "JobId": {
              "Ref": "JobId"
            },
            "SyncArchitecture": {
              "Ref": "SyncArchitecture"
            }
          }
        }
      },
      "Outputs": {
        "InstanceId": {
          "Description": "The ID of the DTS instance.",
          "Value": {
            "Fn::GetAtt": [
              "Instance",
              "InstanceId"
            ]
          }
        },
        "JobId": {
          "Description": "The ID of the task.",
          "Value": {
            "Fn::GetAtt": [
              "Instance",
              "JobId"
            ]
          }
        }
      }
    }