Creating an Instance
Function
- This API can be used to create an instance.
- The API can be used to create an instance when you restore data using a specific backup.
- The API can also be used to create an instance when you restore data of a specific instance to a specified point in time.
Constraints
This API supports the following types of instances:
- GeminiDB Cassandra
- GeminiDB Mongo
- GeminiDB Influx
- GeminiDB Redis
This API supports both yearly/monthly and pay-per-use instances.
Only GeminiDB Cassandra and GeminiDB Influx allow you to restore data of a specified time point from a specified cluster instance to a new one.
URI
POST https://{Endpoint}/v3/{project_id}/instances
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID of a tenant in a region. To obtain this value, see Obtaining a Project ID. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
User token. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
Instance name, which can be the same as an existing instance name. The name must start with a letter and can include 4 to 64 characters. It is case-sensitive and can contain only letters, digits, hyphens (-), and underscores (_). |
datastore |
Yes |
Datastore object |
Database information. |
region |
Yes |
String |
Region ID. The value cannot be empty. For value details, see Regions and Endpoints. |
availability_zone |
Yes |
String |
AZ ID. For details about the value, see az_status returned in Querying Instance Specifications. If an instance can be created across three AZs, separate multiple AZ IDs by commas (,). |
vpc_id |
Yes |
String |
VPC ID. You can obtain the value with either of the following methods:
|
subnet_id |
Yes |
String |
Subnet ID. You can obtain the subnet ID with either of the following methods:
|
security_group_id |
Yes |
String |
Security group ID. You can obtain the security group ID with either of the following methods:
|
password |
Yes |
String |
Database password. The password can include 8 to 32 characters and contain uppercase letters, lowercase letters, digits, and the following special characters: ~!@#%^*-_=+? The password of GeminiDB Redis instances can contain at least two types of the following characters: uppercase letters, lowercase letters, digits, and special characters (~!@#$%^&*()-_=+?). Enter a strong password against security risks such as brute force cracking. |
mode |
Yes |
String |
Instance type. The value can be:
|
flavor |
Yes |
Array of Flavor objects |
Instance specifications. For details about the specifications, see parameter values under flavors in Querying Instance Specifications. |
configuration_id |
No |
String |
Parameter template ID. |
backup_strategy |
No |
BackupStrategy object |
Advanced backup policy. |
enterprise_project_id |
No |
String |
Enterprise project ID.
|
ssl_option |
No |
String |
Whether SSL is enabled. The value can be:
|
charge_info |
No |
ChargeInfo object |
Billing mode, which includes yearly/monthly and pay-per-use. The default billing mode is pay-per-use. |
dedicated_resource_id |
No |
String |
Dedicated resource ID. This parameter can be delivered only after the dedicated resource pool is enabled. |
restore_info |
No |
RestoreInfo object |
Backup information. You can restore data from a specific backup or instance to a specific point in time during the backup retention period. Only GeminiDB Cassandra and GeminiDB Influx allow you to restore data from a specific cluster instance to a specific point in time. |
port |
No |
String |
Port number for accessing the instance. You can specify a port number for accessing GeminiDB Redis instances. The port number ranges from 1024 to 65535, excluding 2180, 2887, 3887, 6377, 6378, 6380, 8018, 8079, 8091, 8479, 8484, 8999, 9864, 9866, 9867, 12017, 12333, and 50069. If you do not specify a port number, port 6379 is used by default when you create a GeminiDB Redis instance. If you want to use this instance for dual-active DR, set the port to 8635. |
availability_zone_detail |
No |
object |
Multi-AZ details of the active/standby instance Currently, only GeminiDB Redis instances are supported. The system ignores this parameter if single-AZ deployment is selected. For details, see Table 9. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
type |
Yes |
String |
Database type.
|
version |
Yes |
String |
Database version. The value can be:
|
storage_engine |
Yes |
String |
Storage engine.
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
num |
Yes |
String |
Number of nodes.
|
size |
Yes |
String |
Storage space. It must be an integer, in GB. For GeminiDB Cassandra, GeminiDB Mongo, and GeminiDB Influx instances, the minimum storage space is 100 GB, and the maximum limit depends on instance specifications. The maximum and minimum storage space of a GeminiDB Redis instance depends on node quantity and specifications of the instance.
|
storage |
Yes |
String |
Disk type. If you set this parameter to ULTRAHIGH, SSD disks are used. |
spec_code |
Yes |
String |
Resource specification code. For the code, see the value of response parameter spec_code in Querying Instance Specifications. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
start_time |
Yes |
String |
Backup time window. Automated backup will be triggered during the backup time window. The value cannot be empty. It must be the UTC time in the hh:mm-HH:MM format.
|
keep_days |
No |
String |
Backup retention days. The value ranges from 0 to 35.
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
charge_mode |
Yes |
String |
Billing mode. Values:
|
period_type |
No |
String |
Subscription period type. Values:
NOTE:
This parameter is valid and mandatory only when charge_mode is set to prePaid. |
period_num |
No |
String |
Subscription time period. This parameter is available and mandatory only when charge_mode is set to prePaid. Values:
|
is_auto_renew |
No |
String |
Whether automatic renewal is enabled for yearly/monthly instances. The renewal period is the same as the original period, and the order will be automatically paid during the renewal. The value can be:
|
is_auto_pay |
No |
String |
Payment method. When you create a yearly/monthly instance, you can specify whether the order is automatically paid from your account. This parameter does not affect the payment mode of automatic renewal. The value can be:
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
backup_id |
No |
String |
Full backup file ID. This parameter cannot be left blank when you create an instance to restore data using a specific backup. |
source_instance_id |
No |
String |
ID of the specified instance that backup data is restored to. This parameter cannot be left blank when you restore data at a specific point in time from a specific instance to a new instance. |
restore_time |
No |
Long |
Time point that backup data is restored to. This parameter cannot be left blank when you restore data at a specific point in time from a specific instance to a new instance. The value is a 13-digit number (in milliseconds, UTC time). You can query the value by referring to Querying the Time Window When a Backup Can Be Restored. |
Response Parameters
Status code: 202
Parameter |
Type |
Description |
---|---|---|
id |
String |
Instance ID. |
name |
String |
Instance name. This parameter is the same as the corresponding request parameter. |
datastore |
Datastore object |
Database information. This parameter is the same as the corresponding request parameter. |
created |
String |
Creation time, which is in the yyyy-mm-dd hh:mm:ss format. |
status |
String |
Instance status. The value is creating. |
region |
String |
Region ID. This parameter is the same as the corresponding request parameter. |
availability_zone |
String |
AZ ID. This parameter is the same as the corresponding request parameter. |
vpc_id |
String |
VPC ID. This parameter is the same as the corresponding request parameter. |
subnet_id |
String |
Subnet ID. This parameter is the same as the corresponding request parameter. |
security_group_id |
String |
Security group ID. This parameter is the same as the corresponding request parameter. |
mode |
String |
Instance type. This parameter is the same as the corresponding request parameter. |
flavor |
Array of Flavor objects |
Instance specifications. This parameter is the same as the corresponding request parameter. |
backup_strategy |
BackupStrategy object |
Advanced backup policy. This parameter is the same as the corresponding request parameter. |
enterprise_project_id |
String |
Enterprise project ID. If you set this parameter to 0, the resource belongs to the default enterprise project. |
ssl_option |
String |
Whether SSL is enabled. This parameter has the same effect as the corresponding request parameter. |
job_id |
String |
ID of the workflow for creating an instance. This parameter is returned only when a pay-per-use instance is created. |
order_id |
String |
ID of the order for creating an instance. This parameter is returned only when you create a yearly/monthly instance. |
charge_info |
ChargeInfo object |
Billing mode, which includes yearly/monthly and pay-per-use. The default billing mode is pay-per-use. |
dedicated_resource_id |
String |
Dedicated resource ID. This parameter is returned only when the DB instance belongs to a dedicated resource pool. |
Parameter |
Type |
Description |
---|---|---|
type |
String |
Database type.
|
version |
String |
Database version. The value can be:
|
storage_engine |
String |
Storage engine.
|
Parameter |
Type |
Description |
---|---|---|
num |
String |
Number of nodes.
|
size |
String |
Storage space. It must be an integer, in GB. ForGeminiDB Cassandra, GeminiDB Mongo, and GeminiDB Influx instances, the minimum storage space is 100 GB, and the maximum limit depends on instance specifications. The maximum and minimum storage space of a GeminiDB Redis instance depends on node quantity and specifications of the instance.
|
storage |
String |
Disk type. If you set this parameter to ULTRAHIGH, SSD disks are used. |
spec_code |
String |
Resource specification code. For the code, see the value of response parameter spec_code in Querying Instance Specifications. |
Parameter |
Type |
Description |
---|---|---|
start_time |
String |
Backup time window. Automated backup will be triggered during the backup time window. The value cannot be empty. It must be the UTC time in the hh:mm-HH:MM format.
|
keep_days |
String |
Backup retention days. The value ranges from 0 to 35.
|
Parameter |
Type |
Description |
---|---|---|
charge_mode |
String |
Billing mode. Values:
|
period_type |
String |
Subscription period type. Values:
NOTE:
This parameter is valid and mandatory only when charge_mode is set to prePaid. |
period_num |
String |
Subscription time period. This parameter is available and mandatory only when charge_mode is set to prePaid. Values:
|
is_auto_renew |
String |
Whether automatic renewal is enabled for yearly/monthly instances. The renewal period is the same as the original period, and the order will be automatically paid during the renewal. The value can be:
|
is_auto_pay |
String |
Payment method. When you create a yearly/monthly instance, you can specify whether the order is automatically paid from your account. This parameter does not affect the payment mode of automatic renewal. The value can be:
|
Example Requests
- URI example
POST https://{Endpoint}/v3/375d8d8fad1f43039e23d3b6c0f60a19/instances
- Creating a pay-per-use 3-node GeminiDB Cassandra instance with 16 vCPUs and 64 GB of memory
Values of region and availability_zone in the request body are only examples. Set them based on service requirements.
{ "name" : "test-cassandra-01", "datastore" : { "type" : "cassandra", "version" : "3.11", "storage_engine" : "rocksDB" }, "region" : "aaa", "availability_zone" : "bbb", "vpc_id" : "674e9b42-cd8d-4d25-a2e6-5abcc565b961", "subnet_id" : "f1df08c5-71d1-406a-aff0-de435a51007", "security_group_id" : "7aa51dbf-5b63-40db-9724-dad3c4828b58", "password" : "******", "mode" : "Cluster", "flavor" : [ { "num" : 3, "storage" : "ULTRAHIGH", "size" : 500, "spec_code" : "geminidb.cassandra.4xlarge.4" } ], "backup_strategy" : { "start_time" : "08:15-09:15", "keep_days" : 8 }, "ssl_option" : 1 }
- Creating a yearly/monthly 3-node GeminiDB Cassandra instance with 16 vCPUs and 64 GB of memory
Values of region and availability_zone in the request body are only examples. Set them based on service requirements.
{ "name" : "test-cassandra-01", "datastore" : { "type" : "cassandra", "version" : "3.11", "storage_engine" : "rocksDB" }, "region" : "aaa", "availability_zone" : "bbb", "vpc_id" : "674e9b42-cd8d-4d25-a2e6-5abcc565b961", "subnet_id" : "f1df08c5-71d1-406a-aff0-de435a51007", "security_group_id" : "7aa51dbf-5b63-40db-9724-dad3c4828b58", "password" : "******", "mode" : "Cluster", "flavor" : [ { "num" : 3, "storage" : "ULTRAHIGH", "size" : 500, "spec_code" : "geminidb.cassandra.4xlarge.4" } ], "backup_strategy" : { "start_time" : "08:15-09:15", "keep_days" : 8 }, "ssl_option" : 1, "charge_info" : { "charge_mode" : "prePaid", "period_type" : "year", "period_num" : 3, "is_auto_renew" : true, "is_auto_pay" : true } }
- Creating a pay-per-use 3-node GeminiDB Cassandra instance with 16 vCPUs and 64 GB of memory based on data restored using a specific backup
Values of region and availability_zone in the request body are only examples. Set them based on service requirements.
{ "name" : "test-cassandra-01", "datastore" : { "type" : "cassandra", "version" : "3.11", "storage_engine" : "rocksDB" }, "region" : "aaa", "availability_zone" : "bbb", "vpc_id" : "674e9b42-cd8d-4d25-a2e6-5abcc565b961", "subnet_id" : "f1df08c5-71d1-406a-aff0-de435a51007", "security_group_id" : "7aa51dbf-5b63-40db-9724-dad3c4828b58", "password" : "******", "mode" : "Cluster", "flavor" : [ { "num" : 3, "storage" : "ULTRAHIGH", "size" : 500, "spec_code" : "geminidb.cassandra.4xlarge.4" } ], "backup_strategy" : { "start_time" : "08:15-09:15", "keep_days" : 8 }, "ssl_option" : 1, "restore_info" : { "backup_id" : "2f4ddb93b9014b0893d81d2e472f30fe" } }
- Creating a yearly/monthly 3-node GeminiDB Cassandra instance with 16 vCPUs and 64 GB of memory based on the data of a specified instance at a specified point in time
Values of region and availability_zone in the request body are only examples. Set them based on service requirements.
{ "name" : "test-cassandra-01", "datastore" : { "type" : "cassandra", "version" : "3.11", "storage_engine" : "rocksDB" }, "region" : "aaa", "availability_zone" : "bbb", "vpc_id" : "674e9b42-cd8d-4d25-a2e6-5abcc565b961", "subnet_id" : "f1df08c5-71d1-406a-aff0-de435a51007", "security_group_id" : "7aa51dbf-5b63-40db-9724-dad3c4828b58", "password" : "******", "mode" : "Cluster", "flavor" : [ { "num" : 3, "storage" : "ULTRAHIGH", "size" : 500, "spec_code" : "geminidb.cassandra.4xlarge.4" } ], "backup_strategy" : { "start_time" : "08:15-09:15", "keep_days" : 8 }, "ssl_option" : 1, "charge_info" : { "charge_mode" : "prePaid", "period_type" : "year", "period_num" : 3, "is_auto_renew" : true, "is_auto_pay" : true }, "restore_info" : { "restore_time" : 1607731200000, "source_instance_id" : "054e292c9880d4992f02c0196d3ein12" } }
Example Responses
Status code: 202
Accepted
Creating a pay-per-use instance:
{ "id" : "39b6a1a278844ac48119d86512e0000bin06", "name" : "test-cassandra-01", "datastore" : { "type" : "cassandra", "version" : "3.11", "storage_engine" : "rocksDB" }, "created" : "2019-10-28 14:10:54", "status" : "creating", "region" : "aaa", "availability_zone" : "bbb,ccc,ddd", "vpc_id" : "490a4a08-ef4b-44c5-94be-3051ef9e4fce", "subnet_id" : "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f", "security_group_id" : "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5", "mode" : "Cluster", "flavor" : [ { "num" : 3, "size" : 500, "storage" : "ULTRAHIGH", "spec_code" : "geminidb.cassandra.4xlarge.4" } ], "backup_strategy" : { "start_time" : "08:15-09:15", "keep_days" : "8" }, "ssl_option" : "1", "job_id" : "c010abd0-48cf-4fa8-8cbc-090f093eaa2f" }
Creating a yearly/monthly instance:
{ "id" : "39b6a1a278844ac48119d86512e0000bin06", "name" : "test-cassandra-01", "datastore" : { "type" : "cassandra", "version" : "3.11", "storage_engine" : "rocksDB" }, "created" : "2019-10-28 14:10:54", "status" : "creating", "region" : "aaa", "availability_zone" : "bbb,ccc,ddd", "vpc_id" : "490a4a08-ef4b-44c5-94be-3051ef9e4fce", "subnet_id" : "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f", "security_group_id" : "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5", "mode" : "Cluster", "flavor" : [ { "num" : 3, "size" : 500, "storage" : "ULTRAHIGH", "spec_code" : "geminidb.cassandra.4xlarge.4" } ], "backup_strategy" : { "start_time" : "08:15-09:15", "keep_days" : "8" }, "enterprise_project_id" : "0", "ssl_option" : "1", "charge_info" : { "charge_mode" : "prePaid", "period_type" : "year", "period_num" : 3, "is_auto_renew" : true, "is_auto_pay" : true } }
Status Codes
For details, see Status Codes.
Error Codes
For details, 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