查询负载均衡器拓扑
功能介绍
查询负载均衡拓扑,将负载均衡器及其包含的监听器、后端服务器组以拓扑的形式展示。
调用方法
请参见如何调用API。
URI
GET /v3/{project_id}/elb/loadbalancers/{loadbalancer_id}/topology
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID。 |
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时可以传入。
|
参数 |
参数类型 |
描述 |
---|---|---|
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 |
参数解释:匹配内容的键值。 约束限制:type为HOST_NAME和PATH时,该字段不生效。 |
project_id |
String |
参数解释:转发规则所在的项目ID。 |
type |
String |
参数解释:转发规则类别。 约束限制:
HEADER、QUERY_STRING支持重复的rule配置。 取值范围:
|
value |
String |
参数解释:匹配内容的值。 约束限制:仅当conditions空时该字段生效。 取值范围:
|
provisioning_status |
String |
参数解释:provisioning状态。该字段无效,默认为ACTIVE。 取值范围:ACTIVE、PENDING_CREATE 或者ERROR。 |
invert |
Boolean |
参数解释:是否反向匹配。 约束限制:固定为false。该字段能更新但不会生效。 |
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必须相同。 取值范围:
key的长度限制1-40字符,只允许包含字母、数字和-_。 key的长度限制为1-128字符,不支持空格,中括号,大括号,尖括号,反斜杠,双引号, '#','&','|',‘%’,‘~’,字母区分大小写。 |
value |
String |
参数解释:匹配项的值。 约束限制: 同一个rule内的conditions列表中所有value不允许重复。 取值范围:
value长度1-128字符,字符串只能包含英文字母、数字、-.*, 必须以字母、数字或*开头,*只能出现在开头且必须以*.开始。 value长度1-128字符。当转发规则的compare_type为STARTS_WITH、EQUAL_TO时, 字符串只能包含英文字母、数字、_~';@^-%#&$.*+?,=!:|\/()[]{},且必须以"/"开头。 value长度限制1-128字符,不支持空格, 双引号,支持以下通配符:*(匹配0个或更多字符)和?(正好匹配1个字符)。 value长度限制为1-128字符,不支持空格,中括号,大括号,尖括号,反斜杠,双引号, '#','&','|',‘%’,‘~’,字母区分大小写,支持通配符:*(匹配0个或更多字符)和?(正好匹配1个字符) POST,DELETE, PATCH, HEAD, OPTIONS。 value为CIDR格式,支持ipv4,ipv6。例如192.168.0.2/32,2049::49/64。 |
请求示例
查询负载均衡器拓扑信息
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 |
操作成功正常返回。 |
错误码
请参见错误码。