This API is used to create a pay-per-use or yearly/monthly-billed instance.
POST /v2/{engine}/{project_id}/instances
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
engine |
Yes |
String |
Message engine. Default: kafka |
project_id |
Yes |
String |
Project ID. For details about how to obtain it, see Obtaining a Project ID. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
Instance name. An instance name can contain 4 to 64 characters. Only letters, digits, underscores (_), and hyphens (-) are allowed. |
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 ". |
engine |
Yes |
String |
Message engine. Value: kafka. |
engine_version |
Yes |
String |
Message engine. Values:
|
broker_num |
Yes |
Integer |
Number of brokers. |
storage_space |
Yes |
Integer |
Message storage space in GB. Value range:
|
access_user |
No |
String |
This parameter is mandatory when ssl_enable is set to true. This parameter is invalid when ssl_enable is set to false. A username must start with a letter and only letters, digits, hyphens (-), and underscores (_) are allowed. It can contain 4 to 64 characters. |
password |
No |
String |
This parameter is mandatory when ssl_enable is set to true. This parameter is invalid when ssl_enable is set to false. Instance password. The password must meet the following complexity requirements:
|
vpc_id |
Yes |
String |
VPC ID. To obtain it, log in to the VPC console and view the VPC ID on the VPC details page. |
security_group_id |
Yes |
String |
ID of the security group to which the instance belongs. To obtain it, log in to the VPC console and view the security group ID on the security group details page. |
subnet_id |
Yes |
String |
Subnet information. To obtain it, log in to VPC console and click the target subnet on the Subnets page. You can view the network ID on the displayed page. |
available_zones |
Yes |
Array of strings |
ID of the AZ where instance brokers reside and which has available resources. Obtain the AZ ID by referring to Listing AZ Information. This parameter cannot be empty or null. A Kafka instance can be deployed in 1 AZ or at least 3 AZs. When specifying AZs for brokers, use commas (,) to separate multiple AZs. |
product_id |
Yes |
String |
Product ID. You can obtain a product ID from Querying Product Specifications List. |
maintain_begin |
No |
String |
Time at which the maintenance window starts. The format is HH:mm. |
maintain_end |
No |
String |
Time at which the maintenance window ends. The format is HH:mm. |
enable_publicip |
No |
Boolean |
Whether to enable public access. By default, public access is disabled.
|
publicip_id |
No |
String |
ID of the EIP bound to the instance. Use commas (,) to separate multiple EIP IDs. This parameter is mandatory if public access is enabled (that is, enable_publicip is set to true). |
ssl_enable |
No |
Boolean |
Whether to enable SSL encryption for access. This setting is fixed once the instance is created.
|
kafka_security_protocol |
No |
String |
Security protocol to use after SASL is enabled. This parameter is mandatory if SASL authentication is enabled (ssl_enable=true). If this parameter is left blank, SASL_SSL authentication is enabled by default. This setting is fixed once the instance is created.
|
sasl_enabled_mechanisms |
No |
Array of strings |
Authentication mechanism to use after SASL is enabled. This parameter is mandatory if SASL authentication is enabled (ssl_enable=true). If this parameter is left blank, PLAIN authentication is enabled by default. Select both or either of the following mechanisms for SASL authentication. Options:
|
retention_policy |
No |
String |
Action to be taken when the memory usage reaches the disk capacity threshold. The value can be:
|
ipv6_enable |
No |
Boolean |
Indicates whether to enable IPv6. This parameter is available only when the VPC supports IPv6. Default: false |
disk_encrypted_enable |
No |
Boolean |
Indicates whether to enable disk encryption. |
disk_encrypted_key |
No |
String |
Disk encryption key. If disk encryption is not enabled, this parameter is left blank. |
enable_auto_topic |
No |
Boolean |
Whether to enable automatic topic creation.
If it is enabled, a topic will be automatically created with 3 partitions and 3 replicas when a message is created in or retrieved from a topic that does not exist. The default value is false. |
storage_spec_code |
Yes |
String |
Storage I/O specification. Values:
For details about how to select a disk type, see "Disk Types and Disk Performance" in the EVS User Guide. |
enterprise_project_id |
No |
String |
Enterprise project ID. This parameter is mandatory for an enterprise project account. |
tags |
No |
Array of TagEntity objects |
Tag list. |
arch_type |
No |
String |
CPU architecture. Currently, only the x86 architecture is supported. Options:
|
vpc_client_plain |
No |
Boolean |
Intra-VPC plaintext access. |
bss_param |
No |
BssParam object |
Parameter related to the yearly/monthly billing mode. If this parameter is left blank, the billing mode is pay-per-use by default. If this parameter is not left blank, the billing mode is yearly/monthly. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
key |
No |
String |
Tag key, which:
|
value |
No |
String |
Tag value.
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
is_auto_renew |
No |
Boolean |
Whether auto renewal is enabled. Options:
By default, auto renewal is disabled. |
charging_mode |
No |
String |
Billing mode. This parameter specifies a payment mode. Options:
The default value is postPaid. |
is_auto_pay |
No |
Boolean |
Specifies whether the order is automatically or manually paid. Options:
The default payment mode is manual. |
period_type |
No |
String |
Subscription period type. Options:
This parameter is valid and mandatory only when chargingMode is set to prePaid. ** |
period_num |
No |
Integer |
Subscribed periods. Options:
**This parameter is valid and mandatory only when chargingMode is set to prePaid. ** |
Status code: 200
Parameter |
Type |
Description |
---|---|---|
instance_id |
String |
Instance ID. |
Creating a pay-per-use Kafka instance whose version is 2.7, specifications are 2 vCPUs | 4 GB x 3, and storage space is 300 GB
POST https://{endpoint}/v2/{engine}/{project_id}/instances { "name" : "kafka-test", "description" : "", "engine" : "kafka", "engine_version" : "2.7", "storage_space" : 300, "vpc_id" : "********-9b4a-44c5-a964-************", "subnet_id" : "********-8fbf-4438-ba71-************", "security_group_id" : "********-e073-4aad-991f-************", "available_zones" : [ "********706d4c1fb0eb72f0********" ], "product_id" : "c6.2u4g.cluster", "ssl_enable" : true, "kafka_security_protocol" : "SASL_SSL", "sasl_enabled_mechanisms" : [ "SCRAM-SHA-512" ], "storage_spec_code" : "dms.physical.storage.ultra.v2", "broker_num" : 3, "arch_type" : "X86", "enterprise_project_id" : "0", "access_user" : "********", "password" : "********", "enable_publicip" : true, "tags" : [ { "key" : "aaa", "value" : "111" } ], "retention_policy" : "time_base", "disk_encrypted_enable" : true, "disk_encrypted_key" : "********-b953-4875-a743-************", "publicip_id" : "********-88fc-4a8c-86d0-************,********-16af-455d-8d54-************,********-3d69-4367-95ab-************", "vpc_client_plain" : true, "enable_auto_topic" : true }
Status code: 200
Instance created successfully.
{ "instance_id" : "8959ab1c-7n1a-yyb1-a05t-93dfc361b32d" }
Status Code |
Description |
---|---|
200 |
Instance created successfully. |
See Error Codes.