# 批量更新节点 - BatchUpdatePoolNodes
#### 功能介绍
批量更新节点接口用于同时修改多个节点的配置或属性，支持批量操作时各节点独立执行更新流程。该接口适用于以下场景：当用户需统一升级节点软件版本、批量处理选中节点的资源标签、调整资源分配策略、应用安全补丁或同步配置变更时，可通过此接口批量更新目标节点，确保每个节点的更新过程互不影响。使用该接口的前提条件包括：目标节点已存在且用户具备管理员权限，节点需处于可操作状态（如非锁定或维护中），批量操作时需提供有效的节点列表及更新参数（如配置项、版本号等）作为输入。操作完成后，指定节点将应用新配置并更新状态为可用，原有配置将被覆盖。若节点不存在、用户权限不足、节点状态异常（如正在维护）、更新参数不合规或输入参数缺失，接口将返回对应错误信息（如404未找到节点、403权限拒绝、400参数校验失败等）。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/ModelArts/doc?api=BatchUpdatePoolNodes)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-modelarts/modelarts_03_0138.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
POST /v2/{project_id}/pools/{pool_name}/nodes/batch-update
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释** ：用户项目ID。获取方法请参见[获取项目ID和名称](https://support.huaweicloud.com/api-modelarts/modelarts_03_0147.html)。 **约束限制**：1 - 64字符，字母、数字和中划线。 **取值范围**：不涉及。 **默认取值**：不涉及。 |
| pool_name  | 是    | String | **参数解释**：资源池ID。取值资源池详情的metadata.name字段。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。                                                                                   |
   
#### 请求参数
表2请求Body参数 
| 参数                | 是否必选 | 参数类型                                                                                                    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| nodeNames         | 是    | Array of strings                                                                                        | **参数解释**：需要更新的节点名称列表。 **约束限制**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| action            | 是    | String                                                                                                  | **参数解释**：节点更新的类型。 **约束限制**：不涉及。 **取值范围**：可选值如下： - openHaRedundant：开启节点的高可用冗余标签   - closeHaRedundant：关闭节点的高可用冗余标签   - createTags：批量添加节点资源标签   - deleteTags：批量删除节点资源标签    **默认取值**：不涉及。 |
| haRedundantEffect | 否    | String                                                                                                  | **参数解释**：高可用冗余标签效果。 **约束限制**：不涉及。 **取值范围**：可选值如下： - NoSchedule：禁止调度   - NoExecute：禁止执行。    **默认取值**：NoSchedule。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| driver            | 否    | [NodeDriver] object     | **参数解释**：节点的驱动版本和状态信息。 **约束限制**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| tags              | 否    | Array of [NodeTag] objects | **参数解释**：需要批量操作的资源标签列表。 **约束限制**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   
 表3NodeDriver 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| version        | 否    | String | **参数解释**：节点上驱动的版本号。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。 |
| updateStrategy | 否    | String | **参数解释**：节点驱动升级策略。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。  |
   
 表4NodeTag 
| 参数    | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| key   | 是    | String | **参数解释**：键。标签的键可以包含任意语种的字母、数字和空格，以及_.:=+-@字符，但首尾不能包含空格，且不能以_sys_开头。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。 |
| value | 是    | String | **参数解释**：值。标签的值可以包含任意语种的字母、数字和空格，以及_.:=+-@字符，但首尾不能包含空格。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。             |
   
#### 响应参数
**状态码：200**
表5响应Body参数 
| 参数               | 参数类型             | 描述                    |
|:---|:---|:---|
| successNodeNames | Array of strings | **参数解释**：更新成功的节点名称列表。 |
| failNodeNames    | Array of strings | **参数解释**：更新失败的节点名称列表。 |
   
**状态码：404**
表6响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                |
|:---|:---|:---|
| error_code | String | **参数解释**：ModelArts错误码。 **取值范围**：不涉及。 |
| error_msg  | String | **参数解释**：具体错误信息。 **取值范围**：不涉及。       |
   
#### 请求示例
- 开启节点高可用冗余。
  ```
  POST /v2/{project_id}/pools/{pool_name}/nodes/batch-update
  {
    "nodeNames" : [ "os-node-created-xzz78" ],
    "action" : "openHaRedundant"
  }
  ```
  
- 关闭节点高可用冗余。
  ```
  POST /v2/{project_id}/pools/{pool_name}/nodes/batch-update
  {
    "nodeNames" : [ "os-node-created-xzz78" ],
    "action" : "closeHaRedundant"
  }
  ```
  
 
#### 响应示例
**状态码：200**
OK。
```
{
  "successNodeNames" : [ "os-node-created-xz78", "os-node-created-xz56" ]
}
```
**状态码：404**
Not Found。
```
{
  "error_code" : "ModelArts.50015001",
  "error_msg" : "pool not found"
}
```
#### 状态码
| 状态码 | 描述         |
|:---|:---|
| 200 | OK。        |
| 404 | Not Found。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-modelarts/modelarts_03_0095.html)。
