查询负载均衡器拓扑 - ShowLoadBalancerTopology
功能介绍
查询负载均衡拓扑,将负载均衡器及其包含的监听器、后端服务器组以拓扑的形式展示。
调用方法
请参见如何调用API。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,当前API调用无需身份策略权限。
URI
GET /v3/{project_id}/elb/loadbalancers/{loadbalancer_id}/topology
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
project_id | 是 | String | 参数解释:项目ID。获取方式请参见获取项目ID。 约束限制:不涉及 取值范围:长度为32个字符,由小写字母和数字组成。 默认取值:不涉及 |
loadbalancer_id | 是 | String | 参数解释:负载均衡器ID。 约束限制:不涉及 取值范围:不涉及 默认取值:不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
listener_id | 否 | String | 监听器的ID。 支持多值查询,查询条件格式:listener_id=xxx&listener_id=xxx。 |
pool_id | 否 | String | 后端服务器组的ID。 支持多值查询,查询条件格式:pool_id=xxx&pool_id=xxx。 |
listener_name | 否 | String | 监听器的名称。 支持多值查询,查询条件格式:listener_name=xxx&listener_name=xxx。 |
listener_protocol | 否 | String | 监听器的协议。 支持多值查询,查询条件格式:listener_protocol=xxx&listener_protocol=xxx。 |
listener_protocol_port | 否 | Integer | 监听器的监听端口。 支持多值查询,查询条件格式:listener_protocol_port=xxx&listener_protocol_port=xxx。 |
pool_name | 否 | String | 后端服务器组的名称。 支持多值查询,查询条件格式:pool_name=xxx&pool_name=xxx。 |
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
X-Auth-Token | 是 | String | 参数解释:IAM鉴权Token。 约束限制:不涉及 取值范围:不涉及 默认取值:不涉及 |
响应参数
状态码:200
参数 | 参数类型 | 描述 |
|---|---|---|
topology | LoadBalancerTopologyResult object | 参数解释:负载均衡器拓扑。 |
request_id | String | 参数解释:请求ID。 取值范围:由数字、小写字母和中划线(-)组成的字符串,自动生成。 |
参数 | 参数类型 | 描述 |
|---|---|---|
nodes | TopologyNodes object | 参数解释:拓扑节点信息。 |
edges | Array of TopologyEdge objects | 参数解释:拓扑边的信息 |
labels | TopologyLabels object | 参数解释:拓扑节点信息。 |
参数 | 参数类型 | 描述 |
|---|---|---|
loadbalancers | Array of LoadBalancerNode objects | 取值范围:拓扑LB节点信息。 |
eips | Array of EipNode objects | 取值范围:拓扑EIP节点信息。 |
listeners | Array of ListenerNode objects | 取值范围:拓扑监听器节点信息。 |
pools | Array of PoolNode objects | 取值范围:拓扑后端服务器组节点信息。 |
参数 | 参数类型 | 描述 |
|---|---|---|
id | String | 参数解释:负载均衡器id。 取值范围:不涉及 |
name | String | 参数解释:负载均衡器名称。 取值范围:不涉及 |
guaranteed | Boolean | 参数解释:是否独享型LB。 取值范围:
|
l4_flavor_id | String | 参数解释:网络型规格ID。 取值范围:不涉及 |
l7_flavor_id | String | 参数解释:应用型规格ID。 取值范围:不涉及 |
vip_address | String | 参数解释:ipv4地址。 取值范围:不涉及 |
ipv6_vip_address | String | 参数解释:ipv6地址。 取值范围:不涉及 |
availability_zone_list | Array of strings | 参数解释:负载均衡器所在的可用区列表。 取值范围:不涉及 |
参数 | 参数类型 | 描述 |
|---|---|---|
id | String | 参数解释:不涉及EIP id。 取值范围:不涉及 |
ip_address | String | 参数解释:EIP地址。 取值范围:不涉及 |
ip_version | Integer | 参数解释:EIP 地址类型。 取值范围:不涉及
|
参数 | 参数类型 | 描述 |
|---|---|---|
id | String | 参数解释:监听器id。 取值范围:不涉及 |
name | String | 参数解释:监听器名称。 取值范围:不涉及 |
protocol | String | 参数解释:监听器协议。 取值范围:不涉及 |
protocol_port | Integer | 参数解释:监听器监听端口。 取值范围:不涉及 |
port_ranges | Array of PortRange objects | 参数解释:全端口监听,指定端口监听范围(闭区间),最多指定10个端口组,每个组范围不可有重叠部分 说明: 仅当protocol_port为0时可以传入。 |
参数 | 参数类型 | 描述 |
|---|---|---|
start_port | Integer | 参数解释:起始端口。 约束限制:不涉及 取值范围:1-65535 默认取值:不涉及 |
end_port | Integer | 参数解释:结束端口。 约束限制:大于等于起始端口。 取值范围:1-65535 默认取值:不涉及 |
参数 | 参数类型 | 描述 |
|---|---|---|
id | String | 取值范围:后端服务器组id。 取值范围:不涉及 |
name | String | 取值范围:后端服务器组名称。 取值范围:不涉及 |
protocol | String | 取值范围:后端服务器组协议。 取值范围:不涉及 |
type | String | 取值范围:后端服务器组类型。 取值范围:不涉及 |
lb_algorithm | String | 取值范围:后端服务器组负载均衡算法。 取值范围:不涉及 |
参数 | 参数类型 | 描述 |
|---|---|---|
source | String | 参数解释:边起点id。 取值范围:不涉及 |
target | String | 参数解释:边终点id。 取值范围:不涉及 |
source_type | String | 参数解释:边起点类型。 取值范围:不涉及 |
target_type | String | 参数解释:边终点类型。 取值范围:不涉及 |
label | String | 参数解释:边label信息。 取值范围:不涉及 |
label_id | String | 参数解释:label id。 取值范围:不涉及 |
参数 | 参数类型 | 描述 |
|---|---|---|
id | String | 参数解释:转发策略id。 取值范围:不涉及 |
name | String | 参数解释:转发策略名称。 取值范围:不涉及 |
priority | String | 参数解释:转发策略优先级。 取值范围:不涉及 |
action | String | 参数解释:转发策略action。 取值范围:不涉及 |
admin_state_up | Boolean | 参数解释:转发策略是否启用。 取值范围:不涉及 |
rules | Array of L7Rule objects | 参数解释:规则对象列表。 |
参数 | 参数类型 | 描述 |
|---|---|---|
admin_state_up | Boolean | 参数解释:转发规则的管理状。 取值范围:固定为true。 不支持该字段,请勿使用。 |
compare_type | String | 参数解释:转发规则的匹配方式。 取值范围:type为HOST_NAME时可以为EQUAL_TO。type为PATH时可以为REGEX,STARTS_WITH,EQUAL_TO。 |
key | String | 参数解释:匹配内容的键值。 取值范围:不涉及 |
project_id | String | 参数解释:转发规则所在的项目ID。 取值范围:不涉及 |
type | String | 参数解释:转发规则类别。 取值范围:
|
value | String | 参数解释:匹配内容的值。 取值范围:
|
provisioning_status | String | 参数解释:provisioning状态。该字段无效,默认为ACTIVE。 取值范围:
|
invert | Boolean | 参数解释:是否反向匹配。 取值范围:不涉及 |
id | String | 参数解释:规则ID。 取值范围:不涉及 |
conditions | Array of RuleCondition objects | 参数解释:转发规则的匹配条件。 取值范围:不涉及 |
created_at | String | 参数解释:创建时间。 取值范围:格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。 |
updated_at | String | 参数解释:更新时间。 取值范围:格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。 |
参数 | 参数类型 | 描述 |
|---|---|---|
key | String | 参数解释:匹配项的名称。 约束限制:同一个rule内的conditions列表中所有key必须相同。 取值范围:
默认取值:不涉及 |
value | String | 参数解释:匹配项的值。 约束限制:同一个rule内的conditions列表中所有value不允许重复。 取值范围:
默认取值:不涉及 |
请求示例
查询负载均衡器拓扑信息
GET https://{ELB_Endpoint}/v3/{project_id}/elb/loadbalancers/38278031-cfca-44be-81be-a412f618773b/topology 响应示例
状态码:200
操作成功正常返回。
{
"topology" : {
"nodes" : {
"loadbalancers" : [ {
"id" : "10000000-0000-0000-0000-000000000001",
"name" : "elb-topology",
"guaranteed" : true,
"l4_flavor_id" : "c5dc2b58-d5b7-40d3-8646-485aff8b70bd",
"l7_flavor_id" : "1b333094-bd31-4cb8-97e2-ea762fde3576",
"vip_address" : "172.16.8.148",
"ipv6_vip_address" : "2420:2023:410:230:2188:8eb:f42b:d3b5",
"provisioning_status" : "ACTIVE",
"availability_zone_list" : [ "AZ1", "AZ2" ]
} ],
"eips" : [ {
"id" : "24000000-0000-0000-0000-100000000001",
"ip_address" : "2420:2023:410:230:2188:8eb:f42b:d3b5",
"ip_version" : 6
}, {
"id" : "26000000-0000-0000-0000-000000000001",
"ip_address" : "10.185.106.199",
"ip_version" : 4
} ],
"listeners" : [ {
"id" : "20000000-0000-0000-0000-000000000001",
"name" : "test-listener",
"protocol" : "TCP",
"protocol_port" : 8080,
"port_ranges" : null
} ],
"pools" : [ {
"id" : "40000000-0000-0000-0000-000000000001",
"name" : "test-pool",
"protocol" : "TCP",
"type" : "instance",
"lb_algorithm" : "ROUND_ROBIN"
} ]
}
},
"edges" : [ {
"source" : "24000000-0000-0000-0000-100000000001",
"target" : "10000000-0000-0000-0000-000000000001",
"label" : null,
"label_id" : null,
"source_type" : "eips",
"target_type" : "loadbalancers"
}, {
"source" : "24000000-0000-0000-0000-100000000001",
"target" : "10000000-0000-0000-0000-000000000001",
"label" : null,
"label_id" : null,
"source_type" : "eips",
"target_type" : "loadbalancers"
}, {
"source" : "24000000-0000-0000-0000-100000000001",
"target" : "20000000-0000-0000-0000-000000000001",
"label" : null,
"label_id" : null,
"source_type" : "loadbalancers",
"target_type" : "listeners"
}, {
"source" : "20000000-0000-0000-0000-000000000001",
"target" : "40000000-0000-0000-0000-000000000001",
"label" : "default_pool",
"label_id" : null,
"source_type" : "listeners",
"target_type" : "pools"
} ],
"labels" : {
"l7policies" : [ {
"id" : "50000000-0000-0000-0000-000000000001",
"name" : "test-l7policy",
"priority" : 1,
"action" : "REDIRECT_TO_POOL",
"admin_state_up" : true,
"rules" : [ {
"id" : "60000000-0000-0000-0000-000000000001",
"compare_type" : "EQUAL_TO",
"value" : "www.test.com",
"type" : "HOST_NAME",
"conditions" : [ {
"key" : null
}, {
"value" : "www.test.com"
} ]
} ]
} ]
}
} 状态码
状态码 | 描述 |
|---|---|
200 | 操作成功正常返回。 |
错误码
请参见错误码。

