# 创建集群V2 - CreateClusterMultiRole
#### 功能介绍
该接口用于创建拥有多种不同节点类型组合的集群。支持创建的集群引擎类型为Elasticsearch、Opensearch和Logstash。
- Elasticsearch集群支持创建以下节点：
  - 数据节点（ess）：必选节点，数据节点用于存储集群数据。当集群未启用Client节点时，数据节点将额外提供接入集群和分析数据的功能；当集群未启用Master节点时，数据节点将额外提供集群管理功能。
    
  
  - Master节点（ess-master）：可选节点，Master节点负责管理集群中所有节点任务，如集群元数据、索引及分片分配，保障大规模集群稳定运行，适用于需高可用性与集中管控的场景。
    
  
  - Client节点（ess-client）：Client节点负责接收并协调外部请求（如搜索和写入），优化高负载查询和集群扩展性，适用于处理复杂查询和大规模分片场景。
    
  
  - 冷数据节点（ess-cold）：冷数据节点用于存储查询时延要求不高且数据量大的历史数据，适用于大规模数据集存储，有利于优化存储成本和查询性能。
    
    
- Opensearch集群支持的节点与Elasticsearch集群支持的节点一致。
  
- Logstash集群支持创建Logstash节点（lgs），该节点用于收集、解析、处理和传输数据。
  
 
#### 接口约束
- 在创建集群之前，需确保已完成集群规划，包括集群规模、节点配置、存储容量等方面的规划。
  
- 已申请虚拟私有云VPC、子网和安全组，您也可以在创建集群的过程中申请。
  
 
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-css/css_03_0077.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-css/css_03_0096.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | 别名 | 依赖的授权项                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
  |:---|:---|:---|:---|:---|:---|
  | css:cluster:create | Write | cluster \*  | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | -  | - ecs:cloudServerFlavors:get  - evs:types:get  - vpc:vpcs:list  - vpc:securityGroups:list  - vpc:securityGroups:get  - vpc:subnets:list  - vpc:subnets:get  - vpc:ports:create  - vpc:ports:update  - vpc:ports:delete  - vpc:ports:get  - kms:cmk:listGrants  - kms:cmk:createGrant  - kms:cmk:list  - kms:cmk:get  - css:cluster:getAgencies  - iam:agencies:listAgencies  - iam:permissions:listRolesForAgency  - iam:permissions:listRolesForAgencyOnProject  - iam:agencies:pass   |
  | css:cluster:create | Write | -           | - g:EnterpriseProjectId   - g:RequestTag/\<tag-key\>   - g:TagKeys    | -  | - ecs:cloudServerFlavors:get  - evs:types:get  - vpc:vpcs:list  - vpc:securityGroups:list  - vpc:securityGroups:get  - vpc:subnets:list  - vpc:subnets:get  - vpc:ports:create  - vpc:ports:update  - vpc:ports:delete  - vpc:ports:get  - kms:cmk:listGrants  - kms:cmk:createGrant  - kms:cmk:list  - kms:cmk:get  - css:cluster:getAgencies  - iam:agencies:listAgencies  - iam:permissions:listRolesForAgency  - iam:permissions:listRolesForAgencyOnProject  - iam:agencies:pass   |
     
  
 
