# 创建超节点-CreateHypernode
#### 功能介绍
创建超节点。适用于以下场景：用户需要创建超节点计算资源时，可通过此接口创建。创建前需确保已创建集群或超节点组。
接口返回订单ID，包周期资源可通过订单ID在CBC控制台查看订单详情。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/AICS/doc?api=CreateHypernode)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号根用户具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备如下身份策略权限，更多的权限说明请参见[权限和授权项](https://support.huaweicloud.com/api-aics/aics_05_0700.html)。
| 授权项                   | 访问级别  | 资源类型（\*为必须）  | 条件键                                                                                                                                                                                                                                                                                                                                                                   | 别名 | 依赖的授权项                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|:---|:---|
| aics:hypernode:create | Write | hypernode \* | -                                                                                                                                                                                                                                                                                                                                                                     | -  | - ecs:cloudServers:listServersDetails  - ecs:cloudServerQuotas:get  - kps:SSHKeyPair:get  - evs:types:get  - evs:quotas:get  - vpc:subnets:get  - vpc:securityGroups:list  - ecs:cloudServers:createServers  - ecs:cloudServers:showServer  - ecs:cloudServers:updateMetadata  - evs:volumes:create  - evs:volumes:get   |
| aics:hypernode:create | Write | -            | - g:RequestTag/\<tag-key\>   - g:TagKeys    | -  | - ecs:cloudServers:listServersDetails  - ecs:cloudServerQuotas:get  - kps:SSHKeyPair:get  - evs:types:get  - evs:quotas:get  - vpc:subnets:get  - vpc:securityGroups:list  - ecs:cloudServers:createServers  - ecs:cloudServers:showServer  - ecs:cloudServers:updateMetadata  - evs:volumes:create  - evs:volumes:get   |
   
#### URI
POST /v2/{project_id}/hypernodes
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释**: 项目ID，获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-aics/aics_api_0702.html)。 **约束限制**: 不涉及。 **取值范围**: 不涉及。 **默认取值**: 不涉及。 |
   
#### 请求参数
表2请求Header参数 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| X-Auth-Token   | 否    | String | **参数解释**: 用户Token，通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。 **约束限制**: 不涉及。 **取值范围**: 不涉及。 **默认取值**: 不涉及。                                                                  |
| X-Client-Token | 否    | String | **参数解释**: 保证请求幂等性的标识，携带相同标识的重复请求返回相同结果。 **约束限制**: 有效期8小时。 **取值范围**: UUID格式，\[a-fA-F0-9\]{8}-\[a-fA-F0-9\]{4}-\[a-fA-F0-9\]{4}-\[a-fA-F0-9\]{4}-\[a-fA-F0-9\]{12}。 **默认取值**: 不涉及。 |
   
