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 instance types:
- GeminiDB Cassandra
- GeminiDB Mongo
- GeminiDB Influx
- GeminiDB Redis
- GeminiDB HBase
- GeminiDB DynamoDB-Compatible
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 |
Explanation: Project ID of a tenant in a region. To obtain this value, see Obtaining a Project ID. Constraints: N/A Values: N/A Default value: N/A |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
Explanation: User token You can obtain the token by calling the IAM API by following Obtaining a User Token Through Password Authentication. Constraints: N/A Values: N/A Default value: N/A |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
Explanation: Instance name, which can be the same as an existing instance name Constraints: The name can be 4 to 64 bytes in length and must start with a letter. Names are case-sensitive and can contain only letters, digits, hyphens (-), and underscores (_). Values: N/A Default value: N/A |
datastore |
Yes |
Datastore object |
Explanation: Database information Constraints: N/A Values: N/A Default value: N/A |
region |
Yes |
String |
Explanation: Region ID Constraints: The value cannot be empty. For details, see Regions and Endpoints. Values: N/A Default value: N/A |
availability_zone |
Yes |
String |
Explanation: AZ ID Constraints: N/A Values: See az_status returned in Querying Instance Specifications. Three AZs can be created. You need to separate AZ IDs using commas (,). Default value: N/A |
vpc_id |
Yes |
String |
Explanation: VPC ID Constraints: N/A Values: To obtain this value, use either of the following methods:
Default value: N/A |
subnet_id |
Yes |
String |
Explanation: Subnet ID Constraints: N/A Values: To obtain this value, use either of the following methods:
Default value: N/A |
security_group_id |
Yes |
String |
Explanation: Security group ID Constraints: N/A Values: To obtain this value, use either of the following methods:
Default value: N/A |
password |
Yes |
String |
Explanation: Database password Constraints: N/A Values: The password can contain 8 to 32 characters, including uppercase letters, lowercase letters, digits, and special characters ~!@#%^*-_=+? The password of a GeminiDB Redis instance 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. Default value: N/A |
mode |
Yes |
String |
Explanation: Instance type Constraints: N/A Values:
Default value: N/A |
product_type |
No |
String |
Explanation: Product type Constraints: This parameter is mandatory when you create a GeminiDB Redis instance with cloud native storage. Values:
Default value: N/A
NOTE:
This parameter is only available for GeminiDB Redis instances with cloud native storage. |
flavor |
Yes |
Array of Flavor objects |
Explanation: Instance specifications Constraints: For details about the specifications, see parameter values under flavors in Querying Instance Specifications. Values: N/A Default value: N/A |
configuration_id |
No |
String |
Explanation: Parameter template ID Constraints: N/A Values: N/A Default value: N/A |
backup_strategy |
No |
BackupStrategy object |
Explanation: Advanced backup policy Constraints: N/A Values: N/A Default value: N/A |
enterprise_project_id |
No |
String |
Explanation: Enterprise project ID Constraints:
Values: N/A Default value: N/A |
ssl_option |
No |
String |
Explanation: Whether SSL is enabled Constraints: N/A Values:
Default value: If this parameter is not transferred, SSL is disabled by default. |
charge_info |
No |
ChargeInfo object |
Explanation: Billing information Constraints: N/A Values: Yearly/Monthly and Pay-per-use Default value: Pay-per-use |
dedicated_resource_id |
No |
String |
Explanation: Dedicated resource ID Constraints: This parameter is available only after a dedicated resource pool is enabled. Values: N/A Default value: N/A |
restore_info |
No |
RestoreInfo object |
Explanation: Backup information Constraints: 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. Values: N/A Default value: N/A |
port |
No |
String |
Explanation: Database port Constraints: Currently, only GeminiDB Redis instances support user-defined ports. 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. Values: The value ranges from 1024 to 65535. The disabled ports are 2180, 2887, 3887, 6377, 6378, 6380, 8018, 8079, 8091, 8479, 8484, 8999, 9864, 9866, 9867, 12017, 12333 and 50069. Default value: 6379 |
availability_zone_detail |
No |
object |
Explanation: Multi-AZ details of primary/standby instances Constraints: Currently, only GeminiDB Redis instances are supported. The system ignores this parameter if single-AZ deployment is selected. For details, see Table 9. Values: N/A Default value: N/A |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
type |
Yes |
String |
Explanation: Database type Constraints:
Values:
Default value: N/A |
version |
Yes |
String |
Explanation: Database version Constraints:
Values: N/A Default value: N/A |
storage_engine |
Yes |
String |
Explanation: Storage engine Constraints: N/A Values:
Default value: N/A |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
num |
Yes |
String |
Explanation: Node quantity Constraints: N/A Values:
Default value: N/A |
size |
Yes |
String |
Explanation: Disk size, which must be an integer, in GB Constraints: 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. Values:
Default value: N/A |
storage |
Yes |
String |
Explanation: Disk type Constraints: N/A Values: ULTRAHIGH: SSD Default value: N/A |
spec_code |
Yes |
String |
Explanation: Resource specification code Constraints: N/A Values: For the code, see the value of response parameter spec_code in Querying Instance Specifications. Default value: N/A |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
start_time |
Yes |
String |
Explanation: Backup time window. Automated backups will be created during the backup time window. Constraints: The value cannot be empty. It must be a valid value in the hh:mm-HH:MM format. The current time is specified in UTC.
Values: N/A Default value: 00:00–01:00 |
keep_days |
No |
String |
Explanation: Backup retention days Constraints: N/A Values: 0–35
Default value: 7 |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
charge_mode |
Yes |
String |
Explanation: Billing mode Constraints: N/A Values:
Default value: N/A |
period_type |
No |
String |
Explanation: Subscription type Constraints: This parameter is valid and mandatory only when charge_mode is set to prePaid. Values:
Default value: N/A
NOTE:
This parameter is valid and mandatory only when charge_mode is set to prePaid. |
period_num |
No |
String |
Explanation: Subscription period Constraints: This parameter is valid and mandatory only when charge_mode is set to prePaid. Values:
Default value: N/A |
is_auto_renew |
No |
String |
Explanation: 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. Constraints: N/A Values:
Default value: false |
is_auto_pay |
No |
String |
Explanation: Whether the order will be automatically paid after yearly/monthly instances are created. This parameter does not affect the payment mode of automatic renewal. Constraints: N/A Values:
Default value: false |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
backup_id |
No |
String |
Explanation: Full backup file ID. Constraints: This parameter cannot be left blank when you create an instance to restore data using a specific backup. Values: N/A Default value: N/A |
source_instance_id |
No |
String |
Explanation: ID of the specified instance for data restoration Constraints: This parameter cannot be left blank when you restore data at a specific point in time from a specific instance to a new instance. Values: N/A Default value: N/A |
restore_time |
No |
Long |
Explanation: Time point that backup data is restored to Constraints: This parameter cannot be left blank when you restore data at a specific point in time from a specific instance to a new instance. Values: 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. Default value: N/A |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
primary_availability_zone |
Yes |
String |
Explanation: Primary AZ, which must be a single AZ and different from the standby AZ Constraints: N/A Values: N/A Default value: N/A |
secondary_availability_zone |
Yes |
String |
Explanation: Standby AZ, which must be a single AZ and be different from the primary AZ Constraints: N/A Values: N/A Default value: N/A |
Response Parameters
Status code: 202
Parameter |
Type |
Description |
---|---|---|
id |
String |
Explanation: Instance ID Values: N/A |
name |
String |
Explanation: Database information, which is the same as the request parameter Values: N/A |
datastore |
Datastore object |
Explanation: Instance name, which is the same as the request parameter Values: N/A |
created |
String |
Explanation: Creation time, which is in the yyyy-mm-dd hh:mm:ss format Values: N/A |
status |
String |
Explanation: Instance status Values: creating |
region |
String |
Explanation: Region ID, which is the same as the request parameter Values: N/A |
availability_zone |
String |
Explanation: AZ ID, which is the same as the request parameter Values: N/A |
vpc_id |
String |
Explanation: VPC ID, which is the same as the request parameter Values: N/A |
subnet_id |
String |
Explanation: Subnet ID, which is the same as the request parameter Values: N/A |
security_group_id |
String |
Explanation: Security group ID, which is the same as the request parameter Values: N/A |
mode |
String |
Explanation: Instance type, which is the same as the request parameter Values: N/A |
flavor |
Array of Flavor objects |
Explanation: Instance flavor, which is the same as the request parameter Values: N/A |
backup_strategy |
BackupStrategy object |
Explanation: Advanced backup policy, which is the same as the request parameter Values: N/A |
enterprise_project_id |
String |
Explanation: Enterprise project ID. 0 indicates the default enterprise project. Values: N/A |
ssl_option |
String |
Explanation: Whether SSL is enabled. This parameter functions the same as the request parameter. Values: N/A |
job_id |
String |
Explanation: ID of the workflow for creating an instance. This parameter is returned only when a pay-per-use instance is created. Values: N/A |
order_id |
String |
Explanation: ID of an order for creating an instance. This parameter is returned only for a yearly/monthly instance. Values: N/A |
charge_info |
ChargeInfo object |
Explanation: Billing mode, which can be yearly/monthly or pay-per-use (default). The value is the same as that of the request parameter. Values: N/A |
dedicated_resource_id |
String |
Explanation: Dedicated resource ID. This field is returned only for instances created on dedicated resources. Values: N/A |
Parameter |
Type |
Description |
---|---|---|
type |
String |
Explanation: Database type Values:
|
version |
String |
Explanation: Database version Values:
|
storage_engine |
String |
Explanation: Storage engine Values:
|
Parameter |
Type |
Description |
---|---|---|
num |
String |
Explanation: Node quantity Values:
|
size |
String |
Explanation: Disk size, which 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. Values:
|
storage |
String |
Explanation: Disk type Values: ULTRAHIGH: SSD |
spec_code |
String |
Explanation: Resource specification code. For the code, see the value of response parameter spec_code in Querying Instance Specifications. Values: N/A |
Parameter |
Type |
Description |
---|---|---|
start_time |
String |
Explanation: Backup time window. Automated backups will be created during the backup time window. Values: The value cannot be empty. It must be a valid value in the hh:mm-HH:MM format. The current time is specified in UTC.
|
keep_days |
String |
Explanation: Backup retention days Values: 0–35
|
Parameter |
Type |
Description |
---|---|---|
charge_mode |
String |
Explanation: Billing mode Values:
|
period_type |
String |
Explanation: Subscription type Values:
NOTE:
This parameter is valid and mandatory only when charge_mode is set to prePaid. |
period_num |
String |
Explanation: Subscription period. This parameter is valid and mandatory only when charge_mode is set to prePaid. Values:
|
is_auto_renew |
String |
Explanation: 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. Values:
|
is_auto_pay |
String |
Explanation: Whether the order will be automatically paid after yearly/monthly instances are created. This parameter does not affect the payment mode of automatic renewal. Values:
|
Example Request
- 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 Response
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