
# 更新后端云服务器组
#### 功能介绍
更新后端云服务器组。
#### 接口约束
如果与pool绑定的load balancer的provisioning status不是ACTIVE，则不能更新该pool。
#### URI
PUT /v2.0/lbaas/pools/{pool_id}
表1参数说明 
| 参数      | 是否必选 | 参数类型   | 描述         |
|:---|:---|:---|:---|
| pool_id | 是    | String | 后端云服务器组ID。 |
   
#### 请求消息
表2请求参数 
| 参数   | 是否必选 | 参数类型   | 描述                                                      |
|:---|:---|:---|:---|
| 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 | 否    | Object  | 后端云服务器组的会话持久性。详见[表10]。 当开启会话保持后，在一定时间内，来自同一客户端的请求会发送到同一个后端云服务器上。 取值范围：当会话保持关闭时，该字段取值为null。                                                                                                                                                                                                                               |
   
表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名称。 只有当会话保持的类型是APP_COOKIE时可以指定，且当会话保持的类型是APP_COOKIE时，为必选字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| persistence_timeout | 否    | Integer | 会话保持的超时时间。 当type为APP_COOKIE时不生效。 取值范围： - \[1,60\]（分钟）：当后端云服务器的protocol为TCP、UDP时。  - \[1,1440\]（分钟）：当后端云服务器的protocol为HTTP、HTTPS时。                                                                                                                                                                                                                                                                                                                         |
   
#### 响应消息
表5响应参数 
| 参数   | 参数类型   | 描述                                                    |
|:---|:---|:---|
| pool | Object | 后端云服务器组对象。详见[表6]。 |
   
 表6pools字段说明 
| 参数                  | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|
| 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   | 后端云服务器组关联的后端云服务器ID的列表。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| healthmonitor_id    | String  | 后端云服务器组关联的健康检查的ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| admin_state_up      | Boolean | 后端云服务器组的管理状态。 该字段为预留字段，暂未启用。取值范围：true/false。 - true表示开启。  - false表示关闭。                                                                                                                                                                                                                                          |
| listeners           | Array   | 后端云服务器组关联的监听器ID列表。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| loadbalancers       | Array   | 后端云服务器组关联的负载均衡器ID列表。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| session_persistence | Object  | 后端云服务器组的会话持久性。详见[表9](https://support.huaweicloud.com/api-elb/elb_zq_hz_0001.html#elb_zq_hz_0001__table1659974218492)。 当开启会话保持后，在一定时间内，来自同一客户端的请求会发送到同一个后端云服务器上。 取值范围：当会话保持关闭时，该字段取值为null。                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
表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名称。 当会话保持类型是APP_COOKIE时，为必选字段，其它类型时不可指定。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| persistence_timeout | Integer | 会话保持的超时时间。 当type为APP_COOKIE时不生效。 - 取值范围： - \[1,60\]（分钟）：当后端云服务器组的protocol为TCP、UDP时。  - \[1,1440\]（分钟）：当后端云服务器组的protocol为HTTP、HTTPS时。                                                                                  |
   
#### 请求示例
- 请求样例1 更新后端云服务器组
  ```
  PUT https://{Endpoint}/v2.0/lbaas/pools/12ff63af-4127-4074-a251-bcb2ecc53ebe 
  { 
      "pool": { 
          "name": "pool2", 
          "description": "pool two", 
          "lb_algorithm": "LEAST_CONNECTIONS" 
      } 
  }
  ```
  
 
- 请求样例2 更新后端云服务器组，关闭会话保持
  ```
  PUT https://{Endpoint}/v2.0/lbaas/pools/d46eab56-d76b-4cd3-8952-3c3c4cf113aa
  {
      "pool": {
          "session_persistence":null
      }
  }
  ```
  
#### 响应示例
- 响应样例1
  ```
  {
      "pool": {
          "lb_algorithm": "LEAST_CONNECTIONS",
          "protocol": "HTTP",
          "description": "pool two",
          "loadbalancers": [
              {
                  "id": "63ad9dfe-4750-479f-9630-ada43ccc8117"
              }
          ],
          "admin_state_up": true,
          "tenant_id": "1a3e005cf9ce40308c900bcb08e5320c",
          "project_id": "1a3e005cf9ce40308c900bcb08e5320c",
          "session_persistence": {
              "cookie_name": null,
              "type": "HTTP_COOKIE",
              "persistence_timeout": 1
          },
          "healthmonitor_id": null,
          "listeners": [
              {
                  "id": "39de4d56-d663-46e5-85a1-5b9d5fa17829"
              }
          ],
          "members": [],
          "id": "12ff63af-4127-4074-a251-bcb2ecc53ebe",
          "name": "pool2"
      }
  }
  ```
  
 
- 响应样例2
  ```
  {
      "pool": {
          "lb_algorithm": "ROUND_ROBIN",
          "protocol": "HTTP",
          "description": "",
          "admin_state_up": true,
          "loadbalancers": [
              {
                  "id": "63ad9dfe-4750-479f-9630-ada43ccc8117"
              }
          ],
          "tenant_id": "601240b9c5c94059b63d484c92cfe308",
          "project_id": "601240b9c5c94059b63d484c92cfe308",
          "session_persistence": null,
          "healthmonitor_id": null,
          "listeners": [],
          "members": [],
          "id": "d46eab56-d76b-4cd3-8952-3c3c4cf113aa",
          "name": ""
      }
  }
  ```
  
#### 返回码
请参见[状态码](https://support.huaweicloud.com/api-elb/elb_gc_1102.html)。
