Creating a DCS Instance
Function
This API is used to create a DCS instance which is billed in pay-per-use mode.
URI
POST /v2/{project_id}/instances
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
Instance name. An instance name can contain letters, digits, underscores (_), and hyphens (-) and must start with a letter or digit. When you create only one instance at a time, the value of this parameter can contain 4 to 64 characters. When you create multiple instances at a time, the value of this parameter can contain 4 to 56 characters. The instances are named in the format of custom name-n, where n starts from 000 and is incremented by 1. For example, if you create two instances and set the custom name to dcs_demo, the two instances are respectively named dcs_demo-000 and dcs_demo-001. |
engine |
Yes |
String |
Cache engine: Redis. |
engine_version |
No |
String |
Cache engine version. If the cache engine is Redis, this parameter is mandatory. The version can be 4.0. |
capacity |
Yes |
Float |
Cache capacity (GB). For a single-node or master/standby DCS Redis 4.0 or 5.0 instance, the value can be 0.125, 0.25, 0.5, 1, 2, 4, 8, 16, 32, or 64. For a cluster instance, the value can be 4, 8, 16, 24, 32, 48, 64, 96, 128, 192, 256, 384, 512, 768, or 1024. |
spec_code |
Yes |
String |
Product flavor. The query method is as follows:
|
az_codes |
Yes |
Array of strings |
ID of the AZ where the cache node resides and which has available resources. ID of the AZ where the cache node resides and which has available resources. For details, see Querying AZs. Check whether the desired AZ has available resources. Master/Standby, Proxy Cluster, and Redis Cluster DCS instances support cross-AZ deployment. You can specify an AZ for the standby node. When specifying AZs for nodes, use commas (,) to separate multiple AZs. For details, see the example request. |
vpc_id |
Yes |
String |
VPC ID. You can obtain it in either of the following ways:
|
subnet_id |
Yes |
String |
Subnet network ID. You can obtain it in either of the following ways:
|
security_group_id |
No |
String |
ID of the security group to which the instance belongs. This parameter is optional when engine is Redis and engine_version is . DCS Redis 4.0 instances do not support security groups. They support only whitelist-based access control. You can obtain it in either of the following ways:
|
publicip_id |
No |
String |
ID of the EIP bound to the DCS Redis instance. Default: false |
enterprise_project_id |
No |
String |
Enterprise project ID. |
enterprise_project_name |
No |
String |
Name of an enterprise project. |
description |
No |
String |
Instance description. The description can contain a maximum of 1024 characters.
NOTE:
The backslash () and quotation mark (") are special characters for JSON messages. When using these characters in a parameter value, add the escape character () before the characters, for example, \\ and \". |
enable_ssl |
No |
Boolean |
|- |
private_ip |
No |
String |
IP address that is manually specified for a DCS instance. This parameter is available for DCS Redis instances. |
instance_num |
No |
Integer |
Number of instances to be created in batches. This parameter is available for DCS Redis instances. Default value: 1. Value range: 1 to 100 Default: 1 |
maintain_begin |
No |
String |
. |
maintain_end |
No |
String |
. |
password |
No |
String |
DCS instance authentication information.
NOTE:
When no_password_access is set to false or not specified, the request must contain the password parameter. The password of a DCS Redis instance must meet the following complexity requirements:
|
no_password_access |
No |
Boolean |
Whether the instance can be accessed without a password.
Default: false |
bss_param |
No |
BssParam object |
Parameter related to the billing mode. If this parameter is left blank, the default billing mode is pay-per-use. |
instance_backup_policy |
No |
BackupPolicy object |
Backup policy. This parameter is supported when the instance type is master/standby or cluster. |
tags |
No |
Array of ResourceTag objects |
Instance tag key and value. |
access_user |
No |
String |
|- |
enable_publicip |
No |
Boolean |
|- Default: false |
port |
No |
Integer |
Port customization. If this parameter is not sent or is left empty when you create a Redis 4.0 instance, the default port 6379 will be used. To customize a port, specify a port number in the range from 1 to 65535. |
rename_commands |
No |
Object |
Critical command renaming. If this parameter is not sent or is left empty when you create a Redis 4.0 instance, no critical command will be renamed. Currently, only COMMAND, KEYS, FLUSHDB, FLUSHALL, SCAN, HSCAN, SSCAN, ZSCAN, and HGETALL commands can be renamed. |
template_id |
No |
String |
Parameter template ID. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
is_auto_renew |
No |
String |
|- Default: false |
charging_mode |
Yes |
String |
The default value is postPaid, indicating pay-per-use. Default: postPaid |
is_auto_pay |
No |
String |
|- |
period_type |
No |
String |
|- |
period_num |
No |
Integer |
|- |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
backup_type |
Yes |
String |
Backup type.
|
save_days |
No |
Integer |
This parameter is mandatory when backup_type is set to auto. Retention period, in days. The value ranges from 1 to 7. |
periodical_backup_plan |
No |
BackupPlan object |
Backup schedule. This parameter is mandatory when backup_type is set to auto. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
timezone_offset |
No |
String |
Time zone in which backup is performed. Range: GMT –12:00 to GMT +12:00. If this parameter is left blank, the current time zone of the DCS-Server VM is used by default. |
backup_at |
Yes |
Array of integers |
Day in a week on which backup starts. The value ranges from 1 to 7, where 1 indicates Monday, and 7 indicates Sunday. |
period_type |
Yes |
String |
Interval at which backup is performed, which supports only weekly currently. |
begin_at |
Yes |
String |
Time at which backup starts. 00:00-01:00 indicates that the backup starts at 00:00. The value must be on the hour. The backup interval is 1 hour. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
key |
Yes |
String |
Tag key.
|
value |
No |
String |
Tag value.
|
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
instances |
Array of Instances objects |
DCS instance ID and name. If multiple DCS instances are created at a time, multiple DCS instance IDs and names will be returned. |
Parameter |
Type |
Description |
---|---|---|
instance_id |
String |
DCS instance ID. |
instance_name |
String |
DCS instance name. |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_msg |
String |
Error message. Maximum: 1024 |
error_code |
String |
Error code. Maximum: 9 |
error_ext_msg |
String |
Extended error information. This parameter is not used currently and is set to null. Maximum: 1024 |
Status code: 401
Parameter |
Type |
Description |
---|---|---|
error_msg |
String |
Error message. Maximum: 1024 |
error_code |
String |
Error code. Maximum: 9 |
error_ext_msg |
String |
Extended error information. This parameter is not used currently and is set to null. Maximum: 1024 |
Status code: 403
Parameter |
Type |
Description |
---|---|---|
error_msg |
String |
Error message. Maximum: 1024 |
error_code |
String |
Error code. Maximum: 9 |
error_ext_msg |
String |
Extended error information. This parameter is not used currently and is set to null. Maximum: 1024 |
Status code: 404
Parameter |
Type |
Description |
---|---|---|
error_msg |
String |
Error message. Maximum: 1024 |
error_code |
String |
Error code. Maximum: 9 |
error_ext_msg |
String |
Extended error information. This parameter is not used currently and is set to null. Maximum: 1024 |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
error_msg |
String |
Error message. Maximum: 1024 |
error_code |
String |
Error code. Maximum: 9 |
error_ext_msg |
String |
Extended error information. This parameter is not used currently and is set to null. Maximum: 1024 |
Example Requests
-
Creating a DCS Redis instance
POST https://{dcs_endpoint}/v2/{project_id}/instances { "name" : "dcs-APITest", "description" : "Test", "engine" : "Redis", "engine_version" : "5.0", "enterprise_project_id" : 0, "enterprise_project_name" : "default", "vpc_id" : "5e37b3be-950a-48e1-b498-65b63d336481", "security_group_id" : "securityGroupId", "enable_ssl" : false, "private_ip" : "", "az_codes" : [ "region01" ], "capacity" : 1, "access_user" : "", "password" : "********", "enable_publicip" : false, "spec_code" : "redis.single.xu1.large.1", "subnet_id" : "a4112635-3ec0-471c-95c3-5cf49b9533af", "no_password_access" : false, "template_id" : "b3ecc9c7-1133-4c47-a06a-21366e227d61" }
-
Creating a pay-per-use, master/standby DCS Redis instance with a customized port, renamed commands, and cross-AZ deployment
{ "enterprise_project_name" : "default", "vpc_id" : "c5cd009b-9ba9-41f2-9a26-2b8c3f3ffd39", "description" : "Test", "security_group_id" : "d57fad27-e3e9-43b7-9498-0a698ab63b27", "port" : 4040, "enable_ssl" : false, "private_ip" : "", "az_codes" : [ "region01", "region02" ], "capacity" : 2, "access_user" : "", "instance_num" : 1, "enterprise_project_id" : 0, "password" : "********", "enable_publicip" : false, "engine" : "Redis", "spec_code" : "redis.ha.au1.large.2", "name" : "dcs-demo", "subnet_id" : "7e95c4d6-d7af-424c-a3cf-2be10968fe81", "engine_version" : "4.0", "no_password_access" : false, "rename_commands" : { "keys" : "keys001", "flushdb" : "flushdb001", "flushall" : "flushall001" } }
Example Responses
Status code: 200
The DCS instance creation task is submitted successfully.
If the instance status is RUNNING, the DCS instance has been successfully created.
-
Example 1
{ "instances" : [ { "instance_id" : "3c49fd6b-fc7c-419e-9644-b6cce008653f", "instance_name" : "dcs-test005" } ] }
-
Example 2
{ "instances" : [ { "instance_id" : "77284d69-cd51-4bf1-aa30-2e60f055800c", "instance_name" : "dcs-APITest1" } ] }
Status code: 400
Invalid request.
{ "error_code" : "DCS.1004", "error_msg" : "Project ID does not match the token." }
Status code: 401
Invalid authentication information.
{ "error_code" : "DCS.1001", "error_msg" : "Invalid token." }
Status code: 403
The request is rejected.
{ "error_code" : "DCS.2003", "error_msg" : "This role does not have the permission to perform this operation." }
Status code: 404
The requested resource is not found.
{ "error_code" : "DCS.4001", "error_msg" : "The requested URL does not exist." }
Status code: 500
Internal service error.
{ "error_code" : "DCS.5000", "error_msg" : "Internal service error." }
Status Codes
Status Code |
Description |
---|---|
200 |
The DCS instance creation task is submitted successfully.
NOTE:
If the instance status is RUNNING, the DCS instance has been successfully created. |
400 |
Invalid request. |
401 |
Invalid authentication information. |
403 |
The request is rejected. |
404 |
The requested resource is not found. |
500 |
Internal service error. |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot