添加节点
接口功能介绍
向资源组中添加新节点或者纳管已有节点
接口约束
无
URI
POST /v4/cwai/group/addNodes
路径参数
无
Query参数
无
请求参数
请求头header参数
参数 | 是否必填 | 参数类型 | 说明 | 示例值 | 下级对象 |
---|---|---|---|---|---|
apiType | 是 | string | 接口调用方式,通过openapi调用需要传openapi | openapi | |
regionID | 是 | String | 区域的唯一ID | xxx-xxx-yyyzzz |
请求体body参数
参数 | 是否必填 | 参数类型 | 说明 | 示例值 | 下级对象 |
---|---|---|---|---|---|
regionID | 是 | String | 区域唯一ID | 81f7728662dd11ec547210155d307d5b | |
azName | 是 | String | 可用区名称 | az1 | |
resourceGroupID | 是 | String | 资源组ID | d220cf63-278d-406d-a0bd-fcaf6da7e7fd | |
nodes | 是 | Array of Objects | 创建的资源组节点,每个对象代表一种规格的节点 | node |
表node
参数 | 是否必填 | 参数类型 | 说明 | 示例值 | 下级对象 |
---|---|---|---|---|---|
isNewNode | 是 | Boolean | 取值范围:[true=创建新节点,false=纳管已有节点] | true | |
password | 否 | String | 节点root用户的密码,除IAAS资源组纳管已有节点外必填,满足以下规则:长度在8到30个字符,必须包含大写字母、小写字母和(一个数字或者特殊字符),特殊符号可选:()`~!@#$%^&*_-+=|{}[]:;'<>,.?/\且不能以斜线号(/)开头。 | ||
nodeType | 是 | String | 节点类型,取值:[EBM=物理机节点,ECS=云主机节点] | EBM | |
deviceType | 否 | String | 新增物理机节点必填,套餐类型 | s2.x2large | |
flavorID | 否 | String | 新增云主机节点必填,云主机规格ID | c83e67a6-ae8d-8ee4-f88b-f401db759682 | |
instanceName | 是 | String | 节点名称,满足以下规则:长度2到28位,可以为字母数字和中划线,首字符不能为中划线和数字,不能以中划线结尾,也不能仅使用数字 | my-node | |
instanceUUID | 否 | String | 纳管已有节点必填,已有节点的实例ID | ss-e2tjjtijrib1g9xxhzpjfq5yfvwk | |
systemVolumeType | 否 | String | 新GPU云主机节点系统盘类型,取值范围:[SATA=普通IO,SAS=高IO,SSD=超高IO,SSD-genric=通用型SSD,AST-SSD=极速型SSD],若不填默认为SSD | SSD | |
systemVolumeSize | 否 | Integer | 新GPU云主机节点系统盘大小,单位为GiB,取值范围:[40, 32768],若不填默认为100 | 100 | |
smartNicExist | 否 | Boolean | 新增物理机节点必填,物理机是否有智能网卡 | true | |
subnetID | 否 | String | 创建新节点必填,创建新节点创建时使用的子网ID | subnet-4bfjkxlw | |
securityGroupID | 否 | String | 创建新节点时,如果新节点套餐smartNicExist为true则必填,创建新节点创建时使用的安全组ID | sg-lnu4n7tnnp | |
onDemand | 是 | Boolean | 购买方式,取值范围:[true=按需,false=按周期] | true | |
cycleType | 否 | String | 新节点订购周期类型,取值范围:[MONTH=按月,YEAR=按年],注:cycleType与cycleCount一起填写;按量付费(即onDemand为true)时,无需填写该参数(填写无效) | YEAR | |
cycleCount | 否 | Integer | 新节点订购时长,该参数需要与cycleType一同使用,注:最长订购周期为60个月(5年);cycleType与cycleCount一起填写;按量付费(即onDemand为true)时,无需填写该参数(填写无效) | 6 | |
orderCount | 否 | Integer | 创建新节点必填,购买数量 | 1 | |
imageUUID | 是 | String | 节点操作系统镜像ID | im-xevpi6apqieg3bixmogofyref9qm | |
imageName | 是 | String | 节点操作系统镜像名称 | CentOS | |
hostname | 是 | String | 纳管已有节点必填,已存在节点的host名称 | test1.instance.host | |
privateIP | 否 | String | 纳管已有节点必填,已有节点内网IP | 192.168.5.10 | |
deviceDetail | 否 | Object | 设备信息 | deviceDetail |
表deviceDetail
参数 | 是否必填 | 参数类型 | 说明 | 示例值 | 下级对象 |
---|---|---|---|---|---|
cpuAmount | 否 | Integer | 单个cpu核数 | 8 | |
gpuAmount | 否 | Integer | GPU数目 | 1 | |
cpuTotalAmount | 否 | Integer | 逻辑cpu总量 | 768 | |
memSum | 否 | Integer | 内存大小总量(G) | 128 | |
cpuSockets | 否 | Integer | 物理cpu数量 | 2 | |
cpuThreadAmount | 是 | Integer | 单个cpu核超线程数量 | 2 |
响应参数
参数 | 是否必填 | 参数类型 | 说明 | 示例值 | 下级对象 |
---|---|---|---|---|---|
statusCode | 是 | Integer | 请求成功(800)或者失败(900) | 800 | |
errorCode | 否 | String | 错误代码 | Cwai.Api.xxxx | |
message | 否 | String | 错误信息的英文描述 | Invalid Request |
请求示例
POST https://cwai-global.ctapi.ctyun.cn/v4/cwai/group/addNodes
Content-Type:application/json
regionID:81f7728662dd11ec810800155d307d5b
apiType:openapi
请求体body
{
"regionID": "81f7728662dd11ec810800155d307d5b",
"azName": "az3",
"resourceGroupID": "d220cf63-278d-406d-a0bd-fcaf6da7e7fd",
"nodes": [
{
"nodeType": "ECS",
"password": "7jfQ9aSkTM6vAYTIopQpmg==",
"instanceName": "gpu-a100-02",
"instanceUUID": "b44bcb3d-25f3-60d6-11cc-26943ce1e2d2",
"isNewNode": false,
"hostname": "gpu-a100-02",
"instanceStatus": "RUNNING",
"subnetID": "subnet-ymhmithjv6",
"cycleType": "YEAR",
"cycleCount": 1,
"orderCount": 1,
"onDemand": false,
"deviceType": "p8a.6xlarge.4",
"flavorID": "c83e67a6-ae8d-8ee4-f88b-f401db759682",
"imageUUID": "ec56599d-86f1-4ec2-9acb-cc5b7d0af9f4",
"imageName": "CentOS-7.9-x86_64-FSTest",
"smartNicExist": false,
"privateIP": "192.168.45.16",
"deviceDetail": {
"cpuAmount": 24,
"gpuAmount":1,
"cpuTotalAmount": 96,
"memSum": 98304,
"cpuSockets": 2,
"cpuThreadAmount": 2
}
}
]
}
响应示例
HTTP/1.1 200 OK
Content-Type:application/json
{
"statusCode": 800,
"returnObj": {}
错误参数返回示例
HTTP/1.1 200 OK
Content-Type:application/json
{
"statusCode": 900,
"errorCode": "Cwai.Api.BadRequest",
"message": "***",
}
内部服务错误返回示例
TTP/1.1 200 OK
Content-Type:application/json
{
"statusCode": 900,
"errorCode": "Cwai.Api.InternalServerError",
"message": "***",
}
状态码
状态码 | 描述 |
---|---|
200 | 表示请求成功 |
错误码
错误码 | 描述 |
---|---|
Cwai.Api.BadRequest | 错误请求 |
Cwai.Api.NotFound | 资源不存在 |
Cwai.Api.StatusUnauthorized | 状态未授权 |
Cwai.Api.InternalServerError | 内部错误 |