#### URI
POST /v2.0/{project_id}/clusters
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释**： 项目ID。获取方法请参见[获取项目ID和名称](https://support.huaweicloud.com/api-css/css_03_0071.html)。 **约束限制**： 不涉及 **取值范围**： 账号的项目ID，长度为32个字符，由小写字母和数字组成。 **默认取值**： 不涉及 |
   
#### 请求参数
表2请求Body参数 
| 参数      | 是否必选 | 参数类型                                                                           | 描述                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| cluster | 是    | [CreateClusterBody] object | **参数解释**： 集群对象。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及 |
   
 表3CreateClusterBody 
| 参数                    | 是否必选 | 参数类型                                                                                                       | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| name                  | 是    | String                                                                                                     | **参数解释**： 集群名称。 **约束限制**： 不涉及 **取值范围**： 4～32个字符，必须以字母开头，可以包含数字、字母、中划线和下划线，不能包含其他特殊字符。 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| desc                  | 否    | String                                                                                                     | **参数解释**： 集群描述。 **约束限制**： 不涉及 **取值范围**： 只能包含中文、英文字母、数字，不超过128个字符。 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| backupStrategy        | 否    | [CreateClusterBackupStrategyBody] object | **参数解释**： 开启自动创建快照策略。 **约束限制**： 当backupStrategy参数配置不为空时，才会开启自动创建快照策略。 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| roles                 | 是    | Array of [CreateClusterRolesBody] objects         | **参数解释**： 集群节点信息数组，数组中每个元素为CreateClusterRolesBody对象，表示一个集群节点的配置信息。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| nics                  | 是    | [CreateClusterInstanceNicsBody] object     | **参数解释**： 网络配置信息。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| enterprise_project_id | 否    | String                                                                                                     | **参数解释**： 企业项目ID。创建集群时，给集群绑定企业项目ID。[获取企业项目ID](https://support.huaweicloud.com/api-em/zh-cn_topic_0121230880.html)。 **约束限制**： 不涉及 **取值范围**： 最大长度36个字符，带"-"连字符的UUID格式，或者是字符串"0"。 **默认取值**： 0（表示默认企业项目）                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| tags                  | 否    | Array of [CreateClusterTagsBody] objects           | **参数解释**： 集群标签，集群标签数组，数组中每个元素为CreateClusterTagsBody对象，表示一个标签键值对。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| availability_zone     | 是    | String                                                                                                     | **参数解释**： 节点所在的可用区，需要指定可用区的名称（可用分区名称）。 **约束限制**： 选择多个可用区时，各个可用区名称不能重复。 选择两个可用区时，数据节点（ess）或冷数据节点（ess-cold）在每个可用区的数量不小于2。 若节点个数为可用区个数的倍数，节点将会均匀分布于各个可用区。 若节点个数非可用区个数的倍数，各可用区分布的节点数量之差的绝对值不大于1。 请参考CSS[使用前必读](https://support.huaweicloud.com/api-css/css_03_0001.html)中基本概念，了解可用区。 **取值范围**： 指定节点所在的可用区时，各个可用区名称需要使用英文逗号（,）分隔，以"通用可用区"为例，选择多可用区时，availability_zone取值为region-1a,region-1b,region-1c。 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                   |
| datastore             | 是    | [CreateClusterDatastoreBody] object           | **参数解释**： 要创建的集群的引擎类型，支持elasticsearch、opensearch和logstash。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| authorityEnable       | 否    | Boolean                                                                                                    | **参数解释**： 集群是否开启安全认证。 **约束限制**： 此参数仅支持Elasticsearch集群和OpenSearch集群。 - Elasticsearch：安全集群只有6.5.4及之后版本支持。   - OpenSearch：没有约束。   - true：表示集群开启认证。   - false：表示集群不开启认证。    **取值范围**： **默认取值**： false |
| httpsEnable           | 否    | Boolean                                                                                                    | **参数解释**： 设置是否进行通信加密。 **约束限制**： 当httpsEnable设置为true时，authorityEnable字段需要设置为true。 Elasticsearch安全集群只有6.5.4及之后版本支持。 OpenSearch安全集群只有1.3.6和2.19.0版本支持关闭HTTPS访问，其他版本均强制启用HTTPS访问，不可关闭。 **取值范围**： - true：表示集群进行通信加密。   - false：表示集群不进行通信加密。    **默认取值**： false                                                                                                                                                                                                                                         |
| adminPwd              | 否    | String                                                                                                     | **参数解释**： 安全模式下集群管理员admin的密码。 **约束限制**： 只有在创建集群时authorityEnable设置为true时需要设置此参数。 **取值范围**： 8\~32个字符，密码至少包含大写字母，小写字母，数字、特殊字符四类中的三类，其中可输入的特殊字符为：\~!@#$%\&\*()-_=\|\[{}\];:,\<.\>/?。 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| publicIPReq           | 否    | [CreateClusterPublicIpReq] object               | **参数解释**： 公网访问信息。 **约束限制**： 只有在httpsEnable设置为true时该参数配置生效。 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| loadBalance           | 否    | [CreateClusterLoadBalance] object               | **参数解释**： 终端节点服务信息。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| publicKibanaReq       | 否    | [CreateClusterPublicKibanaReq] object       | **参数解释**： Kibana/Dashboards公网访问白名单信息。 **约束限制**： 只有在authorityEnable设置为true时该参数配置生效。 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| payInfo               | 否    | [PayInfoBody] object                                         | **参数解释**： 包周期集群相关参数，订购包周期集群时使用。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ipv6_enable           | 否    | Boolean                                                                                                    | **参数解释**： 集群是否开启自动分配IPv6地址。 **约束限制**： 不涉及 **取值范围**： - true：集群开启自动分配IPv6地址。   - false：集群关闭自动分配IPv6地址。    **默认取值**： false                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| diskEncryption        | 否    | [diskEncryptionInfo] object                           | **参数解释**： 磁盘加密信息。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   
 表4CreateClusterBackupStrategyBody 
| 参数                         | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| period                     | 是    | String  | **参数解释**： 每天创建快照的时刻。 **约束限制**： 只支持整点，后面需加上时区，格式为HH:mm z，HH:mm表示整点时间，z表示时区。比如00:00 GMT+08:00、01:00 GMT+08:00等。 **取值范围**： 不涉及 **默认取值**： 00:00 GMT+08:00。 说明： 当frequency取值HOUR时，无需指定period值，默认从设置成功的下一整点创建。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| frequency                  | 否    | String  | **参数解释**： 自动创建快照的执行频次。 **约束限制**： 保留快照个数与自动创建快照策略中设置的执行频次和索引有关。当执行频次间隔时间短或索引数据量大，保留自动快照可能会达不到设置的个数，请谨慎选择！ **取值范围**： - HOUR：表示每小时整点执行一次。   - DAY：表示每天执行一次。   - SUN、MON、TUE、WED、THU、FRI、SAT：表示在每周对应时间执行一次，比如SUN表示每周日执行一次。    **默认取值**： DAY                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| prefix                     | 是    | String  | **参数解释**： 自动创建的快照的前缀，需要用户自己手动输入。 **约束限制**： 不涉及 **取值范围**： 只能包含1\~32位小写字母、数字、中划线或者下划线，并且以小写字母开头。 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| keepday                    | 是    | Integer | **参数解释**： 定义设置快照保留的个数，单位：个。 **约束限制**： 系统在半点时刻会自动删除超过保留个数的快照。过期删除策略只针对与当前自动创建快照策略相同执行频次的自动快照。 **取值范围**： 1～90，单位：个。 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| bucket                     | 是    | String  | **参数解释**： 备份使用的OBS桶名称。 **约束限制**： 选择的OBS桶需要满足如下条件： - "储存类别"：标准存储。   - "区域"：须与集群所在区域相同。   - 桶名称长度范围为3到63个字符。   - 仅支持小写字母、数字、中划线（-）、英文句号（.），且不能以中划线（-）或英文句号（.）开头及结尾。   - 禁止两个英文句号（.）相邻（如"my.bucket"），禁止中划线（-）和英文句号（.）相邻（如"my-.bucket"和"my.-bucket"）。   - 禁止使用ip地址。   - 需全局唯一，不能与已有的任何桶或并行文件系统（包含其他用户创建的）名称重复。已删除的桶或并行文件系统，需要在删除30分钟后再创建同名桶或并行文件系统。    **取值范围**： **默认取值**： 不涉及                                                                                                                                                                                                                                |
| basePath                   | 是    | String  | **参数解释**： 快照在OBS桶中的存放路径。 **约束限制**： 不涉及 **取值范围**： 备份路径配置规则： - 备份路径不能存在符号":\*?"\<\>\|'{}"。   - 备份路径不能以"/"开头。   - 备份路径不能以"."开头或结尾。   - 备份路径不能包含两个以上连续的斜杆（/）或点（.）。   - 备份路径的总长度不能超过512字符。    **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| agency                     | 否    | String  | **参数解释**： 选择IAM委托，授权当前账号访问和使用OBS的权限。 **约束限制**： 如果bucket、basePath和agency三个参数同时为空，则系统会自动创建OBS桶和IAM代理（若创建失败，则需要手工配置正确的参数）。 **取值范围**： 委托名称必须仅包含字符a-z、A-Z、0-9、下划线（_）和短横线（-），长度不大于64位。 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| maxSnapshotBytesPerSeconds | 否    | String  | **参数解释**: 配置每个节点的最大备份速率（每秒），即当备份的速率超过该值时会被限流，避免速率太大导致资源占用过高，影响系统稳定性。实际备份速率不一定能达到该值，会受OBS、磁盘等影响。 **约束限制**: 不涉及 **取值范围**: 有以下3种填写规则： - 数字+单位 数字部分支持0\~9999。 单位部分支持k、kb、m、mb、g、gb、t、tb、p、pb、b，且不区分大小写。 当填写0mb时，表示不限速，当备份速率过大时，可能导致备份占用资源过高，影响系统稳定性，请谨慎配置该值。   - 0 表示不限速，当备份速率过大时，可能导致备份占用资源过高，影响系统稳定性，请谨慎配置该值。   - -1 表示不限速，当备份速率过大时，可能导致备份占用资源过高，影响系统稳定性，请谨慎配置该值。    **默认取值**: 40mb                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| maxRestoreBytesPerSeconds  | 否    | String  | **参数解释**: 配置每个节点的最大恢复速率（每秒），即当恢复的速率超过该值时会被限流，避免速率太大导致资源占用过高，影响系统稳定性。实际恢复速率不一定能达到该值，会受OBS、磁盘等影响。 **约束限制**: OpenSearch集群和版本是7.6.2以后的Elasticsearch集群，恢复速率还受限于"indices.recovery.max_bytes_per_sec"参数。当"最大恢复速率（每秒）"小于"indices.recovery.max_bytes_per_sec"的参数值时，恢复速率达到"最大恢复速率（每秒）"参数值时就会被限流。当"最大恢复速率（每秒）"大于"indices.recovery.max_bytes_per_sec"的参数值时，恢复速率达到"indices.recovery.max_bytes_per_sec"参数值时就会被限流。 **取值范围**: 有以下3种填写规则： - 数字+单位 数字部分支持0\~9999。 单位部分支持k、kb、m、mb、g、gb、t、tb、p、pb、b，且不区分大小写。 当填写0mb时，表示不限速（但OpenSearch集群和7.6.2以上版本的Elasticsearch集群，恢复速率还受限于"indices.recovery.max_bytes_per_sec"参数），当恢复速率过大时，可能导致恢复占用资源过高，影响系统稳定性，请谨慎配置该值。   - 0 表示不限速（但OpenSearch集群和7.6.2以上版本的Elasticsearch集群，恢复速率还受限于"indices.recovery.max_bytes_per_sec"参数），当恢复速率过大时，可能导致恢复占用资源过高，影响系统稳定性，请谨慎配置该值。   - -1 表示不限速（但OpenSearch集群和7.6.2以上版本的Elasticsearch集群，恢复速率还受限于"indices.recovery.max_bytes_per_sec"参数），当恢复速率过大时，可能导致恢复占用资源过高，影响系统稳定性，请谨慎配置该值。    **默认取值**: 7.6.2及以下版本的Elasticsearch集群，默认值是40mb。 OpenSearch集群和7.6.2以上版本的Elasticsearch集群，默认值是不限制，但还受限于"indices.recovery.max_bytes_per_sec"参数。 |
   
 表5CreateClusterRolesBody 
| 参数          | 是否必选 | 参数类型                                                                                                       | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| flavorRef   | 是    | String                                                                                                     | **参数解释**： 实例规格名称。可以使用[获取实例规格列表](https://support.huaweicloud.com/api-css/ListFlavors.html)的name属性确认当前拥有的规格信息。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| volume      | 是    | [CreateClusterInstanceVolumeBody] object | **参数解释**： 磁盘配置信息，包括磁盘类型和磁盘大小。 **约束限制**： 当flavorRef选择的是本地盘规格时不需要填写，本地盘规格可以通过[获取实例规格列表](https://support.huaweicloud.com/api-css/ListFlavors.html)中diskrange属性获得，如果diskrange中两个数值相等，则为本地盘。 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| type        | 是    | String                                                                                                     | **参数解释**： 节点类型。 **约束限制**： 不涉及 **取值范围**： - ess：数据节点。   - ess-cold：冷数据节点。   - ess-client：Client节点。   - ess-master：Master节点。   - lgs：Logstash节点。    **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| instanceNum | 是    | Integer                                                                                                    | **参数解释**： 实例个数。 **约束限制**： 见取值范围。 **取值范围**： - ess节点，选择范围：1\~32个节点数量。 - 若同时选择ess和ess-master时，可以选择1\~200个节点数量。   - 若同时选择ess和ess-client时，可以选择1\~32个节点数量。   - 若同时选择ess和ess-cold时，可以选择1\~32个节点数量。      - ess-master节点，选择范围：3\~9内的奇数个节点数量。   - ess-client节点，选择范围：1\~64个节点数量。   - ess-cold节点，选择范围：1\~32个节点数量。   - Logstash节点，选择范围：可以选择1\~100个节点数量。    **默认取值**： 不涉及 |
   
 表6CreateClusterInstanceVolumeBody 
| 参数          | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| volume_type | 是    | String  | **参数解释**： 磁盘类型。 **约束限制**： 不涉及 **取值范围**： - COMMON：普通I/O。   - HIGH：高I/O。   - ULTRAHIGH：超高I/O。   - ESSD：极速SSD。    **默认取值**： 不涉及 |
| size        | 是    | Integer | **参数解释**： 磁盘大小，单位：G。 **约束限制**： 不涉及 **取值范围**： 磁盘规格大小可以通过[获取实例规格列表](https://support.huaweicloud.com/api-css/ListFlavors.html)中diskrange属性获得。 必须为大于0且为4和10的公倍数，单位：GB。 **默认取值**： - ess节点和ess-cold节点：默认100G与节点规格支持的最小磁盘容量取较大者。   - ess-master节点和ess-client节点：默认大小为40G，且不可更改。    说明： ess节点和ess-cold节点，推荐大于100G。                                                                                                                                                              |
   
 表7CreateClusterInstanceNicsBody 
| 参数              | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| vpcId           | 是    | String           | **参数解释**： 指定虚拟私有云ID，用于集群网络配置。[获取虚拟私有云ID](https://support.huaweicloud.com/api-vpc/vpc_api01_0003.html)。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| netId           | 是    | String           | **参数解释**： 子网ID(网络ID)。[获取子网网络ID](https://support.huaweicloud.com/api-vpc/vpc_subnet01_0003.html)。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| securityGroupId | 是    | String           | **参数解释**： 安全组ID。[获取安全组ID](https://support.huaweicloud.com/api-vpc/vpc_sg01_0003.html)。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ips             | 否    | Array of strings | **参数解释**： 节点IP信息，在指定IP创建集群时配置。 只有Elasticsearch和OpenSearch支持。 - "未填写时，自动分配IPv4地址"：系统自动为集群节点分配私有IPv4地址。   - "手动分配IPv4地址"：为集群节点设置指定的私有IPv4地址。设置前，可单击"查看已使用IP地址"查看地址，避免IP地址冲突。    **约束限制**： 不涉及 **默认取值**： 不涉及 |
   
 表8CreateClusterTagsBody 
| 参数    | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| key   | 是    | String | **参数解释**： 集群标签的key值。 **约束限制**： 不涉及 **取值范围**： 可输入的字符串长度为1\~36个字符。只能包含数字、字母、中划线"-"和下划线"_"。 **默认取值**： 不涉及   |
| value | 是    | String | **参数解释**： 集群标签的value值。 **约束限制**： 不涉及 **取值范围**： 可输入的字符串长度为0\~43个字符。只能包含数字、字母、中划线"-"和下划线"_"。 **默认取值**： 不涉及 |
   
 表9CreateClusterDatastoreBody 
| 参数      | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| version | 是    | String | **参数解释**： CSS集群引擎版本号。 **约束限制**： 不涉及 **取值范围**： ElasticSearch集群：7.6.2，7.10.2 OpenSearch集群：2.19.0，3.4.0 Logstash集群：7.10.0 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| type    | 是    | String | **参数解释**： 要创建的集群的引擎类型。 **约束限制**： 不涉及 **取值范围**： - elasticsearch：Elasticsearch集群。   - opensearch：Opensearch集群。   - logstash：Logstash集群。   - serverless-opensearch：Serverless集群。    **默认取值**： 不涉及 |
   
 表10CreateClusterPublicIpReq 
| 参数              | 是否必选 | 参数类型                                                                                           | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| eip             | 是    | [CreateClusterPublicEip] object       | **参数解释**： 公网带宽信息。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                 |
| elbWhiteListReq | 否    | [CreateClusterElbWhiteList] object | **参数解释**： 公网访问白名单。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                |
| publicBindType  | 是    | String                                                                                         | **参数解释**： 是否自动绑定弹性公网IP。 **约束限制**： 不涉及 **取值范围**： 当前仅支持auto_assign为自动分配参数。 **默认取值**： 不涉及                                                      |
| eipId           | 否    | String                                                                                         | **参数解释**： 弹性公网IP的ID，请参见[配置公网访问](https://support.huaweicloud.com/usermanual-css/css_01_0265.html)。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及 |
   
 表11CreateClusterPublicEip 
| 参数        | 是否必选 | 参数类型                                                                                             | 描述                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| bandWidth | 是    | [CreateClusterPublicEipSize] object | **参数解释**： 设置公网带宽大小。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及 |
   
 表12CreateClusterPublicEipSize 
| 参数   | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| size | 是    | Integer | **参数解释**： 带宽大小，单位Mbit/s。 **约束限制**： 不涉及 **取值范围**： 1-200 **默认取值**： 1 |
   
 表13CreateClusterElbWhiteList 
| 参数              | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| enableWhiteList | 是    | Boolean | **参数解释**： 是否开启公网访问控制。 **约束限制**： 不涉及 **取值范围**： - true：设置访问白名单，则表示只允许白名单列表中的IP地址或网段通过该公网访问集群。   - false：不设置访问白名单，则表示所有的都可以通过该公网访问集群。    单击"添加访问白名单"，输入允许IP地址或网段（CIDR格式），以英文逗号分隔，不可重复。例如输入"192.168.1.1,10.0.0.0/24"，不支持"0.0.0.0"、"x.x.x.x0"、"172.16.0.0-172.16.255.255"、非标准格式（如"192.168.1"）或重复项。 **默认取值**： false |
| whiteList       | 否    | String  | **参数解释**： 公网访问控制白名单。 **约束限制**： 需要添加白名单的网段或IP，以逗号隔开，不可重复。 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   
 表14CreateClusterLoadBalance 
| 参数                  | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| endpointWithDnsName | 是    | Boolean          | **参数解释**： 终端节点的内网域名。 **约束限制**： 不涉及 **取值范围**： - true： 开启内网域名，系统会自动为终端节点服务分配一个内网域名。   - false： 关闭内网域名，终端节点服务不配置内网域名。仅支持通过终端节点服务的IP地址访问集群。    **默认取值**： 不涉及                   |
| vpcPermissions      | 否    | Array of strings | **参数解释**： 访问控制信息，包含需要授权的账号ID。 **约束限制**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| professionVpcep     | 否    | Boolean          | **参数解释**： 创建专业型终端节点。 **约束限制**： 不涉及 **取值范围**： - true：开启。创建专业型终端节点，支持IPv4/IPv6双栈网络。   - false：不开启。创建基础型终端节点，只支持IPv4网络。    **默认取值**： false                                    |
| dualstackEnable     | 否    | Boolean          | **参数解释**： 是否开启IPv4/IPv6双栈网络。 **约束限制**： 仅支持在创建专业型终端节点时开启双栈网络，且集群的VPC子网支持IPv6。 **取值范围**： - true：开启。系统会自动为终端节点服务分配一个IPv6地址。   - false：不开启。终端节点服务不支持IPv6访问。    **默认取值**： false |
   
 表15CreateClusterPublicKibanaReq 
| 参数           | 是否必选 | 参数类型                                                                                                                   | 描述                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| eipSize      | 是    | Integer                                                                                                                | **参数解释**： 带宽大小，单位Mbit/s。 **约束限制**： 不涉及 **取值范围**： 1-200 **默认取值**： 不涉及 |
| elbWhiteList | 否    | [CreateClusterPublicKibanaElbWhiteList] object | **参数解释**： kibana/Dashboards公网访问白名单信息。 **约束限制**： 不涉及                                                                                                                                                                                          |
   
 表16CreateClusterPublicKibanaElbWhiteList 
| 参数              | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| whiteList       | 是    | String  | **参数解释**： 允许通过Kibana/Dashboards公网访问地址访问集群的IP地址或网段列表 **约束限制**： 需要添加白名单的网段或IP，以逗号隔开，不可重复。 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| enableWhiteList | 是    | Boolean | **参数解释**： 是否开启kibana/Dashboards公网访问控制。 **约束限制**： 不涉及 **取值范围**： - true：设置访问白名单，则表示只允许白名单列表中的IP地址或网段通过Kibana/Dashboards公网访问地址访问集群。   - false：不设置访问白名单，则表示所有的都可以通过Kibana/Dashboards公网访问地址访问集群。    单击"添加访问白名单"，输入允许访问IP地址或网段（CIDR格式），以英文逗号分隔，不可重复。例如输入"192.168.1.1,10.0.0.0/24"，不支持"0.0.0.0"、"x.x.x.x0"、"172.16.0.0-172.16.255.255"、非标准格式（如"192.168.1"）或重复项。 **默认取值**： false |
   
 表17PayInfoBody 
| 参数          | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| payModel    | 是    | Integer | **参数解释**： 集群订购周期类型。 **约束限制**： 不涉及 **取值范围**： - 2：包月。   - 3：包年。    **默认取值**： 不涉及                                                                                                                                                                          |
| period      | 是    | Integer | **参数解释**： 集群订购周期数，单位：月/年，具体取决于payModel。 **约束限制**： 不涉及 **取值范围**： - 若payModel为2，则有效值为1-9。   - 若payModel为3，则有效值为1-3。    **默认取值**： 不涉及                                                                                                                      |
| isAutoRenew | 否    | Integer | **参数解释**： 是否自动续订，为空时表示不自动续订。 **约束限制**： 不涉及 **取值范围**： - 1：自动续订。   - 0：不自动续订。    **默认取值**： 0                                                                                                                                                              |
| isAutoPay   | 否    | Integer | **参数解释**： 是否自动支付。下单订购后，是否自动从客户的华为云账户中支付，而不需要客户手动去进行支付。该参数适用于包周期集群。 **约束限制**： 不涉及 **取值范围**： - 1：是选择自动支付会自动选择折扣和优惠券，并从客户的华为云账户中支付。如果自动支付失败则会生成待支付的订单，该订单应付金额是优惠后的金额，等待客户手动支付(手动支付时，客户还可以修改系统自动选择的折扣和优惠券)。   - 0：否（需要客户手动去支付，客户可以选择折扣和优惠券）。    **默认取值**： 0 |
   
 表18diskEncryptionInfo 
| 参数              | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| systemEncrypted | 否    | String | **参数解释**： 是否开启磁盘加密。通过磁盘加密对集群节点的数据盘进行KMS加密，保障数据存储的安全性。 **约束限制**： 磁盘加密不会改变集群的管理和运维操作流程，但数据加解密环节会增加系统处理开销，可能会对操作性能产生一定的影响。 **取值范围**： - 0：不开启磁盘加密。   - 1：开启磁盘加密。    **默认取值**： 0                                                                                                                                                                                                          |
| systemCmkid     | 否    | String | **参数解释**： 磁盘密钥ID。[获取密钥ID](https://support.huaweicloud.com/api-dew/ListKeys.html)。 **约束限制** ： - 密钥算法：AES或SM4。   - 密钥用途：ENCRYPT_DECRYPT。    集群创建成功后不支持修改密钥。 当集群使用的KMS密钥处于非启用状态时，集群扩容、升级、节点规格变更、指定节点替换及可用区切换的操作将失败，需通过新建集群并完成数据迁移实现业务变更。 **取值范围**： systemEncrypted为1时有效。 在下拉框中选择KMS密钥名称，下拉框中不可见的KMS密钥表示集群不支持。选择的密钥必须满足以下条件： 不涉及 **默认取值**： 不涉及 |
   
#### 响应参数
**状态码：200**
表19响应Body参数 
| 参数      | 参数类型                                                                            | 描述                                                                                                                                                                                   |
|:---|:---|:---|
| cluster | [CreateClusterResp] object | **参数解释**： 集群对象。若创建的是按需集群，则只返回cluster参数。 **取值范围**： 不涉及。 |
| orderId | String                                                                          | **参数解释**： 订单号。只有创建包周期集群时才会返回orderId参数。 **取值范围**： 不涉及。  |
   
 表20CreateClusterResp 
| 参数   | 参数类型   | 描述                                                                                                                                                           |
|:---|:---|:---|
| id   | String | **参数解释**： 集群ID。 **取值范围**： 不涉及。 |
| name | String | **参数解释**： 集群名称。 **取值范围**： 不涉及。 |
   
#### 请求示例
- 创建包周期的Elasticsearch集群请求示例。
  ```
  POST https://{Endpoint}/v2.0/{project_id}/clusters
  {
    "cluster" : {
      "name" : "css-cluster",
      "desc" : "test cluster",
      "backupStrategy" : {
        "period" : "16:00 GMT+08:00",
        "prefix" : "snapshot",
        "keepday" : 30,
        "frequency" : "DAY",
        "bucket" : "obsbucket",
        "basePath" : "css_repository/obs-path",
        "agency" : "css_obs_agency",
        "maxSnapshotBytesPerSeconds" : "40MB",
        "maxRestoreBytesPerSeconds" : "40MB"
      },
      "roles" : [ {
        "flavorRef" : "ess.spec-4u8g",
        "volume" : {
          "volume_type" : "COMMON",
          "size" : 100
        },
        "type" : "ess",
        "instanceNum" : 3
      } ],
      "nics" : {
        "vpcId" : "9323ac95-cb0a-4515-8013-5897c445e173",
        "netId" : "c24a34a1-6b5b-4f83-8461-88ef4ecf91e1",
        "securityGroupId" : "a2849f7c-c35c-497c-a617-b69be0a96157"
      },
      "enterprise_project_id" : "0",
      "tags" : [ {
        "key" : "k1",
        "value" : "v1"
      }, {
        "key" : "k2",
        "value" : "v2"
      } ],
      "availability_zone" : "az_code1",
      "datastore" : {
        "version" : "7.10.2",
        "type" : "elasticsearch"
      },
      "authorityEnable" : true,
      "httpsEnable" : true,
      "adminPwd" : "{password}",
      "publicIPReq" : {
        "eip" : {
          "bandWidth" : {
            "size" : 1
          }
        },
        "elbWhiteListReq" : {
          "enableWhiteList" : true,
          "whiteList" : "127.0.0.1"
        },
        "publicBindType" : "auto_assign",
        "eipId" : null
      },
      "loadBalance" : {
        "endpointWithDnsName" : false,
        "vpcPermissions" : [ "{Account ID}" ]
      },
      "publicKibanaReq" : {
        "eipSize" : 5,
        "elbWhiteList" : {
          "whiteList" : "127.0.0.1",
          "enableWhiteList" : true
        }
      },
      "payInfo" : {
        "payModel" : 2,
        "period" : 1,
        "isAutoRenew" : 1,
        "isAutoPay" : null
      }
    }
  }
  ```
  
- 创建按需的Elasticsearch集群请求示例。
  ```
  POST https://{Endpoint}/v2.0/{project_id}/clusters
  {
    "cluster" : {
      "name" : "css-cluster",
      "desc" : "test cluster",
      "backupStrategy" : {
        "period" : "16:00 GMT+08:00",
        "prefix" : "snapshot",
        "keepday" : 30,
        "frequency" : "DAY",
        "bucket" : "obs-obsname",
        "basePath" : "css_repository/obs-path",
        "agency" : "css_obs_agency",
        "maxSnapshotBytesPerSeconds" : "40MB",
        "maxRestoreBytesPerSeconds" : "40MB"
      },
      "roles" : [ {
        "flavorRef" : "ess.spec-4u8g",
        "volume" : {
          "volume_type" : "COMMON",
          "size" : 100
        },
        "type" : "ess",
        "instanceNum" : 3
      } ],
      "nics" : {
        "vpcId" : "9323ac95-cb0a-4515-8013-5897c445e173",
        "netId" : "c24a34a1-6b5b-4f83-8461-88ef4ecf91e1",
        "securityGroupId" : "a2849f7c-c35c-497c-a617-b69be0a96157"
      },
      "enterprise_project_id" : "0",
      "tags" : [ {
        "key" : "k1",
        "value" : "v1"
      }, {
        "key" : "k2",
        "value" : "v2"
      } ],
      "availability_zone" : "az_code1",
      "datastore" : {
        "version" : "7.10.2",
        "type" : "elasticsearch"
      },
      "authorityEnable" : true,
      "httpsEnable" : true,
      "adminPwd" : "{password}",
      "publicIPReq" : {
        "eip" : {
          "bandWidth" : {
            "size" : 1
          }
        },
        "elbWhiteListReq" : {
          "enableWhiteList" : true,
          "whiteList" : "127.0.0.1"
        },
        "publicBindType" : "auto_assign",
        "eipId" : null
      },
      "loadBalance" : {
        "endpointWithDnsName" : false,
        "vpcPermissions" : [ "{Account ID}" ]
      },
      "publicKibanaReq" : {
        "eipSize" : 5,
        "elbWhiteList" : {
          "whiteList" : "127.0.0.1",
          "enableWhiteList" : true
        }
      }
    }
  }
  ```
  
 
#### 响应示例
**状态码：200**
- 创建按需集群响应示例。
  ```
  {
    "cluster" : {
      "id" : "ef683016-871e-48bc-bf93-74a29d60d214",
      "name" : "ES-Test"
    }
  }
  ```
  
- 创建包周期集群响应示例。
  ```
  {
    "orderId" : "CS2208241141LY94J",
    "cluster" : {
      "id" : "ef683016-871e-48bc-bf93-74a29d60d214",
      "name" : "ES-Test"
    }
  }
  ```
  
 
#### 状态码
| 状态码 | 描述                                                                                                   |
|:---|:---|
| 200 | 请求已成功                                                                                                |
| 400 | 非法请求。 建议直接修改该请求，不要重试该请求。                                   |
| 409 | 服务器在完成请求时发生冲突。 返回该状态码，表明客户端尝试创建的资源已经存在，或者由于冲突请求的更新操作不能被完成。 |
| 412 | 未满足前提条件，服务器未满足请求者在请求中设置的其中一个前提条件。                                                                    |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-css/css_03_0076.html)。
