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. If the cache engine is Memcached, this parameter is optional and can be left blank. |
|
capacity |
Yes |
Float |
Cache capacity (GB).
|
|
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. 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 replica 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 the value:
|
|
subnet_id |
Yes |
String |
Network ID of the subnet. To obtain the value:
|
|
security_group_id |
No |
String |
Security group to which the instance belongs. This parameter is mandatory when the engine is Memcached. Memcached instances support access control based on security groups. 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. To obtain the value:
|
|
publicip_id |
No |
String |
ID of the EIP bound to the DCS Redis instance. This parameter is reserved. Retain the default value. |
|
enterprise_project_id |
No |
String |
Enterprise project ID. |
|
enterprise_project_name |
No |
String |
Enterprise project name. |
|
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 |
|
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.
If this parameter is not set, the default value false is used. |
|
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 |
If the cache engine is Redis, leave this parameter empty. If the cache engine is Memcached and no_password_access is set to false, this parameter is required, indicating that you need to access the DCS instance in password mode. A username can contain 1 to 64 characters and must start with a letter. Only letters, digits, underscores (_), and hyphens (-) are allowed.
|
|
enable_publicip |
No |
Boolean |
This parameter is reserved. Retain the default value. |
|
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. |
|
rename_commands |
No |
Object |
Critical commands can be renamed. 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, 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. If it is not specified, the default parameter template is used. To specify a custom parameter template, obtain the template ID by referring to Querying Parameter Templates |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
is_auto_renew |
No |
String |
This parameter is currently not used. |
|
charging_mode |
Yes |
String |
Billing mode. The default value is postPaid, indicating pay-per-use. |
|
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. |
|
error_code |
String |
Error code. |
|
error_ext_msg |
String |
Extended error information. This parameter is not used currently and is set to null. |
Status code: 401
|
Parameter |
Type |
Description |
|---|---|---|
|
error_msg |
String |
Error message. |
|
error_code |
String |
Error code. |
|
error_ext_msg |
String |
Extended error information. This parameter is not used currently and is set to null. |
Status code: 403
|
Parameter |
Type |
Description |
|---|---|---|
|
error_msg |
String |
Error message. |
|
error_code |
String |
Error code. |
|
error_ext_msg |
String |
Extended error information. This parameter is not used currently and is set to null. |
Status code: 404
|
Parameter |
Type |
Description |
|---|---|---|
|
error_msg |
String |
Error message. |
|
error_code |
String |
Error code. |
|
error_ext_msg |
String |
Extended error information. This parameter is not used currently and is set to null. |
Status code: 500
|
Parameter |
Type |
Description |
|---|---|---|
|
error_msg |
String |
Error message. |
|
error_code |
String |
Error code. |
|
error_ext_msg |
String |
Extended error information. This parameter is not used currently and is set to null. |
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", "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", "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.
-
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