如何查看云平台VPC网络资源信息
ZStack Cloud支持通过普通API调用以及ZQL语句两种方式查询VPC网络资源信息。
使用API查看VPC网络资源信息
ZStack Cloud支持通过系统登录或第三方API工具(例如Postman)使用HTTP方式调用API,查询VPC网络信息。本文主要以管理员身份(admin)登录管理节点系统查询。您也可以使用云平台其他已通过授权账户/用户身份登录系统查询。
API调用流程概览:
- 登录云平台
- 查询VPC网络信息
API调用流程
API详细调用流程如下:
- 进入管理节点系统,发送以下Curl请求登录云平台以获取Session
ID:
其中:curl -H "Content-Type: application/json;charset=UTF-8" \ -X PUT -d '{"logInByAccount":{"accountName":"admin","password":"b109f3bbbc244eb82441917ed06d618b9008dd09b3befd1b5e07394c706a8bb980b1d7785e5976ec049b46df5f1326af5a2ea6d103fd07c95385ffab0cacbc86" }}' \ http://localhost:8080/zstack/v1/accounts/login- password字段需填入经过SHA-512算法加密的密码
返回结果为:
其中:{"inventory":{"uuid":"12284325ad2a497d8458ae0c90f66c59","accountUuid":"36c27e8ff05c4780bf6d2fa65700f22e","userUuid":"36c27e8ff05c4780bf6d2fa65700f22e","expiredDate":"Apr 20, 2022 11:39:43 PM","createDate":"Apr 20, 2022 9:39:43 PM","noSessionEvaluation":false}}- uuid字段即为获取的本次Session的ID
- 查询VPC网络信息:
其中:curl -H "Content-Type: application/json" -H "Authorization: OAuth 12284325ad2a497d8458ae0c90f66c59" \ -X GET http://localhost:8080/zstack/v1/zql?zql=query%20L3Network%20where%20\(\(type%3D%27L3VpcNetwork%27%20and%20category%3D%27Private%27\)%20and%20uuid%20not%20in%20\(query%20L3Network.uuid%20where%20l2Network.cluster.type%3D%27vmware%27\)\)- Authorization字段需填入登录云平台时获取的Session ID
- HTTP请求URL为:http://localhost:8080/zstackv1/zql
- zql:查询VPC网络信息所使用的语句,需通过URL进行编码
返回结果:
其中:{"results":[{"inventories":[{"uuid":"4e418ed93c474cd8a8b3410d59507cdc","name":"VPC-IPv4-2","type":"L3VpcNetwork","zoneUuid":"dcd8eeff74164f189c5161c57f30c829","l2NetworkUuid":"f7eca794fabb4e7ea291802f0424deef","state":"Enabled","system":false,"category":"Private","ipVersion":4,"createDate":"Jun 10, 2021 4:27:50 PM","lastOpDate":"Jun 10, 2021 4:27:50 PM","ipRanges":[{"uuid":"e24ac44153e84fb89429083d40bd5f24","l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","name":"VPC-IPv4-2","startIp":"192.168.2.2","endIp":"192.168.2.254","netmask":"255.255.255.0","gateway":"192.168.2.1","networkCidr":"192.168.2.0/24","ipVersion":4,"prefixLen":24,"createDate":"Jun 10, 2021 4:27:50 PM","lastOpDate":"Jun 10, 2021 4:27:50 PM"}],"networkServices":[{"l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","networkServiceProviderUuid":"2b2bef0d048948c3ba079fe5fcdfbf22","networkServiceType":"VRouterRoute"},{"l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","networkServiceProviderUuid":"2b2bef0d048948c3ba079fe5fcdfbf22","networkServiceType":"VipQos"},{"l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","networkServiceProviderUuid":"2b2bef0d048948c3ba079fe5fcdfbf22","networkServiceType":"PortForwarding"},{"l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","networkServiceProviderUuid":"2b2bef0d048948c3ba079fe5fcdfbf22","networkServiceType":"Eip"},{"l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","networkServiceProviderUuid":"2b2bef0d048948c3ba079fe5fcdfbf22","networkServiceType":"SNAT"},{"l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","networkServiceProviderUuid":"6cb7b09e55234739a5ae295a89a24682","networkServiceType":"DHCP"},{"l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","networkServiceProviderUuid":"2b2bef0d048948c3ba079fe5fcdfbf22","networkServiceType":"LoadBalancer"},{"l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","networkServiceProviderUuid":"2b2bef0d048948c3ba079fe5fcdfbf22","networkServiceType":"IPsec"},{"l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","networkServiceProviderUuid":"2b2bef0d048948c3ba079fe5fcdfbf22","networkServiceType":"CentralizedDNS"},{"l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","networkServiceProviderUuid":"2b2fae4a01e94bb9bac46435f2c45a7c","networkServiceType":"SecurityGroup"},{"l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","networkServiceProviderUuid":"6cb7b09e55234739a5ae295a89a24682","networkServiceType":"Userdata"}],"hostRoute":[]}]}]}- inventories字段即为所需查询到的VPC网络信息,云平台上存在一个名称为VPC-IPv4-2的VPC网络
使用ZQL查看VPC网络资源信息
ZStack Cloud支持通过ZQL语句以HTTP方式查询VPC网络资源信息。本文主要通过以管理员身份(admin)登录管理节点系统查询VPC网络资源信息。您也可以使用云平台其他已授权账户/用户身份登录系统查询。
使用ZQL语句查询VPC网络资源信息前,需获取调用ZQL语句所需的Sesion ID。
使用Curl调用ZQL查询示例
Curl示例:
curl http://localhost:8080/zstack/v1/zql?zql=yourZQL -X GET -H 'Connection:close' -H 'Content-Type:application/json' -H 'Authorization:OAuth SesionID'其中:- yourZQL:查询使用的ZQL语句,需通过URL进行编码
- SessionID:调用ZQL语句所需的Sesion ID,例如376c223518e347bcbeca40d2c7c515b9
ZQL语句:
query L3Network where ((type='L3VpcNetwork' andcategory='Private') and uuid not in (query L3Network.uuid wherel2Network.cluster.type='vmware'))- 语义:查询VPC网络资源的所有信息
- query关键字、where从句、query子句可参考ZQL语法
ZQL语句返回结果:
{"results":[{"inventories":[{"uuid":"4e418ed93c474cd8a8b3410d59507cdc","name":"VPC-IPv4-2","type":"L3VpcNetwork","zoneUuid":"dcd8eeff74164f189c5161c57f30c829","l2NetworkUuid":"f7eca794fabb4e7ea291802f0424deef","state":"Enabled","system":false,"category":"Private","ipVersion":4,"createDate":"Jun 10, 2021 4:27:50 PM","lastOpDate":"Jun 10, 2021 4:27:50 PM","ipRanges":[{"uuid":"e24ac44153e84fb89429083d40bd5f24","l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","name":"VPC-IPv4-2","startIp":"192.168.2.2","endIp":"192.168.2.254","netmask":"255.255.255.0","gateway":"192.168.2.1","networkCidr":"192.168.2.0/24","ipVersion":4,"prefixLen":24,"createDate":"Jun 10, 2021 4:27:50 PM","lastOpDate":"Jun 10, 2021 4:27:50 PM"}],"networkServices":[{"l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","networkServiceProviderUuid":"2b2bef0d048948c3ba079fe5fcdfbf22","networkServiceType":"VRouterRoute"},{"l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","networkServiceProviderUuid":"2b2bef0d048948c3ba079fe5fcdfbf22","networkServiceType":"VipQos"},{"l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","networkServiceProviderUuid":"2b2bef0d048948c3ba079fe5fcdfbf22","networkServiceType":"PortForwarding"},{"l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","networkServiceProviderUuid":"2b2bef0d048948c3ba079fe5fcdfbf22","networkServiceType":"Eip"},{"l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","networkServiceProviderUuid":"2b2bef0d048948c3ba079fe5fcdfbf22","networkServiceType":"SNAT"},{"l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","networkServiceProviderUuid":"6cb7b09e55234739a5ae295a89a24682","networkServiceType":"DHCP"},{"l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","networkServiceProviderUuid":"2b2bef0d048948c3ba079fe5fcdfbf22","networkServiceType":"LoadBalancer"},{"l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","networkServiceProviderUuid":"2b2bef0d048948c3ba079fe5fcdfbf22","networkServiceType":"IPsec"},{"l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","networkServiceProviderUuid":"2b2bef0d048948c3ba079fe5fcdfbf22","networkServiceType":"CentralizedDNS"},{"l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","networkServiceProviderUuid":"2b2fae4a01e94bb9bac46435f2c45a7c","networkServiceType":"SecurityGroup"},{"l3NetworkUuid":"4e418ed93c474cd8a8b3410d59507cdc","networkServiceProviderUuid":"6cb7b09e55234739a5ae295a89a24682","networkServiceType":"Userdata"}],"hostRoute":[]}]}]}其中:- inventories字段即为所需查询到的VPC网络信息,云平台上存在一个名称为VPC-IPv4-2的VPC网络
