Reviewed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com> Co-authored-by: Chen, Junjie <chenjunjie@huawei.com> Co-committed-by: Chen, Junjie <chenjunjie@huawei.com>
26 KiB
Creating an Instance
Function
This API is used to create a Kafka instance.
URI
POST /v2/{project_id}/instances
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
Instance name. An instance name starts with a letter, consists of 4 to 64 characters, and can contain only letters, digits, underscores (_), and hyphens (-). |
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 |
Version of the message engine. Options:
|
specification |
No |
String |
This parameter indicates the bandwidth of the instance, that is, the maximum amount of data that can be transferred per unit time. Unit: MB. Options:
Note: The value of this parameter is determined by the product ID (product_id) and does not need to set manually. |
broker_num |
No |
Integer |
Number of brokers. You do not need to set this parameter. |
storage_space |
Yes |
Integer |
Message storage space in GB. Value range:
|
partition_num |
No |
Integer |
Maximum number of partitions in a Kafka instance.
|
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. The username must be 4 to 64 characters long and can contain only letters, digits, and hyphens (-). |
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. 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, separate multiple AZs with commas (,). |
product_id |
Yes |
String |
Product ID. You can obtain the product ID from Querying Product Specifications. |
maintain_begin |
No |
String |
Time at which the maintenance time window starts. Format: HH:mm.
|
maintain_end |
No |
String |
Time at which the maintenance time window ends. Format: HH:mm.
|
enable_publicip |
No |
Boolean |
Whether to enable public access. By default, public access is disabled.
|
public_bandwidth |
No |
Integer |
Public network bandwidth. Unit: Mbit/s. Value range:
When specification is 1200MB, the value must be a multiple of the number of brokers and fall in the range from 8 to 2400. |
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.
|
retention_policy |
No |
String |
Action to be taken when the memory usage reaches the disk capacity threshold. The value can be:
|
disk_encrypted_enable |
No |
Boolean |
Indicates whether disk encryption is enabled. |
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 |
Product ID. You can obtain the product ID from Querying Product Specifications. " Storage I/O specification.
For details on how to select a disk type, see "Disk Types and Disk Performance". |
tags |
No |
Array of TagEntity objects |
Tag list. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
key |
No |
String |
Tag key, which can contain a maximum of 36 Unicode characters. The key cannot be left blank or be an empty string. It cannot contain nonprintable ASCII (0–31) characters and the following special characters: =*<>,|/ |
value |
No |
String |
Tag value, which can contain a maximum of 43 Unicode characters. The value cannot be left blank or be an empty string. It cannot contain nonprintable ASCII (0–31) characters and the following special characters: =*<>,|/ |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
instance_id |
String |
Instance ID. |
Example Requests
Creating a Kafka instance.
POST https://{endpoint}/v2/{project_id}/instances { "name" : "kafka-test", "description" : "", "engine" : "kafka", "engine_version" : "1.1.0", "storage_space" : 300, "vpc_id" : "23921d2a-****-****-****-5f2fa5327a48", "security_group_id" : "2e888928-****-****-****-e36c6520d473", "subnet_id" : "37bb12c9-****-****-****-ae8f7d336ab6", "available_zones" : [ "a0865121f83b41cbafce65930a22a6e8" ], "product_id" : "00300-30310-0--0", "maintain_begin" : "22:00", "maintain_end" : "02:00", "ssl_enable" : true, "enable_publicip" : true, "publicip_id" : "6db1129f-16af-455d-8d54-************,bb200202-423f-49e4-bae7-************,ca8801e8-6620-42af-b506-************", "access_user" : "root", "password" : "**********", "specification" : "300MB", "partition_num" : 900, "retention_policy" : "time_base", "enable_auto_topic" : true, "storage_spec_code" : "dms.physical.storage.ultra" }
Example Responses
Status code: 200
An instance is created successfully.
{ "instance_id" : "8959ab1c-7n1a-yyb1-a05t-93dfc361b32d" }
Status Codes
Status Code |
Description |
---|---|
200 |
An instance is created successfully. |
Error Codes
See Error Codes.