​
Select Service
ves-io-schema-topology-CustomDataAPI-SiteTopology
Published April 5, 2023 | Last modified October 28, 2026
Examples of performing topology CustomDataAPI SiteTopology
Usecase:
Get site topology for site-1
Request:
Request using vesctl:
vesctl request rpc topology.CustomDataAPI.SiteTopology -i request.yaml --uri /public/namespaces/system/topology/site/site-1 --http-method POST
where file request.yaml has following contents:
level: 1metricSelector: edge: - METRIC_TYPE_LATENCY_SECONDS endTime: "1580407200" node: - METRIC_TYPE_IN_BYTES startTime: "1580403600"vesctl yaml response:
edges:- links: - info: status: LINK_STATUS_UP metric: - data: - labels: {} values: - value: "0.1" type: METRIC_TYPE_LATENCY_SECONDS unit: UNIT_SECONDS nodeId1: site:site-1 nodeId2: site:re-1- links: - info: status: LINK_STATUS_UP metric: - data: - labels: {} values: - value: "0.12" type: METRIC_TYPE_LATENCY_SECONDS unit: UNIT_SECONDS nodeId1: site:re-1 nodeId2: site:site-1- links: - info: name: tunnel-1 status: LINK_STATUS_UP metric: [] nodeId1: site:site-1 nodeId2: tgw:tgw-1nodes:- id: site:site-1 metadata: name: site-1 tags: {} site: info: dcClusterGroup: [] network: [] tgw: [] metric: - data: - labels: {} values: - value: "128" unit: UNIT_BYTES- id: site:re-1 metadata: level: 1 name: re-1 tags: {} site: info: dcClusterGroup: [] network: [] tgw: [] metric: []- id: tgw:tgw-1 metadata: name: tgw-1 tags: {} transitGateway: info: attachments: [] autoAcceptSharedAttachments: true network: [] metric: []Request using curl:
curl -X 'POST' -d '{"level":1,"metric_selector":{"start_time":"1580403600","end_time":"1580407200","node":["METRIC_TYPE_IN_BYTES"],"edge":["METRIC_TYPE_LATENCY_SECONDS"]}}' -H 'Content-Type: application/json' -H 'X-Volterra-Useragent: v1/pgm=_var_folders_q2_3kp8z3zs0x5_m7pk1bgb0_ph0000gp_T_go-build3348201650_b001_apidocs.test/host=MTY6VVHQPH/svc=S:examplesvc/site=mytestce01' 'https://acmecorp.console.ves.volterra.io/api/data/namespaces/system/topology/site/site-1'curl response:
HTTP/1.1 200 OKContent-Type: application/jsonDate: Mon, 28 Sep 2026 04:30:29 GMTVary: Accept-Encoding
{ "nodes": [ { "id": "site:site-1", "metadata": { "name": "site-1", "cloud_resource_id": "", "description": "", "level": 0, "provider_type": "PROVIDER_TYPE_UNSPECIFIED", "owner_id": "", "tags": { }, "status": "" }, "site": { "info": { "network": [ ], "tgw": [ ], "dc_cluster_group": [ ], "site_type": "INVALID", "provider_info": null, "gateway_type": "INGRESS_GATEWAY", "app_type": "SITE_APPTYPE_NONE", "orchestration_mode": "NOT_MANAGED" }, "metric": [ { "type": "METRIC_TYPE_IN_BYTES", "unit": "UNIT_BYTES", "data": [ { "labels": { }, "values": [ { "timestamp": 0, "value": "128", "trend_value": null } ] } ] } ], "summary": null } }, { "id": "site:re-1", "metadata": { "name": "re-1", "cloud_resource_id": "", "description": "", "level": 1, "provider_type": "PROVIDER_TYPE_UNSPECIFIED", "owner_id": "", "tags": { }, "status": "" }, "site": { "info": { "network": [ ], "tgw": [ ], "dc_cluster_group": [ ], "site_type": "INVALID", "provider_info": null, "gateway_type": "INGRESS_GATEWAY", "app_type": "SITE_APPTYPE_NONE", "orchestration_mode": "NOT_MANAGED" }, "metric": [ ], "summary": null } }, { "id": "tgw:tgw-1", "metadata": { "name": "tgw-1", "cloud_resource_id": "", "description": "", "level": 0, "provider_type": "PROVIDER_TYPE_UNSPECIFIED", "owner_id": "", "tags": { }, "status": "" }, "transit_gateway": { "info": { "network": [ ], "auto_accept_shared_attachments": true, "dns_support": false, "vpn_ecmp_support": false, "attachments": [ ] }, "metric": [ ] } } ], "edges": [ { "node_id1": "site:site-1", "node_id2": "site:re-1", "links": [ { "info": { "name": "", "type": "LINK_TYPE_TUNNEL", "status": "LINK_STATUS_UP", "src_id": "", "dst_id": "" }, "metric": [ { "type": "METRIC_TYPE_LATENCY_SECONDS", "unit": "UNIT_SECONDS", "data": [ { "labels": { }, "values": [ { "timestamp": 0, "value": "0.1", "trend_value": null } ] } ] } ] } ], "status": "LINK_STATUS_NOT_APPLICABLE" }, { "node_id1": "site:re-1", "node_id2": "site:site-1", "links": [ { "info": { "name": "", "type": "LINK_TYPE_TUNNEL", "status": "LINK_STATUS_UP", "src_id": "", "dst_id": "" }, "metric": [ { "type": "METRIC_TYPE_LATENCY_SECONDS", "unit": "UNIT_SECONDS", "data": [ { "labels": { }, "values": [ { "timestamp": 0, "value": "0.12", "trend_value": null } ] } ] } ] } ], "status": "LINK_STATUS_NOT_APPLICABLE" }, { "node_id1": "site:site-1", "node_id2": "tgw:tgw-1", "links": [ { "info": { "name": "tunnel-1", "type": "LINK_TYPE_TUNNEL", "status": "LINK_STATUS_UP", "src_id": "", "dst_id": "" }, "metric": [ ] } ], "status": "LINK_STATUS_NOT_APPLICABLE" } ], "step": ""}