Reviewed-by: Boka, Ladislav <ladislav.boka@t-systems.com> Co-authored-by: Ru, Li Yi <liyiru7@huawei.com> Co-committed-by: Ru, Li Yi <liyiru7@huawei.com>
50 KiB
Creating an Instance
Function
This API can be used to create an instance.
Constraints
This API supports GeminiDB Cassandra instances.
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: ~!@#%^*-_=+? 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:
|
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. |
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.
|
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. |
ssl_option |
String |
Whether SSL is enabled. This parameter has the same effect as the corresponding request parameter. |
job_id |
String |
ID of the job for creating an instance. |
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. |
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.
|
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 }
Example Responses
Status code: 202
Accepted
{ "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" }
Status Codes
For details, see Status Codes.
Error Codes
For details, see Error Codes.