
# 更新后端云服务器组 - UpdatePool
#### 功能介绍
更新后端云服务器组。
#### 接口约束
如果与pool绑定的load balancer的provisioning status不是ACTIVE，则不能更新该pool。
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=ELB&api=UpdatePool&version=v2)中直接运行调试该接口。
#### URI
PUT /v2/{project_id}/elb/pools/{pool_id}
表1参数说明 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                            |
|:---|:---|:---|:---|
| project_id | 是    | String | 操作用户的项目ID。 获取方法详见[获取项目ID](https://support.huaweicloud.com/api-elb/elb_fl_0008.html)。 |
| pool_id    | 是    | String | 后端云服务器组id。                                                                                                                                    |
   
#### 请求消息
表2请求参数 
| 参数   | 是否必选 | 参数类型                                                               | 描述                                                                     |
|:---|:---|:---|:---|
| pool | 是    | [Pool] object | 后端云服务器组对象。详见[表3]。 |
   
 表3pool字段说明 
| 参数                  | 是否必选 | 参数类型                                                                           | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| name                | 否    | String                                                                         | 后端云服务器组名称。 支持的最大字符长度：255                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| description         | 否    | String                                                                         | 后端云服务器组的描述信息。 支持的最大字符长度：255                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| lb_algorithm        | 否    | String                                                                         | 后端云服务器组的负载均衡算法。 取值范围： - ROUND_ROBIN：加权轮询算法。  - LEAST_CONNECTIONS：加权最少连接算法。  - SOURCE_IP：源IP算法。   当该字段的取值为SOURCE_IP时，后端云服务器组绑定的后端云服务器的weight字段无效。 |
| admin_state_up      | 否    | Boolean                                                                        | 后端云服务器组的管理状态。 该字段为预留字段，暂未启用。默认为true。                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| session_persistence | 否    | [SessionPersistence] object | 后端云服务器组的会话持久性。详见[表4]。 当开启会话保持后，在一定时间内，来自同一客户端的请求会发送到同一个后端云服务器上。 取值范围：当会话保持关闭时，该字段取值为null。                                                                                                                                                                                                                                                                                                              |
| protection_status   | 否    | String                                                                         | 当前资源保护状态, 取值： - nonProtection: 不保护，默认值为nonProtection  - consoleProtection: 控制台修改保护                                                                                                                                                                                                                                                            |
| protection_reason   | 否    | String                                                                         | 资源保护的原因。仅当protection_status为consoleProtection时有效。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   
 表4session_persistence字段说明 
| 参数                  | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| type                | 是    | String  | 会话保持的类型。 取值范围： - SOURCE_IP：根据请求的源IP，将同一IP的请求发送到同一个后端云服务器上。  - HTTP_COOKIE：客户端第一次发送请求时，负载均衡器自动生成cookie并将该cookie插入响应消息中，后续请求会发送到处理第一个请求的后端云服务器上。  - APP_COOKIE：客户端第一次发送请求时，后端服务器生成cookie并将该cookie插入响应消息中，后续请求会发送到处理第一个请求的后端云服务器上。   当后端云服务器组的protocol为TCP时，只按SOURCE_IP生效；当后端云服务器组的protocol为HTTP时，只按HTTP_COOKIE、APP_COOKIE生效。 |
| cookie_name         | 否    | String  | cookie名称。支持字母、数字、中划线(-)和下划线(_)，最大长度64个字符。 当会话保持类型是APP_COOKIE时，为必选字段，其它类型时不可指定。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| persistence_timeout | 否    | Integer | 会话保持的超时时间。 当type为APP_COOKIE时不生效。 取值范围： - \[1,60\]（分钟）：当后端云服务器组的protocol为TCP、UDP时。  - \[1,1440\]（分钟）：当后端云服务器组的protocol为HTTP、HTTPS时。                                                                                                                                                                                                                                                |
   
#### 响应消息
表5响应参数 
| 参数   | 参数类型                                                             | 描述                                                                           |
|:---|:---|:---|
| pool | [Pool] object | 后端云服务器组对象。详见[表6 pool字段说明] |
   
 表6pool字段说明 
| 参数                  | 参数类型                                                                                                                                       | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|
| id                  | String                                                                                                                                     | 后端云服务器组 ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| tenant_id           | String                                                                                                                                     | 后端云服务器组所属的项目 ID。 支持的最大字符长度：255                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| project_id          | String                                                                                                                                     | 此参数和tenant_id参数含义一样，均指后端云服务器组所属的项目 ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| name                | String                                                                                                                                     | 后端云服务器组名称。 支持的最大字符长度：255                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| description         | String                                                                                                                                     | 后端云服务器组的描述信息。 支持的最大字符长度：255                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| protocol            | String                                                                                                                                     | 后端云服务器组的后端协议。 取值范围：TCP、UDP和HTTP。 当指定listener_id创建后端云服务器组时，后端云服务器组的protocol和它关联的监听器的protocol有如下关系： - 监听器的protocol为UDP时，后端云服务器组的protocol必须为UDP；  - 监听器的protocol为TCP时，后端云服务器组的protocol必须为TCP；  - 监听器的protocol为HTTP或TERMINATED_HTTPS时，后端云服务器组的protocol必须为HTTP。   |
| lb_algorithm        | String                                                                                                                                     | 后端云服务器组的负载均衡算法。 取值范围： - ROUND_ROBIN：加权轮询算法。  - LEAST_CONNECTIONS：加权最少连接算法。  - SOURCE_IP：源IP算法。当该字段的取值为SOURCE_IP时，后端云服务器组绑定的后端云服务器的weight字段无效。                                                                                                                                                                                                                                                   |
| members             | Array of [Members](https://support.huaweicloud.com/api-elb/elb_qy_hz_0001.html#elb_qy_hz_0001__table17641175071912) objects                | 后端云服务器组关联的后端云服务器ID的列表。详见[表7](https://support.huaweicloud.com/api-elb/elb_qy_hz_0001.html#elb_qy_hz_0001__table17641175071912)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| healthmonitor_id    | String                                                                                                                                     | 后端云服务器组关联的健康检查的ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| admin_state_up      | Boolean                                                                                                                                    | 后端云服务器组的管理状态。 该字段为预留字段，暂未启用。取值范围：true/false。 - true表示开启。  - false表示关闭。                                                                                                                                                                                                                                                                                                                                                                                      |
| listeners           | Array of [Listeners](https://support.huaweicloud.com/api-elb/elb_qy_hz_0001.html#elb_qy_hz_0001__table672914459541) objects                | 后端云服务器组关联的监听器ID列表。详见[表8](https://support.huaweicloud.com/api-elb/elb_qy_hz_0001.html#elb_qy_hz_0001__table672914459541)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| loadbalancers       | Array of [Loadbalancers](https://support.huaweicloud.com/api-elb/elb_qy_hz_0001.html#elb_qy_hz_0001__table13106184745416) objects          | 后端云服务器组关联的负载均衡器ID列表。详见[表9](https://support.huaweicloud.com/api-elb/elb_qy_hz_0001.html#elb_qy_hz_0001__table13106184745416)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| session_persistence | [SessionPersistence](https://support.huaweicloud.com/api-elb/elb_qy_hz_0001.html#elb_qy_hz_0001__elb_zq_hz_0001_table1659974218492) object | 后端云服务器组的会话持久性。详见[表10](https://support.huaweicloud.com/api-elb/elb_qy_hz_0001.html#elb_qy_hz_0001__elb_zq_hz_0001_table1659974218492)。 当开启会话保持后，在一定时间内，来自同一客户端的请求会发送到同一个后端云服务器上。 取值范围：当会话保持关闭时，该字段取值为null。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| protection_status   | String                                                                                                                                     | String 当前资源保护状态, 取值： - nonProtection: 不保护，默认值为nonProtection  - consoleProtection: 控制台修改保护                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| protection_reason   | String                                                                                                                                     | String 资源保护的原因。仅当protection_status为consoleProtection时有效。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   
表7members字段说明 
| 参数 | 参数类型   | 描述         |
|:---|:---|:---|
| id | String | 关联的后端服务器id |
   
表8listeners字段说明 
| 参数 | 参数类型   | 描述          |
|:---|:---|:---|
| id | String | 关联的后端服务器组id |
   
表9loadbalancers字段说明 
| 参数 | 参数类型   | 描述         |
|:---|:---|:---|
| id | String | 关联的负载均衡器id |
   
表10session_persistence字段说明 
| 参数                  | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| type                | 是    | String  | 会话保持的类型。 取值范围： - SOURCE_IP：根据请求的源IP，将同一IP的请求发送到同一个后端云服务器上。  - HTTP_COOKIE：客户端第一次发送请求时，负载均衡器自动生成cookie并将该cookie插入响应消息中，后续请求会发送到处理第一个请求的后端云服务器上。  - APP_COOKIE：客户端第一次发送请求时，后端服务器生成cookie并将该cookie插入响应消息中，后续请求会发送到处理第一个请求的后端云服务器上。   当后端云服务器组的protocol为TCP时，只按SOURCE_IP生效；当后端云服务器组的protocol为HTTP时，只按HTTP_COOKIE、APP_COOKIE生效。 |
| cookie_name         | 否    | String  | cookie名称。支持字母、数字、中划线(-)和下划线(_)，最大长度64个字符。 当会话保持类型是APP_COOKIE时，为必选字段，其它类型时不可指定。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| persistence_timeout | 否    | Integer | 会话保持的超时时间。 当type为APP_COOKIE时不生效。 取值范围： - \[1,60\]（分钟）：当后端云服务器组的protocol为TCP、UDP时。  - \[1,1440\]（分钟）：当后端云服务器组的protocol为HTTP、HTTPS时。                                                                                                                                                                                                                                                  |
   
#### 请求示例
- 请求样例1 更新后端云服务器组的名称、描述和负载均衡算法
  ```
  PUT https://{Endpoint}/v2/1a3e005cf9ce40308c900bcb08e5320c/elb/pools/12ff63af-4127-4074-a251-bcb2ecc53ebe
  {
      "pool": {
          "name": "pool2",
          "description": "pool two",
          "lb_algorithm": "LEAST_CONNECTIONS"
      }
  }
  ```
  
 
#### 响应示例
- 响应样例1
  ```
  {
      "pool": {
          "lb_algorithm": "LEAST_CONNECTIONS",
          "protocol": "HTTP",
          "description": "pool two",
          "admin_state_up": false,
          "tenant_id": "1a3e005cf9ce40308c900bcb08e5320c",
          "project_id": "1a3e005cf9ce40308c900bcb08e5320c",
          "session_persistence": {
              "cookie_name": null,
              "type": "HTTP_COOKIE",
              "persistence_timeout": 1440
          },
          "healthmonitor_id": null,
          "listeners": [
              {
                  "id": "39de4d56-d663-46e5-85a1-5b9d5fa17829"
              }
          ],
          "members": [],
          "id": "12ff63af-4127-4074-a251-bcb2ecc53ebe",
          "name": "pool2"
      }
  }
  ```
  
 
#### 返回码
请参见[状态码](https://support.huaweicloud.com/api-elb/elb_gc_1102.html)。
