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. For details, see Obtaining a 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 version. If the cache engine is Redis, this parameter is mandatory. The version can be 3.0/4.0/5.0/6.0. |
capacity |
Yes |
Float |
Cache capacity (GB).
|
spec_code |
Yes |
String |
Product flavor. The query method is as follows:
|
az_codes |
Yes |
Array of strings |
Code 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. To obtain it, do as follows:
|
subnet_id |
Yes |
String |
Network ID of the subnet. To obtain it, do as follows:
|
security_group_id |
No |
String |
Security group to which the instance belongs. This parameter is optional when the engine is Redis and the version is 4.0 or later. This parameter is mandatory when the engine is Redis and the version is 3.0. DCS Redis 4.0 and later instances do not support security groups but whitelists. You can obtain it in either of the following ways:
|
publicip_id |
No |
String |
ID of the EIP bound to the DCS Redis instance. This parameter is reserved. Retain the default value. Default: false |
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 |
This parameter is reserved. Retain the default value. |
private_ip |
No |
String |
IP address that is specified for a DCS instance. |
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 |
UTC time when the maintenance time window starts. The format is HH:mm:ss.
|
maintain_end |
No |
String |
UTC time when the maintenance time window ends. The format is HH:mm:ss.
|
password |
No |
String |
Password of a DCS instance.
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. Other billing modes are not supported. |
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 |
Leave this parameter empty. |
enable_publicip |
No |
Boolean |
This parameter is reserved. Retain the default value. Default: false |
port |
No |
Integer |
Port customization. This parameter is supported only by Redis 4.0 and later instances and not by Redis 3.0 and Memcached instances. If this parameter is not sent or is left empty when you create a Redis 4.0 or later instance, the default port 6379 will be used. To customize a port, specify a port number in the range from 1 to 65535. For a DCS Redis 3.0 instance, the port cannot be customized. Port 6379 will be used. |
rename_commands |
No |
Object |
Critical commands can be renamed. If this parameter is not sent or is left empty when you create a Redis 4.0 or later instance, no critical command will be renamed. Currently, only COMMAND, KEYS, FLUSHDB, FLUSHALL, SCAN, HSCAN, SSCAN, ZSCAN, and HGETALL commands can be renamed. Redis 3.0 instances do not support renaming of high-risk commands. |
template_id |
No |
String |
Parameter template ID. The default template is used when no ID is specified. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
is_auto_renew |
No |
String |
This parameter is currently not used. Default: false |
charging_mode |
Yes |
String |
Billing mode. The default value is postPaid, indicating pay-per-use. Default: postPaid |
is_auto_pay |
No |
String |
This parameter is currently not used. |
period_type |
No |
String |
This parameter is currently not used. |
period_num |
No |
Integer |
This parameter is currently not used. |
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", "vpc_id" : "5e37b3be-950a-48e1-b498-65b63d336481", "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
{ "vpc_id" : "c5cd009b-9ba9-41f2-9a26-2b8c3f3ffd39", "description" : "Test", "port" : 4040, "enable_ssl" : false, "private_ip" : "", "az_codes" : [ "region01", "region02" ], "capacity" : 2, "access_user" : "", "instance_num" : 1, "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