表3请求Body参数 
| 参数                 | 是否必选 | 参数类型                                                                                              | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| count              | 否    | Integer                                                                                           | **参数解释**: 创建超节点的数量。 **约束限制**: 当前只支持创建一个超节点。 **取值范围**: 1。 **默认取值**: 1。                                                                                                                                                                                   |
| hypernode_type     | 是    | String                                                                                            | **参数解释**: 超节点规格。 **约束限制**: 需要该产品规格保证可售卖。 **取值范围**: 长度1-64，只能由英文字母、数字及"_"、"-"、"."组成。可通过查询超节点规格列表获取。 **默认取值**: 不涉及。                                                                                                                                       |
| image_id           | 是    | String                                                                                            | **参数解释**: 超节点镜像ID。 **约束限制**: 不涉及。 **取值范围**: UUID格式，可通过镜像服务控制台获取。 **默认取值**: 不涉及。                                                                                                                                                                         |
| keypair_name       | 否    | String                                                                                            | **参数解释**: 超节点登录密钥对名称。 **约束限制**: 与admin_password二选一。 **取值范围**: 长度1-64，只能由英文字母、数字及"_"、"-"、"."组成。可通过密钥对管理控制台获取。 **默认取值**: 不涉及。                                                                                                                             |
| admin_password     | 否    | String                                                                                            | **参数解释**: 超节点登录密码。 **约束限制**: 与keypair_name二选一，且admin_password存在时，不能设置user_data。 密码复杂度要求：8-26位，至少包含大写字母、小写字母、数字和特殊字符中的三种。 不能包含用户名或倒序的的用户名（root）。 **取值范围**: 长度为8-26。 **默认取值**: 不涉及。 |
| name               | 是    | String                                                                                            | **参数解释**: 超节点名称。 **约束限制**: 不涉及。 **取值范围**: 长度1-64，只能由英文字母、数字及"_"、"-"、"."组成。 **默认取值**: 不涉及。                                                                                                                                                               |
| node_name_prefix   | 否    | String                                                                                            | **参数解释**: 节点名称前缀。 **约束限制**: 不涉及。 **取值范围**: 只能由英文字母、数字、下划线、点组成，且长度不超过56。 **默认取值**: 不涉及。                                                                                                                                                                  |
| cluster_id         | 否    | String                                                                                            | **参数解释**: 集群唯一标识UUID。 **约束限制**: cluster_id与hyper_group_id二选一，必须填写其中一个。若两个都填写，则校验hyper_group_id是否属于该cluster_id。 **取值范围**: UUID格式。可通过查询集群列表接口获取，或从集群管理控制台获取。 **默认取值**: 不涉及。                                                                               |
| hyper_group_id     | 否    | String                                                                                            | **参数解释**: 超节点组唯一标识UUID。 **约束限制**: cluster_id与hyper_group_id二选一，必须填写其中一个。若两个都填写，则校验hyper_group_id是否属于该cluster_id。 **取值范围**: UUID格式。可通过查询超节点组列表接口获取。 **默认取值**: 不涉及。                                                                                       |
| network_interfaces | 是    | Array of [HypernodeNetworkInterface] objects | **参数解释**: 子网网卡信息，主网卡为数组索引为0的子网。 **约束限制**: 创建时网卡数量上限为3个，后续可以按需添加网卡，直到产品规格的最大网卡数量上限。 **取值范围**: 网卡数量为1-3。 **默认取值**: 不涉及。                                                                                                                                   |
| root_volume        | 是    | [RootVolume] object                                         | **参数解释**: 系统盘信息。 **约束限制**: 不涉及。 **取值范围**: 不涉及。 **默认取值**: 不涉及。                                                                                                                                                                                           |
| data_volume        | 否    | Array of [DataVolume] objects                               | **参数解释**: 数据盘信息。 **约束限制**: 创建时数据盘数量上限为8个，后续可以按需添加数据盘，直到产品规格的最大磁盘数量上限。 **取值范围**: 数据盘数量为0-8。 **默认取值**: 不涉及。                                                                                                                                               |
| market_options     | 是    | [MarketOptions] object                                   | **参数解释**: 计费信息。 **约束限制**: 不涉及。 **取值范围**: 不涉及。 **默认取值**: 不涉及。                                                                                                                                                                                            |
| user_data          | 否    | String                                                                                            | **参数解释**: 云服务器初始化配置数据。注入的数据为需要base64编码后的内容。 **约束限制**: 必须base64转码，转码后长度不大于40k。 **取值范围**: 长度为0-40960。 **默认取值**: 不涉及。                                                                                                                                      |
| tags               | 否    | Array of [TagKv] objects                                         | **参数解释**: 租户标签。 **约束限制**: 不涉及。 **取值范围**: 标签数量为0-20。 **默认取值**: 不涉及。                                                                                                                                                                                      |
| metadata           | 否    | Array of [Metadata] objects                                   | **参数解释**: 超节点元数据。 **约束限制**: 不允许传入重复key、黑名单中的key或以_sys_开头的key。 **取值范围**: 元数据数量为0-5。 **默认取值**: 不涉及。                                                                                                                                                       |
   
 表4HypernodeNetworkInterface 
| 参数              | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| ipv6_enable     | 否    | Boolean          | **参数解释**: 是否开启IPv6。 **约束限制**: 不涉及。 **取值范围**: - true: 开启IPv6。   - false: 不开启IPv6。    **默认取值**: false。                                                  |
| security_groups | 否    | Array of strings | **参数解释**: 安全组ID列表。 **约束限制**: 不涉及。 **取值范围**: 安全组数量为0-20。可通过VPC安全组控制台获取。 **默认取值**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                             |
| subnet_id       | 是    | String           | **参数解释**: 子网ID。 **约束限制**: 所有的subnet_id需要归属同一个VPC。 **取值范围**: UUID格式。可通过VPC子网控制台获取。 **默认取值**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                  |
| uboe_enable     | 否    | Boolean          | **参数解释**: 是否使能Uboe。如果为true，节点将创建并挂载Uboe高速port。 **约束限制**: 第一个interface（主网卡）无法使能Uboe。 **取值范围**: - true: 使能Uboe。   - false: 不使能Uboe。    **默认取值**: false。 |
   
 表5RootVolume 
| 参数   | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| size | 是    | Integer | **参数解释**: 系统盘大小，单位GiB。 **约束限制**: 不涉及。 **取值范围**: 1-1024。 **默认取值**: 不涉及。                    |
| type | 是    | String  | **参数解释**: 系统盘类型。 **约束限制**: 不涉及。 **取值范围**: 长度1-64，只能由英文字母、数字及"_"、"-"、"."组成。 **默认取值**: 不涉及。 |
   
 表6DataVolume 
| 参数    | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| size  | 是    | Integer | **参数解释**: 数据盘大小，单位GiB。 **约束限制**: 不涉及。 **取值范围**: 10-32768。 **默认取值**: 不涉及。                  |
| type  | 是    | String  | **参数解释**: 数据盘类型。 **约束限制**: 不涉及。 **取值范围**: 长度1-64，只能由英文字母、数字及"_"、"-"、"."组成。 **默认取值**: 不涉及。 |
| count | 否    | Integer | **参数解释**: 数据盘数量。 **约束限制**: 不涉及。 **取值范围**: 1-8。 **默认取值**: 1。                               |
   
 表7MarketOptions 
