查询负载均衡器拓扑 - ShowLoadBalancerTopology
功能介绍
查询负载均衡拓扑,将负载均衡器及其包含的监听器、后端服务器组以拓扑的形式展示。
调用方法
请参见如何调用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 |
操作成功正常返回。 |
错误码
请参见错误码。