Creating an Instance¶
Function¶
This API is used to create an instance.
Pay-per-use and yearly/monthly billing modes are supported.
URI¶
POST /v2/{engine}/{project_id}/instances
Parameter  | Mandatory  | Type  | Description  | 
|---|---|---|---|
engine  | Yes  | String  | Message engine.  | 
project_id  | Yes  | String  | Project ID. For details about how to obtain it, see Obtaining a Project ID.  | 
Request Parameters¶
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  | Description of an instance. The description supports up to 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: 
  | 
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.  | 
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.  | 
connector_enable  | No  | Boolean  | Whether to enable message dumping. By default, message dumping is disabled.  | 
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. Value range: 
 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 supported: x86. Value range: 
  | 
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. 
  | 
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. **  | 
Response Parameters¶
Status code: 200
Parameter  | Type  | Description  | 
|---|---|---|
instance_id  | String  | Instance ID.  | 
Example Requests¶
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,3.x",
  "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
}
Example Responses¶
Status code: 200
Instance created successfully.
{
  "instance_id" : "8959ab1c-7n1a-yyb1-a05t-93dfc361b32d"
}
Status Codes¶
Status Code  | Description  | 
|---|---|
200  | Instance created successfully.  | 
Error Codes¶
See Error Codes.