| 参数                       | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| charging_mode            | 是    | String  | **参数解释**: 付费类型。 **约束限制**: 不涉及。 **取值范围**: - prePaid: 包周期付费。    **默认取值**: prePaid。                                                                                                                                                                             |
| is_auto_pay              | 否    | Boolean | **参数解释**: 是否自动支付。 **约束限制**: 不涉及。 **取值范围**: - true: 自动支付。   - false: 不自动支付。    **默认取值**: false。 |
| is_auto_renew            | 否    | Boolean | **参数解释**: 是否自动续费。 **约束限制**: 不涉及。 **取值范围**: - true: 自动续费。   - false: 不自动续费。    **默认取值**: false。 |
| period_num               | 否    | Integer | **参数解释**: 订购周期数量。 **约束限制**: 不涉及。 **取值范围**: 1-11。 **默认取值**: 不涉及。                                                                                                                                                                                                                                                                                                                                                            |
| period_type              | 否    | String  | **参数解释**: 订购周期类型。 **约束限制**: 不涉及。 **取值范围**: - MONTH: 月。   - YEAR: 年。    **默认取值**: 不涉及。          |
| cloudservice_console_url | 否    | String  | **参数解释**: CBC传递的云服务控制台URL地址。 **约束限制**: 仅CBC付费完成后，需要跳转对应console界面场景使用。 **取值范围**: 长度为1-1024。 **默认取值**: 不涉及。                                                                                                                                                                                                                                                                                                                  |
| promotion_info           | 否    | String  | **参数解释**: 折扣信息。 **约束限制**: 不涉及。 **取值范围**: 长度为1-64。 **默认取值**: 不涉及。                                                                                                                                                                                                                                                                                                                                                           |
   
 表8TagKv 
| 参数    | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| key   | 是    | String | **参数解释**: 标签键。 **约束限制**: 不能以 _sys_ 开头；首尾不能为空白字符。 **取值范围**: 最大128个Unicode字符。满足'\^((?!\\s)(?!_sys_)\[\\p{L}\\p{Z}\\p{N}_.:/=+-@\]\*)(?\<!\\s)$'。 **默认取值**: 不涉及。 |
| value | 否    | String | **参数解释**: 标签值。 **约束限制**: 不涉及。 **取值范围**: 最大255个Unicode字符。满足'\^(\[\\p{L}\\p{Z}\\p{N}_.:/=+-@\]\*)$'。 **默认取值**: 不涉及。                                             |
   
 表9Metadata 
| 参数    | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| key   | 是    | String | **参数解释**: 元数据键。 **约束限制**: 不允许传入黑名单中的key或以_sys_开头的key。 **取值范围**: 长度1-200，只能由英文字母、数字及"_"、"-"、"."、":"组成。 **默认取值**: 不涉及。 |
| value | 是    | String | **参数解释**: 元数据值。 **约束限制**: 不涉及。 **取值范围**: 长度为0-200。 **默认取值**: 不涉及。                                                    |
   
#### 响应参数
**状态码：202**
表10响应Body参数 
| 参数       | 参数类型   | 描述                                                                                                                                                                          |
|:---|:---|:---|
| order_id | String | **参数解释**: 订单ID。 **取值范围**: 不涉及。                                     |
| batch_id | String | **参数解释**: 创建任务的ID。该任务ID在租户完成付款之后，才能在operation接口中查询。 **取值范围**: 不涉及。 |
   
#### 请求示例
创建超节点请求示例。使用场景：用户需要创建超节点计算资源时，通过此接口创建包周期超节点。
```
POST https://{endpoint}/v2/0605767a3300d5762fb7c0186d9e1779/hypernodes
{
  "count" : 1,
  "hypernode_type" : "hypernode.high_performance",
  "image_id" : "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
  "name" : "hyper-node-001",
  "keypair_name" : "my-keypair",
  "cluster_id" : "a1b2c3d4-e5f6-7a8b-9c0d-1e2f3a4b5c6d",
  "network_interfaces" : [ {
    "subnet_id" : "b1c2d3e4-f5a6-7b8c-9d0e-1f2a3b4c5d6e"
  } ],
  "root_volume" : {
    "size" : 40,
    "type" : "SSD"
  },
  "market_options" : {
    "charging_mode" : "prePaid",
    "is_auto_pay" : true,
    "is_auto_renew" : false,
    "period_num" : 1,
    "period_type" : "MONTH"
  }
}
```
#### 响应示例
**状态码：202**
成功创建超节点。
```
{
  "order_id" : "CS2607021154PGP6U",
  "batch_id" : "a1b2c3d4-e5f6-7a8b-9c0d-1e2f3a4b5c6d"
}
```
#### 状态码
| 状态码 | 描述       |
|:---|:---|
| 202 | 成功创建超节点。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-aics/ErrorCode.html)。
