查询负载均衡服务器组的后端服务器列表,支持按服务器名称模糊搜索、启用状态过滤以及按服务器名称等字段排序,名称与 IP 由后端关联云主机信息后返回(GetLoadBalancerServerGroupBackendServer)
API请求
URLs
GET zstack/v1/load-balancers/listeners/{listenerUuid}/backendserversHeaders
Authorization: OAuth the-session-uuidCurl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET \
http://localhost:8080/zstack/v1/load-balancers/listeners/423a88e5945d3d3eb42f5494433d0c51/backendservers?serverGroupUuid=9b8175f2e71232acaca1e1453d3071d8&name=web&state=Enabled&sortBy=serverName&sortDirection=asc&limit=1000&start=0参数列表
| 名字 | 类型 | 位置 | 描述 | 可选值 | 起始版本 |
|---|---|---|---|---|---|
| listenerUuid | String | url | 监听器 UUID,返回该监听器下所有服务器组的后端服务器 | 5.5.38 | |
| serverGroupUuid (可选) | String | query | 服务器组 UUID,可选过滤,不填返回该监听器下所有服务器组的后端服务器 | 5.5.38 | |
| limit (可选) | Integer | query | 分页大小,默认 1000 | 5.5.38 | |
| start (可选) | Integer | query | 分页起始偏移,默认 0 | 5.5.38 | |
| name (可选) | String | query | 服务器名称,模糊匹配,不填返回全部 | 5.5.38 | |
| state (可选) | String | query | 启用状态过滤,Enabled 表示启用,Disabled 表示禁用,不填返回全部 |
|
5.5.38 |
| sortBy (可选) | String | query | 排序字段,默认 createDate |
|
5.5.38 |
| sortDirection (可选) | String | query | 排序方向,默认 asc |
|
5.5.38 |
| systemTags (可选) | List | query | 系统标签 | 0.6 | |
| userTags (可选) | List | query | 用户标签 | 0.6 |
API返回
返回示例
{
"inventories": [
{
"uuid": "55c32cf9b7f23d899355f3ea42a33c42",
"serverGroupUuid": "b9a476e29cca31b99c73e6f6929261e3",
"loadBalancerUuid": "6a27a4a5e90c39448232e355e06733a8",
"serverType": "VmInstance",
"vmNicUuid": "0bc562b8247631bbab05c4efb8842367",
"vmInstanceUuid": "7fd397dc15f637dfb672d3b80c8665e0",
"serverName": "vm-1",
"ip": "192.168.1.10",
"l3NetworkUuid": "95fbe8f3ee0f30c4a17d09043fd95376",
"weight": 100,
"ipVersion": 4,
"state": "Enabled",
"runtimeStatus": "Active",
"createDate": "Nov 14, 2017 10:20:57 PM",
"lastOpDate": "Nov 14, 2017 10:20:57 PM"
}
],
"total": 1
}| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| success | boolean | 请求是否成功 | 0.6 |
| error | ErrorCode | 错误码,若不为null,则表示操作失败,操作成功时该字段为null。 详情参考error | 0.6 |
| total | Long | 过滤后的后端服务器总数 | 5.5.38 |
| inventories | List | 详情参考inventories | 5.5.38 |
#error
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| code | String | 错误码号,错误的全局唯一标识,例如 SYS.1000、HOST.1001 | 5.3.20 |
| description | String | 错误的概要描述 | 5.3.20 |
| details | String | 错误的详细信息 | 5.3.20 |
| elaboration | String | 保留字段,默认为null | 5.3.20 |
| opaque | LinkedHashMap | 保留字段,默认为null | 5.3.20 |
| cause | ErrorCode | 根错误,引发当前错误的源错误,若无原错误,该字段为null | 5.3.20 |
#inventories
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| uuid | String | 后端服务器唯一 UUID,由服务器类型和记录 ID 确定性生成,跨请求稳定 | 5.5.38 |
| serverGroupName | String | 服务器组名称 | 5.5.38 |
| listenerUuid | String | 监听器 UUID,state 为该监听器视角的启停状态 | 5.5.38 |
| serverGroupUuid | String | 服务器组UUID | 5.5.38 |
| loadBalancerUuid | String | 负载均衡器UUID | 5.5.38 |
| serverType | String | 后端服务器类型,云主机网卡为VmInstance,外部IP为ServerIp | 5.5.38 |
| vmNicUuid | String | 云主机网卡 UUID,serverType 为 ServerIp 时为 null | 5.5.38 |
| vmInstanceUuid | String | 云主机 UUID,serverType 为 ServerIp 时为 null | 5.5.38 |
| serverName | String | 服务器名称,云主机后端为云主机名称,外部IP后端为IP地址 | 5.5.38 |
| ip | String | 后端服务器IP地址 | 5.5.38 |
| l3NetworkUuid | String | 网卡所在三层网络 UUID,serverType 为 ServerIp 时为 null | 5.5.38 |
| weight | Long | 权重 | 5.5.38 |
| ipVersion | Integer | IP 协议版本,serverType 为 ServerIp 时为 null | 5.5.38 |
| state | String | 启用状态,Enabled 表示已启用,Disabled 表示已禁用;不指定 listenerUuid 时为聚合结果 | 5.5.38 |
| runtimeStatus | String | 云主机运行联动状态,Active 表示运行中,Inactive 表示已停止,Pending 表示等待中 | 5.5.38 |
| createDate | Timestamp | 创建时间 | 5.5.38 |
| lastOpDate | Timestamp | 最后一次修改时间 | 5.5.38 |
SDK示例
Java SDK
GetLoadBalancerServerGroupBackendServerAction action = new GetLoadBalancerServerGroupBackendServerAction();
action.listenerUuid = "423a88e5945d3d3eb42f5494433d0c51";
action.serverGroupUuid = "9b8175f2e71232acaca1e1453d3071d8";
action.name = "web";
action.state = "Enabled";
action.sortBy = "serverName";
action.sortDirection = "asc";
action.limit = 1000;
action.start = 0;
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
GetLoadBalancerServerGroupBackendServerAction.Result res = action.call();Python SDK
action = GetLoadBalancerServerGroupBackendServerAction()
action.listenerUuid = "423a88e5945d3d3eb42f5494433d0c51"
action.serverGroupUuid = "9b8175f2e71232acaca1e1453d3071d8"
action.name = "web"
action.state = "Enabled"
action.sortBy = "serverName"
action.sortDirection = "asc"
action.limit = 1000
action.start = 0
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()