ALIYUN::PolarDBX::DBInstance is used to create a PolarDB for Xscale (PolarDB-X) instance.
Syntax
{
"Type": "ALIYUN::PolarDBX::DBInstance",
"Properties": {
"TopologyType": String,
"EngineVersion": String,
"ResourceGroupId": String,
"VPCId": String,
"AutoRenew": Boolean,
"VSwitchId": String,
"Period": String,
"PayType": String,
"DBNodeClass": String,
"SecondaryZone": String,
"TertiaryZone": String,
"DBNodeCount": Integer,
"PrimaryZone": String,
"UsedTime": Integer,
"DBInstanceDescription": String,
"SecurityIpConfig": Map
}
}
Properties
Property | Type | Required | Editable | Description | Constraint |
TopologyType | String | Yes | No | The topology type. | Valid values:
|
EngineVersion | String | Yes | No | The version of the database engine. |
|
ResourceGroupId | String | No | No | The ID of the resource group. | None. |
VPCId | String | Yes | No | The ID of the virtual private cloud (VPC). | None. |
AutoRenew | Boolean | No | No | Specifies whether to enable auto-renewal. | Valid values:
|
VSwitchId | String | Yes | No | The vSwitch ID. | None. |
Period | String | No | No | The unit of the billing cycle. |
|
PayType | String | No | No | The billing method of the instance. |
|
DBNodeClass | String | Yes | No | The instance type of the node. | Valid values:
|
SecondaryZone | String | No | No | The secondary zone. | None. |
TertiaryZone | String | No | No | The tertiary zone. | None. |
DBNodeCount | Integer | Yes | No | The number of nodes in the instance. | The instance must contain at least two nodes. |
PrimaryZone | String | Yes | No | The primary zone. | None. |
UsedTime | Integer | No | No | The subscription duration. | Note Valid values when Period is set to Year: 1, 2, and 3. |
DBInstanceDescription | String | No | Yes | The description of the instance. | None. |
SecurityIpConfig | Map | No | No | The configurations of the IP address whitelist of the instance. | For more information, see SecurityIpConfig properties. |
SecurityIpConfig syntax
"SecurityIpConfig": {
"SecurityIPList": String,
"ModifyMode": String,
"GroupName": String
}
SecurityIpConfig properties
Property | Type | Required | Editable | Description | Constraint |
SecurityIPList | String | No | No | The IP addresses in the IP address whitelist. | Separate multiple IP addresses with commas (,). |
ModifyMode | String | No | No | The method that is used to modify the IP address whitelist. | Valid values:
|
GroupName | String | No | No | The name of the IP address whitelist. | None. |
Return values
Fn::GetAtt
OrderId: the order ID.
DBInstanceName: the instance name.
Port: the internal port of the instance.
InnerConnectionString: the internal connection string of the instance.
Examples
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
TopologyType:
Type: String
Description: 'The topology type of the instance. Valid values: 3azones: The instance is deployed in three zones. 1azone: The instance is deployed in only one zone.'
AllowedValues:
- 1azone
- 3azones
EngineVersion:
Type: String
Description: The version of the database engine.
VPCId:
Type: String
Description: The ID of the VPC to which the instance belongs.
VSwitchId:
Type: String
Description: The ID of the vSwitch.
DBNodeClass:
Type: String
Description: The specification of the nodes in the instance you want to create.
DBNodeCount:
Type: Number
Description: The number of nodes in the instance you want to create.
MinValue: 2
PrimaryZone:
Type: String
Description: The primary zone.
Resources:
DBInstance:
Type: ALIYUN::PolarDBX::DBInstance
Properties:
TopologyType:
Ref: TopologyType
EngineVersion:
Ref: EngineVersion
VPCId:
Ref: VPCId
VSwitchId:
Ref: VSwitchId
DBNodeClass:
Ref: DBNodeClass
DBNodeCount:
Ref: DBNodeCount
PrimaryZone:
Ref: PrimaryZone
Outputs:
OrderId:
Description: The ID of the order.
Value:
Fn::GetAtt:
- DBInstance
- OrderId
DBInstanceName:
Description: The name of the instance that you create.
Value:
Fn::GetAtt:
- DBInstance
- DBInstanceName
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"TopologyType": {
"Type": "String",
"Description": "The topology type of the instance. Valid values: 3azones: The instance is deployed in three zones. 1azone: The instance is deployed in only one zone.",
"AllowedValues": [
"1azone",
"3azones"
]
},
"EngineVersion": {
"Type": "String",
"Description": "The version of the database engine."
},
"VPCId": {
"Type": "String",
"Description": "The ID of the VPC to which the instance belongs."
},
"VSwitchId": {
"Type": "String",
"Description": "The ID of the vSwitch."
},
"DBNodeClass": {
"Type": "String",
"Description": "The specification of the nodes in the instance you want to create."
},
"DBNodeCount": {
"Type": "Number",
"Description": "The number of nodes in the instance you want to create.",
"MinValue": 2
},
"PrimaryZone": {
"Type": "String",
"Description": "The primary zone."
}
},
"Resources": {
"DBInstance": {
"Type": "ALIYUN::PolarDBX::DBInstance",
"Properties": {
"TopologyType": {
"Ref": "TopologyType"
},
"EngineVersion": {
"Ref": "EngineVersion"
},
"VPCId": {
"Ref": "VPCId"
},
"VSwitchId": {
"Ref": "VSwitchId"
},
"DBNodeClass": {
"Ref": "DBNodeClass"
},
"DBNodeCount": {
"Ref": "DBNodeCount"
},
"PrimaryZone": {
"Ref": "PrimaryZone"
}
}
}
},
"Outputs": {
"OrderId": {
"Description": "The ID of the order.",
"Value": {
"Fn::GetAtt": [
"DBInstance",
"OrderId"
]
}
},
"DBInstanceName": {
"Description": "The name of the instance that you create.",
"Value": {
"Fn::GetAtt": [
"DBInstance",
"DBInstanceName"
]
}
}
}
}