
# 创建后端云服务器
#### 功能介绍
为某个后端云服务器组添加后端云服务器。当后端云服务器组被监听器使用后，访问负载均衡器的流量可以通过负载均衡算法分发到不同的后端云服务器上，分担流量。
#### 接口约束
属于一个后端云服务器组的两个后端云服务器不能有相同的address和protocol_port。
创建后端云服务器时指定的子网必须和负载均衡器的子网处在同一个VPC下。
#### URI
POST /v2.0/lbaas/pools/{pool_id}/members
表1参数说明 
| 参数      | 是否必选 | 参数类型   | 描述         |
|:---|:---|:---|:---|
| pool_id | 是    | String | 后端云服务器组ID。 |
   
#### 请求消息
表2请求参数 
| 参数     | 是否必选 | 参数类型   | 描述                                                    |
|:---|:---|:---|:---|
| member | 是    | Object | 后端云服务器对象。详见[表3]。 |
   
 表3member字段说明 
| 参数             | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| tenant_id      | 否    | String  | 后端云服务器所在的项目ID。 获取方法详见[获取项目ID](https://support.huaweicloud.com/api-elb/elb_fl_0008.html)。 需要和token中的project_id一致。 支持的最大字符长度：255 |
| project_id     | 否    | String  | 此参数和tenant_id参数含义一样，均指后端云服务器所在的项目ID。 获取方法详见[获取项目ID](https://support.huaweicloud.com/api-elb/elb_fl_0008.html)。 需要和token中的project_id一致。                          |
| name           | 否    | String  | 后端云服务器的名称。默认为空字符串。 支持的最大字符长度：255                                                                                                                                                                  |
| address        | 是    | String  | 后端云服务器对应的IP地址，该IP必须在subnet_id字段指定子网的网段中。 只能对应主网卡的IP。 例如：192.168.3.11。 支持的最大字符长度：64                                                 |
| protocol_port  | 是    | Integer | 后端协议的端口号，取值范围\[1，65535\]。                                                                                                                                                                                                          |
| subnet_id      | 是    | String  | 后端云服务器所在的子网ID。 后端云服务器的address在该子网的网段中。 只支持指定IPv4的子网ID。暂不支持IPv6。                                                                                                 |
| admin_state_up | 否    | Boolean | 后端云服务器的管理状态。 该字段为预留字段，暂未启用。默认为true。                                                                                                                                                               |
| weight         | 否    | Integer | 后端云服务器的权重，取值范围\[0，100\]。 权重为0的后端不再接受新的请求。默认为1。                                                                                                                                                      |
   
#### 响应消息
表4响应参数 
| 参数     | 参数类型   | 描述                                                    |
|:---|:---|:---|
| member | Object | member对象。详见[表5]。 |
   
 表5member字段说明 
| 参数               | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|
| id               | String  | 后端云服务器的 ID。 说明： 此处并非服务器的ID，而是ELB添加后端服务器之后自动生成的member ID。                                                                                                                                                                                                                                                                                      |
| tenant_id        | String  | 后端云服务器所在的项目ID。 支持的最大字符长度：255                                                                                                                                                                                                                                                                                                                                               |
| project_id       | String  | 此参数和tenant_id参数含义一样，均指后端云服务器所在的项目ID。                                                                                                                                                                                                                                                                                                                                                                          |
| name             | String  | 后端云服务器的名称。 支持的最大字符长度：255                                                                                                                                                                                                                                                                                                                                                    |
| address          | String  | 后端云服务器对应的IP地址，该IP必须在subnet_id字段指定子网的网段中，例如192.168.3.11。 只能对应主网卡的IP。 支持的最大字符长度：64                                                                                                                                                                                                                                                           |
| protocol_port    | Integer | 后端端口的协议号，取值范围\[1，65535\]。                                                                                                                                                                                                                                                                                                                                                                                     |
| subnet_id        | String  | 后端云服务器所在的子网ID。后端云服务器的IP地址在该子网的网段中。 不支持开启了ipv6的子网。                                                                                                                                                                                                                                                                                                                             |
| admin_state_up   | Boolean | 后端云服务器的管理状态。 该字段为预留字段，暂未启用。取值范围：true/false。 - true表示开启。  - false表示关闭。   |
| weight           | Integer | 后端云服务器的权重，取值范围\[0，100\]。 权重为0的后端不再接受新的请求。默认为1。                                                                                                                                                                                                                                                                                                                               |
| operating_status | String  | 后端云服务器的健康状态，取值： - ONLINE，后端服务器正常运行。  - NO_MONITOR，后端服务器无健康检查。  - OFFLINE，已下线。                                           |
   
#### 请求示例
- step1 请求样例 根据弹性云服务器id查询对应的subnet_id和address，其中device_id为弹性云服务器的id。取响应体中主网卡（primary_interface为true的port）的subnet_id、ip_address。
  ```
  GET https://{VPCEndpoint}/v2.0/ports?device_id=f738c464-b5c2-45df-86c0-7f436620cd54
  ```
  step1 响应样例
  ```
  {
      "ports": [
          {
              "id": "94971c39-46f0-443a-85e8-31cb7497c78e",
              "name": "",
              "status": "ACTIVE",
              "admin_state_up": true,
              "fixed_ips": [
                  {
                      "subnet_id": "33d8b01a-bbe6-41f4-bc45-78a1d284d503",
                      "ip_address": "192.168.44.11"
                  }
              ],
              "mac_address": "fa:16:3e:5c:d2:57",
              "network_id": "1b76b9c2-9b7e-4ced-81bd-d13f7389d7c9",
              "tenant_id": "04dd36f978800fe22f9bc00bea090736",
              "project_id": "04dd36f978800fe22f9bc00bea090736",
              "device_id": "f738c464-b5c2-45df-86c0-7f436620cd54",
              "device_owner": "compute:xx-xxxx-4a",
              "security_groups": [
                  "a10dfc31-0055-4b84-b36e-1291b918125c",
                  "7a233393-5be2-4dff-8360-1558dd950f6e"
              ],
              "extra_dhcp_opts": [],
              "allowed_address_pairs": [],
              "binding:vnic_type": "normal",
              "binding:vif_details": {
                  "primary_interface": true
              },
              "binding:profile": {},
              "port_security_enabled": true,
              "created_at": "2019-11-12T17:17:51",
              "updated_at": "2019-11-12T17:17:51"
          }
      ]
  }
  ```
  
- step2 请求样例 使用[▪step1]中获取的subnet_id和address创建后端云服务器
  ```
  POST https://{Endpoint}/v2.0/lbaas/pools/5a9a3e9e-d1aa-448e-af37-a70171f2a332/members
  {
      "member": {
          "subnet_id": "33d8b01a-bbe6-41f4-bc45-78a1d284d503",
          "protocol_port": 88,
          "name": "member-jy-tt-1",
          "address": "192.168.44.11"
      }
  }
  ```
  
 
#### 响应示例
- 响应样例
  ```
  {
      "member": {
          "name": "member-jy-tt-1", 
          "weight": 1, 
          "admin_state_up": true, 
          "subnet_id": "33d8b01a-bbe6-41f4-bc45-78a1d284d503", 
          "tenant_id": "145483a5107745e9b3d80f956713e6a3", 
          "project_id": "145483a5107745e9b3d80f956713e6a3", 
          "address": "192.168.44.11", 
          "protocol_port": 88, 
          "operating_status": "ONLINE", 
          "id": "c0042496-e220-44f6-914b-e6ca33bab503"
      }
  }
  ```
  
 
#### 返回码
请参见[状态码](https://support.huaweicloud.com/api-elb/elb_gc_1102.html)。
