Use the ALIYUN::DTS::Instance resource to create a new DTS instance.
Use the new resource types to replace the previous ones.
ALIYUN::DTS::MigrationJob (previous) = ALIYUN::DTS::MigrationJob2 (new) + ALIYUN::DTS::Instance (new)
ALIYUN::DTS::SynchronizationJob (previous) = ALIYUN::DTS::SynchronizationJob2 (new) + ALIYUN::DTS::Instance (new)
ALIYUN::DTS::SubscriptionInstance (previous) = ALIYUN::DTS::SubscriptionJob2 (new) + 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,
"InsightModule": Boolean,
"UsedTime": Integer,
"AutoStart": Boolean,
"JobId": String,
"SyncArchitecture": String,
"MaxDu": Integer,
"MinDu": Integer
}
}Properties
Property | Type | Required | Update allowed | Description | Constraints |
ResourceGroupId | String | No | No | The ID of the resource group. | None |
FeeType | String | No | No | The billing type of the change tracking instance. | Valid values:
|
ComputeUnit | Integer | No | No | The specifications for the extract, transform, and load (ETL) task. | The unit is compute units (CUs). One CU is equivalent to 1 vCPU and 4 GB of memory. The value must be an integer greater than or equal to 2. Note If you specify this parameter, you can configure an ETL task in DAG mode to perform data cleansing and transformation. |
Period | String | No | Yes | The unit of the subscription period. | Valid values:
Note This parameter is required and takes effect only when the PayType parameter is set to PrePaid. |
DestinationRegion | String | No | No | The region of the destination instance. | For more information, see List of supported regions. Note You must specify either this parameter or JobId. |
InstanceClass | String | Yes | Yes | The instance class of a data migration or data synchronization instance. | Valid values:
Note For more information about the performance of each instance class, see Specifications of data migration instances and Specifications of data synchronization instances. |
PayType | String | Yes | Yes | The billing method. | Valid values:
|
Type | String | Yes | No | The type of the DTS instance. | Valid values:
|
AutoPay | Boolean | No | No | Indicates whether to enable auto-renewal for the subscription instance. | Valid values:
|
DestinationEndpointEngineName | String | No | No | The database engine of the destination instance. | Valid values:
For information about the supported source and destination databases, see Overview of data synchronization scenarios and Overview of data migration scenarios. Note You must specify either this parameter or JobId. |
SourceEndpointEngineName | String | No | No | The database engine of the source instance. | Valid values:
Note You must specify either this parameter or JobId. For a list of supported source and destination databases, see Synchronization Solution Overview and Migration Solution Overview. |
InsightModule | Boolean | No | No | Indicates whether to enable the insight module. | None |
SourceRegion | String | No | No | The region of the source instance. | For more information, see List of supported regions. Note You must specify either this parameter or JobId. |
Du | Integer | No | No | The number of DTS units (DUs) for a DTS task that runs on a DTS dedicated cluster. | The value must be an integer from 1 to 100. Note The value 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?. |
DatabaseCount | Integer | No | No | The number of private custom ApsaraDB RDS instances that constitute a PolarDB-X 1.0 instance. | Default value: 1. Note You must specify this parameter only if the SourceEndpointEngineName parameter is set to drds. |
UsedTime | Integer | No | Yes | The subscription duration. | Valid values:
Note This parameter is required and takes effect only when the PayType parameter is set to PrePaid. You can set the Period parameter to specify the unit of the subscription duration. |
AutoStart | Boolean | No | No | Indicates whether to automatically start the task after the instance is created. | Valid values:
|
JobId | String | No | No | The ID of the task. | If you specify this parameter, you do not need to specify |
SyncArchitecture | String | No | No | The synchronization topology. | Valid values:
|
MaxDu | Integer | No | No | The maximum number of DUs for the Serverless instance. | This parameter applies only to Serverless instances. |
MinDu | Integer | No | No | The minimum number of DUs for the Serverless instance. | This parameter applies only to Serverless instances. |
Return values
Fn::GetAtt
InstanceId: The ID of the DTS instance.
JobId: The ID of the task.
Examples
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
AutoPay:
Type: Boolean
Description:
en: 'Specifies whether to automatically renew the DTS instance when it expires.
Valid values:
- **true**: enables auto-renewal.
- **false**: disables auto-renewal. This is the default value.'
AutoStart:
Type: Boolean
Description:
en: 'Specifies whether to automatically start the task after the DTS instance
is created. Valid values:
- **true**: automatically starts the task.
- **false**: does not automatically start the task. This is the default value.'
ComputeUnit:
Type: Number
Description:
en: The specifications of the extract, transform, and load (ETL) instance. The
unit is compute unit (CU). One CU is equivalent to 1 vCPU and 4 GB of memory.
The value must be an integer that is greater than or equal to 2.
DatabaseCount:
Type: Number
Description:
en: 'The number of private custom ApsaraDB RDS instances in a PolarDB-X 1.0 instance.
Default value: **1**.
**Note**: You must specify this parameter only if the **SourceEndpointEngineName**
parameter is set to **drds**.'
DestinationEndpointEngineName:
Type: String
Description:
en: 'The database engine of the destination instance. Valid values:
- **MySQL** (default): an ApsaraDB RDS for MySQL instance or a self-managed MySQL database
- **PolarDB**: a PolarDB for MySQL cluster
- **polardb_o**: a PolarDB for Oracle cluster
- **polardb_pg**: a PolarDB for PostgreSQL cluster
- **Redis**: a Tair instance or a self-managed Redis database
- **DRDS**: a PolarDB-X 1.0 or 2.0 instance
- **PostgreSQL**: a self-managed PostgreSQL database
- **odps**: a MaxCompute project
- **oracle**: a self-managed Oracle database
- **mongodb**: an ApsaraDB for MongoDB instance or a self-managed MongoDB database
- **tidb**: a TiDB database
- **ADS**: an AnalyticDB for MySQL 2.0 cluster
- **ADB30**: an AnalyticDB for MySQL 3.0 cluster
- **Greenplum**: an AnalyticDB for PostgreSQL instance
- **MSSQL**: an ApsaraDB RDS for SQL Server instance or a self-managed SQL Server database
- **kafka**: an ApsaraMQ for Kafka instance or a self-managed Kafka cluster
- **DataHub**: a DataHub project
- **DB2**: a self-managed Db2 for LUW database
- **as400**: an AS/400 server
- **Tablestore**: a Tablestore instance
**Note**: You must specify either this parameter or the **JobId** parameter.'
DestinationRegion:
Type: String
Description:
en: 'The ID of the region in which the destination instance resides.
**Note**: You must specify either this parameter or the **JobId** parameter.'
Du:
Type: Number
MinValue: 1
MaxValue: 100
Description:
en: 'The number of DTS units (DUs) that are assigned to a DTS task that runs
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.'
FeeType:
Type: String
Description:
en: 'The billing type of the change tracking instance. Valid values:
- **ONLY_CONFIGURATION_FEE**: charges only for the configuration and waives data traffic fees.
- **CONFIGURATION_FEE_AND_DATA_FEE**: charges for both the configuration and data traffic.'
InsightModule:
Type: Boolean
Description:
en: 'Specifies whether to enable the insight module.'
InstanceClass:
Type: String
AllowedValues:
- xxlarge
- xlarge
- large
- medium
- small
- micro
Description:
en: 'The instance class of a data migration or data synchronization instance.
- For a data migration instance, the valid values are **xxlarge**, **xlarge**, **large**, **medium**, and **small**.
- For a data synchronization instance, the valid values are **large**, **medium**, **small**, and **micro**.
**Note**: The instance class can be changed after the instance is created. However, the instance downgrade feature is in canary release and is available only to specific users.'
JobId:
Type: String
Description:
en: 'The ID of the task.
**Note**: If you specify this parameter, you do not need to specify the `SourceRegion`, `DestinationRegion`, `SourceEndpointEngineName`, or `DestinationEndpointEngineName` parameter. The value of the `JobId` parameter takes precedence even if these other parameters are specified.'
MaxDu:
Type: Number
Description:
en: 'The maximum number of DUs for the Serverless instance. This parameter applies only to Serverless instances.'
MinDu:
Type: Number
Description:
en: 'The minimum number of DUs for the Serverless instance. This parameter applies only to Serverless instances.'
PayType:
Type: String
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'
Period:
Type: String
AllowedValues:
- Year
- Month
Description:
en: 'The unit of the subscription duration for a subscription instance. Valid values: **Year** and **Month**.
**Note**: This parameter is required and takes effect only if the **PayType** parameter is set to **PrePaid**.'
ResourceGroupId:
Type: String
Description:
en: The ID of the resource group.
SourceEndpointEngineName:
Type: String
Description:
en: 'The database engine of the source instance. Valid values:
- **MySQL** (default): an ApsaraDB RDS for MySQL instance or a self-managed MySQL database
- **PolarDB**: a PolarDB for MySQL cluster
- **polardb_o**: a PolarDB for Oracle cluster
- **polardb_pg**: a PolarDB for PostgreSQL cluster
- **Redis**: a Tair instance or a self-managed Redis database
- **DRDS**: a PolarDB-X 1.0 or 2.0 instance
- **PostgreSQL**: a self-managed PostgreSQL database
- **odps**: a MaxCompute project
- **oracle**: a self-managed Oracle database
- **mongodb**: an ApsaraDB for MongoDB instance or a self-managed MongoDB database
- **tidb**: a TiDB database
- **ADS**: an AnalyticDB for MySQL 2.0 cluster
- **ADB30**: an AnalyticDB for MySQL 3.0 cluster
- **Greenplum**: an AnalyticDB for PostgreSQL instance
- **MSSQL**: an ApsaraDB RDS for SQL Server instance or a self-managed SQL Server database
- **kafka**: an ApsaraMQ for Kafka instance or a self-managed Kafka cluster
- **DataHub**: a DataHub project
- **DB2**: a self-managed Db2 for LUW database
- **as400**: an AS/400 server
- **Tablestore**: a Tablestore instance
**Note**: You must specify either this parameter or the **JobId** parameter.'
SourceRegion:
Type: String
Description:
en: 'The ID of the region in which the source instance resides.
**Note**: You must specify either this parameter or the **JobId** parameter.'
SyncArchitecture:
Type: String
AllowedValues:
- oneway
- bidirectional
Description:
en: 'The synchronization topology. Valid values:
- **oneway** (default): one-way synchronization
- **bidirectional**: two-way synchronization'
Type:
Type: String
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'
UsedTime:
Type: Number
AllowedValues:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
Description:
en: 'The subscription duration.
- If the **Period** parameter is set to **Month**, the valid values are 1, 2, 3, 4, 5, 6, 7, 8, and 9.
- If the **Period** parameter is set to **Year**, the valid values are 1, 2, 3, and 5.
**Note**: This parameter is required and takes effect only if the **PayType** parameter is set to **PrePaid**. You can set the **Period** parameter to specify the unit of the subscription duration.'
Resources:
Instance:
Type: ALIYUN::DTS::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
InsightModule:
Ref: InsightModule
InstanceClass:
Ref: InstanceClass
JobId:
Ref: JobId
MaxDu:
Ref: MaxDu
MinDu:
Ref: MinDu
PayType:
Ref: PayType
Period:
Ref: Period
ResourceGroupId:
Ref: ResourceGroupId
SourceEndpointEngineName:
Ref: SourceEndpointEngineName
SourceRegion:
Ref: SourceRegion
SyncArchitecture:
Ref: SyncArchitecture
Type:
Ref: Type
UsedTime:
Ref: UsedTime
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
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"AutoPay": {
"Type": "Boolean",
"Description": {
"en": "Specifies whether to automatically renew the DTS instance when it expires.\nValid values:\n- **true**: enables auto-renewal.\n- **false**: disables auto-renewal. This is the default value."
}
},
"AutoStart": {
"Type": "Boolean",
"Description": {
"en": "Specifies whether to automatically start the task after the DTS instance is created.\nValid values:\n- **true**: automatically starts the task.\n- **false**: does not automatically start the task. This is the default value."
}
},
"ComputeUnit": {
"Type": "Number",
"Description": {
"en": "The specifications of the extract, transform, and load (ETL) instance. The unit is compute unit (CU). One CU is equivalent to 1 vCPU and 4 GB of memory. The value must be an integer that is greater than or equal to 2."
}
},
"DatabaseCount": {
"Type": "Number",
"Description": {
"en": "The number of private custom ApsaraDB RDS instances in a PolarDB-X 1.0 instance. Default value: **1**.\n**Note**: You must specify this parameter only if the **SourceEndpointEngineName** parameter is set to **drds**."
}
},
"DestinationEndpointEngineName": {
"Type": "String",
"Description": {
"en": "The database engine of the destination instance. Valid values:\n- **MySQL** (default): an ApsaraDB RDS for MySQL instance or a self-managed MySQL database\n- **PolarDB**: a PolarDB for MySQL cluster\n- **polardb_o**: a PolarDB for Oracle cluster\n- **polardb_pg**: a PolarDB for PostgreSQL cluster\n- **Redis**: a Tair instance or a self-managed Redis database\n- **DRDS**: a PolarDB-X 1.0 or 2.0 instance\n- **PostgreSQL**: a self-managed PostgreSQL database\n- **odps**: a MaxCompute project\n- **oracle**: a self-managed Oracle database\n- **mongodb**: an ApsaraDB for MongoDB instance or a self-managed MongoDB database\n- **tidb**: a TiDB database\n- **ADS**: an AnalyticDB for MySQL 2.0 cluster\n- **ADB30**: an AnalyticDB for MySQL 3.0 cluster\n- **Greenplum**: an AnalyticDB for PostgreSQL instance\n- **MSSQL**: an ApsaraDB RDS for SQL Server instance or a self-managed SQL Server database\n- **kafka**: an ApsaraMQ for Kafka instance or a self-managed Kafka cluster\n- **DataHub**: a DataHub project\n- **DB2**: a self-managed Db2 for LUW database\n- **as400**: an AS/400 server\n- **Tablestore**: a Tablestore instance\n**Note**: You must specify either this parameter or the **JobId** parameter."
}
},
"DestinationRegion": {
"Type": "String",
"Description": {
"en": "The ID of the region in which the destination instance resides.\n**Note**: You must specify either this parameter or the **JobId** parameter."
}
},
"Du": {
"Type": "Number",
"MinValue": 1,
"MaxValue": 100,
"Description": {
"en": "The number of DTS units (DUs) that are assigned to a DTS task that runs 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."
}
},
"FeeType": {
"Type": "String",
"Description": {
"en": "The billing type of the change tracking instance. Valid values:\n- **ONLY_CONFIGURATION_FEE**: charges only for the configuration and waives data traffic fees.\n- **CONFIGURATION_FEE_AND_DATA_FEE**: charges for both the configuration and data traffic."
}
},
"InsightModule": {
"Type": "Boolean",
"Description": {
"en": "Specifies whether to enable the insight module."
}
},
"InstanceClass": {
"Type": "String",
"AllowedValues": [
"xxlarge",
"xlarge",
"large",
"medium",
"small",
"micro"
],
"Description": {
"en": "The instance class of a data migration or data synchronization instance.\n- For a data migration instance, the valid values are **xxlarge**, **xlarge**, **large**, **medium**, and **small**.\n- For a data synchronization instance, the valid values are **large**, **medium**, **small**, and **micro**.\n**Note**: The instance class can be changed after the instance is created. However, the instance downgrade feature is in canary release and is available only to specific users."
}
},
"JobId": {
"Type": "String",
"Description": {
"en": "The ID of the task.\n**Note**: If you specify this parameter, you do not need to specify the `SourceRegion`, `DestinationRegion`, `SourceEndpointEngineName`, or `DestinationEndpointEngineName` parameter. The value of the `JobId` parameter takes precedence even if these other parameters are specified."
}
},
"MaxDu": {
"Type": "Number",
"Description": {
"en": "The maximum number of DUs for the Serverless instance. This parameter applies only to Serverless instances."
}
},
"MinDu": {
"Type": "Number",
"Description": {
"en": "The minimum number of DUs for the Serverless instance. This parameter applies only to Serverless instances."
}
},
"PayType": {
"Type": "String",
"AllowedValues": [
"PayAsYouGo",
"PostPaid",
"PayOnDemand",
"Postpaid",
"PostPay",
"Postpay",
"POSTPAY",
"POST",
"Subscription",
"PrePaid",
"Prepaid",
"PrePay",
"Prepay",
"PREPAY",
"PRE"
],
"Description": {
"en": "The billing method. Valid values:\n- **PrePaid**: subscription\n- **PostPaid**: pay-as-you-go"
}
},
"Period": {
"Type": "String",
"AllowedValues": [
"Year",
"Month"
],
"Description": {
"en": "The unit of the subscription duration for a subscription instance. Valid values: **Year** and **Month**.\n**Note**: This parameter is required and takes effect only if the **PayType** parameter is set to **PrePaid**."
}
},
"ResourceGroupId": {
"Type": "String",
"Description": {
"en": "The ID of the resource group."
}
},
"SourceEndpointEngineName": {
"Type": "String",
"Description": {
"en": "The database engine of the source instance. Valid values:\n- **MySQL** (default): an ApsaraDB RDS for MySQL instance or a self-managed MySQL database\n- **PolarDB**: a PolarDB for MySQL cluster\n- **polardb_o**: a PolarDB for Oracle cluster\n- **polardb_pg**: a PolarDB for PostgreSQL cluster\n- **Redis**: a Tair instance or a self-managed Redis database\n- **DRDS**: a PolarDB-X 1.0 or 2.0 instance\n- **PostgreSQL**: a self-managed PostgreSQL database\n- **odps**: a MaxCompute project\n- **oracle**: a self-managed Oracle database\n- **mongodb**: an ApsaraDB for MongoDB instance or a self-managed MongoDB database\n- **tidb**: a TiDB database\n- **ADS**: an AnalyticDB for MySQL 2.0 cluster\n- **ADB30**: an AnalyticDB for MySQL 3.0 cluster\n- **Greenplum**: an AnalyticDB for PostgreSQL instance\n- **MSSQL**: an ApsaraDB RDS for SQL Server instance or a self-managed SQL Server database\n- **kafka**: an ApsaraMQ for Kafka instance or a self-managed Kafka cluster\n- **DataHub**: a DataHub project\n- **DB2**: a self-managed Db2 for LUW database\n- **as400**: an AS/400 server\n- **Tablestore**: a Tablestore instance\n**Note**: You must specify either this parameter or the **JobId** parameter."
}
},
"SourceRegion": {
"Type": "String",
"Description": {
"en": "The ID of the region in which the source instance resides.\n**Note**: You must specify either this parameter or the **JobId** parameter."
}
},
"SyncArchitecture": {
"Type": "String",
"AllowedValues": [
"oneway",
"bidirectional"
],
"Description": {
"en": "The synchronization topology. Valid values:\n- **oneway** (default): one-way synchronization\n- **bidirectional**: two-way synchronization"
}
},
"Type": {
"Type": "String",
"AllowedValues": [
"MIGRATION",
"SYNC",
"SUBSCRIBE"
],
"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"
}
},
"UsedTime": {
"Type": "Number",
"AllowedValues": [
1,
2,
3,
4,
5,
6,
7,
8,
9
],
"Description": {
"en": "The subscription duration.\n- If the **Period** parameter is set to **Month**, the valid values are 1, 2, 3, 4, 5, 6, 7, 8, and 9.\n- If the **Period** parameter is set to **Year**, the valid values are 1, 2, 3, and 5.\n**Note**: This parameter is required and takes effect only if the **PayType** parameter is set to **PrePaid**. You can set the **Period** parameter to specify the unit of the subscription duration."
}
}
},
"Resources": {
"Instance": {
"Type": "ALIYUN::DTS::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"
},
"InsightModule": {
"Ref": "InsightModule"
},
"InstanceClass": {
"Ref": "InstanceClass"
},
"JobId": {
"Ref": "JobId"
},
"MaxDu": {
"Ref": "MaxDu"
},
"MinDu": {
"Ref": "MinDu"
},
"PayType": {
"Ref": "PayType"
},
"Period": {
"Ref": "Period"
},
"ResourceGroupId": {
"Ref": "ResourceGroupId"
},
"SourceEndpointEngineName": {
"Ref": "SourceEndpointEngineName"
},
"SourceRegion": {
"Ref": "SourceRegion"
},
"SyncArchitecture": {
"Ref": "SyncArchitecture"
},
"Type": {
"Ref": "Type"
},
"UsedTime": {
"Ref": "UsedTime"
}
}
}
},
"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"
]
}
}
}
}