ALIYUN::DTS::SubscriptionInstance is used to create a change tracking instance and
configure a change tracking task.
Syntax
{
"Type": "ALIYUN::DTS::SubscriptionInstance",
"Properties": {
"Configuration": Map,
"SourceEndpointInstanceType": String,
"Period": String,
"PayType": String,
"UsedTime": Integer,
"Tags": List
}
}
Properties
Property |
Type |
Required |
Editable |
Description |
Constraint |
Configuration |
Map |
No |
No |
The configurations of the change tracking instance. |
For more information, see Configuration properties.
|
SourceEndpointInstanceType |
String |
No |
No |
The type of the change tracking instance that you want to create. |
Default value: MySQL. Valid values:
- MySQL
- PolarDB
- DRDS
- Oracle
|
Period |
String |
No |
No |
The billing cycle of the change tracking instance on a subscription basis. |
Valid values:
Note This property takes effect and is required when you set the PayType property to Prepaid.
|
PayType |
String |
No |
No |
The billing method of the change tracking instance. |
Default value: Postpaid. Valid values:
- Postpaid: pay-as-you-go
- Prepaid: subscription
|
UsedTime |
Integer |
No |
No |
The subscription duration of the change tracking instance. |
Valid values:
- Valid values if you set the Period property to Year: 1 to 5
- Valid values if you set the Period property to Month: 1 to 60
Note This property takes effect and is required when you set the PayType property to Prepaid.
|
Tags |
List |
No |
Yes |
The tags that you want to add to the change tracking instance. |
For more information, see Tags properties.
|
Tags properties
"Tags": [
{
"Value": String,
"Key": String
}
]
Property |
Type |
Required |
Editable |
Description |
Constraint |
Key |
String |
Yes |
No |
The key of the tag. |
The tag key must be 1 to 128 characters in length,
and cannot contain http:// or https:// . The tag key cannot start with aliyun or acs: .
|
Value |
String |
No |
No |
The value of the tag. |
The tag value can be up to 128 characters in length,
and cannot contain http:// or https:// . The tag value cannot start with aliyun or acs: .
|
"Configuration": {
"SubscriptionDataType": Map,
"SubscriptionInstanceName": String,
"SubscriptionInstance": Map,
"SourceEndpoint": Map,
"SubscriptionInstanceNetworkType": String,
"DbList": Map
}
Configuration properties
Property |
Type |
Required |
Editable |
Description |
Constraint |
SubscriptionDataType |
Map |
Yes |
No |
The type of the data for which you want to configure the change tracking task. |
For more information, see SubscriptionDataType properties.
|
SubscriptionInstanceName |
String |
No |
No |
The name of the change tracking task. |
None |
SubscriptionInstance |
Map |
No |
No |
The network configurations of the change tracking task. |
For more information, see SubscriptionInstance properties.
|
SourceEndpoint |
Map |
Yes |
No |
The connection information about the source instance for which you want to configure
the change tracking task.
|
For more information, see SourceEndpoint properties.
|
SubscriptionInstanceNetworkType |
String |
No |
No |
The network type of the change tracking task. |
Valid values:
classic : classic network
vpc : virtual private cloud (VPC)
|
DbList |
Map |
No |
No |
The objects for which you want to configure the change tracking task. |
For more information, see Objects of DTS tasks.
|
TableIncludes syntax
"TableIncludes": [
{
"TableName": String
}
]
TableIncludes property
Property |
Type |
Required |
Editable |
Description |
Constraint |
TableName |
String |
No |
No |
The name of the table for which you want to configure the change tracking task in
the source database.
|
None |
TableExcludes syntax
"TableExcludes": [
{
"TableName": String
}
]
TableExcludes property
Property |
Type |
Required |
Editable |
Description |
Constraint |
TableName |
String |
No |
No |
The name of the table for which you do not want to configure the change tracking task
in the source database.
|
None |
SubscriptionDataType syntax
"SubscriptionDataType": {
"DML": Boolean,
"DDL": Boolean
}
SubscriptionDataType properties
Property |
Type |
Required |
Editable |
Description |
Constraint |
DML |
Boolean |
Yes |
No |
Specifies whether to track changes of the data that is generated from DML operations.
|
Valid values:
|
DDL |
Boolean |
Yes |
No |
Specifies whether to track changes of the data that is generated from DDL operations.
|
Valid values:
|
SubscriptionInstance syntax
"SubscriptionInstance": {
"VPCId": String,
"VSwitchId": String
}
SubscriptionInstance properties
Property |
Type |
Required |
Editable |
Description |
Constraint |
VPCId |
String |
Yes |
No |
The ID of the VPC that you want to use in the change tracking task. |
This property takes effect when you set the SubscriptionInstanceNetworkType property
to vpc .
|
VSwitchId |
String |
Yes |
No |
The ID of the vSwitch that you want to use in the change tracking task. |
This property takes effect when you set the SubscriptionInstanceNetworkType property
to vpc .
|
SourceEndpoint syntax
"SourceEndpoint": {
"Role": String,
"OracleSID": String,
"UserName": String,
"OwnerID": String,
"InstanceID": String,
"IP": String,
"Port": String,
"DatabaseName": String,
"InstanceType": String,
"Password": String
}
SourceEndpoint properties
Property |
Type |
Required |
Editable |
Description |
Constraint |
Role |
String |
No |
No |
The RAM role that the Alibaba Cloud account of the source ApsaraDB RDS instance assigns
to the Alibaba Cloud account of the destination instance. This property takes effect
when the source ApsaraDB RDS instance and the destination instance belong to different
Alibaba Cloud accounts.
|
None |
OracleSID |
String |
No |
No |
The name of the source Oracle instance. This property takes effect when the database
type of the source instance is Oracle.
|
None |
UserName |
String |
Yes |
No |
The username of the account that is used to access the source instance. |
None |
OwnerID |
String |
No |
No |
The ID of the Alibaba Cloud account to which the source ApsaraDB RDS instance belongs.
This property takes effect when the source ApsaraDB RDS instance and the destination
instance belong to different Alibaba Cloud accounts.
|
None |
InstanceID |
String |
No |
No |
The ID of the source instance. |
None |
IP |
String |
No |
No |
The IP address that is used to access the source instance. |
This property is required when the source instance is a self-managed database. |
Port |
String |
No |
No |
The port number that is used to access the source instance. |
This property is required when the source instance is a self-managed database. |
DatabaseName |
String |
No |
No |
The name of the database that you want to use when you connect the source instance
to the change tracking task.
|
None |
InstanceType |
String |
Yes |
No |
The type of the source instance for which you want to configure the change tracking
task.
|
Valid values:
- RDS: ApsaraDB RDS instance
- ECS: ECS-hosted self-managed database
|
Password |
String |
Yes |
No |
The password that is used to log on to the source instance. |
None |
Return values
Fn::GetAtt
- SubscriptionInstanceId: the ID of the change tracking instance.
- VPCHost: the VPC endpoint that is configured in the change tracking task.
- PublicHost: the public endpoint that is configured in the change tracking task.
- PrivateHost: the internal endpoint that is configured in the change tracking task.
- SubscribeTopic: the topic that is configured in the change tracking task.
Examples
JSON
format
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"Configuration": {
"Type": "Json",
"Description": "Subscription configuration."
},
"UsedTime": {
"Type": "Number",
"Description": "The subscription length.\nNote: You must specify this parameter only if you set the PayType parameter to PrePaid.\nYou can set the Period parameter to specify the unit of the subscription length."
},
"Period": {
"Type": "String",
"Description": "The unit of the subscription length. Valid values: Year and Month.\nNote: You must specify this parameter only if you set the PayType parameter to PrePaid.",
"AllowedValues": [
"Year",
"Month"
]
},
"PayType": {
"Type": "String",
"Description": "Payment type. Valid value:\nPostPaid: Pay-as-you-go, which is default value.\nPrePaid: subscription.",
"AllowedValues": [
"Subscription",
"PrePaid",
"PrePay",
"Prepaid",
"PayAsYouGo",
"PostPaid",
"PayOnDemand",
"Postpaid"
]
},
"SourceEndpointInstanceType": {
"Type": "String",
"Description": "Data subscription instance type, value is:MySQL: ApsaraDB RDS for MySQL instance or self-managed MySQL database.\nPolarDB: PolarDB for MySQL cluster.\npolardb_o: PolarDB O Edition cluster.\npolardb_pg: PolarDB for PostgreSQL cluster.\nDRDS: PolarDB-X instance V1.0 or V2.0.\nPostgreSQL: self-managed PostgreSQL database.\nOracle: self-managed Oracle database."
}
},
"Resources": {
"SubscriptionInstance": {
"Type": "ALIYUN::DTS::SubscriptionInstance",
"Properties": {
"Configuration": {
"Ref": "Configuration"
},
"UsedTime": {
"Ref": "UsedTime"
},
"Period": {
"Ref": "Period"
},
"PayType": {
"Ref": "PayType"
},
"SourceEndpointInstanceType": {
"Ref": "SourceEndpointInstanceType"
}
}
}
},
"Outputs": {
"PublicHost": {
"Description": "Public host.",
"Value": {
"Fn::GetAtt": [
"SubscriptionInstance",
"PublicHost"
]
}
},
"PrivateHost": {
"Description": "Private host.",
"Value": {
"Fn::GetAtt": [
"SubscriptionInstance",
"PrivateHost"
]
}
},
"SubscriptionInstanceId": {
"Description": "The ID of Data subscription instance.",
"Value": {
"Fn::GetAtt": [
"SubscriptionInstance",
"SubscriptionInstanceId"
]
}
},
"VPCHost": {
"Description": "VPC host.",
"Value": {
"Fn::GetAtt": [
"SubscriptionInstance",
"VPCHost"
]
}
}
}
}