Request Service
#
Protobuf Definitionservice RequestService { rpc GetLsNodes(TopologyRequest) returns (LsNodeResponse) {} rpc GetLsLinks(TopologyRequest) returns (LsLinkResponse) {} rpc GetLsPrefixes(TopologyRequest) returns (LsPrefixResponse) {} rpc GetLsSrv6Sids(TopologyRequest) returns (LsSrv6SidResponse) {} rpc GetLsNodeEdges(TopologyRequest) returns (LsNodeEdgeResponse) {} rpc GetTelemetryData(TelemetryRequest) returns (TelemetryResponse) {}}
#
MethodsGetLsNodes()
#
rpc GetLsNodes(TopologyRequest) returns (LsNodeResponse) {}
See also: TopologyRequest, LsNodeResponse
#
DescriptionTakes a TopologyRequest with the specified keys and properties and returns an LsNodeResponse containing all requested LsNodes with the requested properties.
- Omitting keys returns all available LsNodes.
- Omitting properties returns LsNodes with all available properties.
#
Exampleskeys | properties | LsNodeResponse |
---|---|---|
[ "nodeKey1", "nodeKey2" ] | [ "Name", "Asn", "RouterIp" ] | LsNodeResponse contains LsNodes for the two specified keys with the three requested properties. |
- | [ "Name", "Asn", "RouterIp" ] | LsNodeResponse contains all available LsNodes with the three requested properties. |
[ "nodeKey1", "nodeKey2" ] | - | LsNodeResponse contains LsNodes for the two specified keys with all available properties. |
- | - | LsNodeResponse contains all available LsNodes with all available properties. |
GetLsLinks()
#
rpc GetLsLinks(TopologyRequest) returns (LsLinkResponse) {}
See also: TopologyRequest, LsLinkResponse
#
DescriptionSee method GetLsNodes(). It follows the same principle regarding keys and properties.
GetLsPrefixes()
#
rpc GetLsPrefixes(TopologyRequest) returns (LsPrefixResponse) {}
See also: TopologyRequest, LsPrefixResponse
#
DescriptionSee method GetLsNodes(). It follows the same principle regarding keys and properties.
GetLsSrv6Sids()
#
rpc GetLsSrv6Sids(TopologyRequest) returns (LsSrv6SidResponse) {}
See also: TopologyRequest, LsSrv6SidResponse
#
DescriptionSee method GetLsNodes(). It follows the same principle regarding keys and properties.
GetLsNodeEdges()
#
rpc GetLsNodeEdges(TopologyRequest) returns (LsNodeEdgeResponse) {}
See also: TopologyRequest, LsNodeEdgeResponse
#
DescriptionSee method GetLsNodes(). It follows the same principle regarding keys and properties.
GetTelemetryData()
#
rpc GetTelemetryData(TelemetryRequest) returns (TelemetryResponse) {}
See also: TelemetryRequest, TelemetryResponse
#
DescriptionTakes a TelemetryRequest and returns a TelemetryResponse containing an array of JSON strings.
The Jalapeño API Gateway works with all Yang Models that are supported by Jalapeño. To use a Yang Model, simply configure it on the routers and supply the Sensor Path in the request.
message TelemetryRequest { required string sensor_path = 1; repeated string properties = 2; repeated StringFilter string_filters = 3; optional RangeFilter range_filter = 4;}
- sensor_path: Sensor Path of which data is requested (i.e.
"Cisco-IOS-XR-pfi-im-cmd-oper:interfaces/interface-xr/interface"
) - properties: String array of properties to select from the Yang Model. The property names are the exact sensor path that point to the property but without the more generic Sensor Path specified before, (i.e.
"data_rates/output_data_rate"
) - StringFilter: Allows to filter by string values.
- RangeFilter: Allows to request a range of data.
TelemetryRequest { sensorPath: "Cisco-IOS-XR-pfi-im-cmd-oper:interfaces/interface-xr/interface", properties: [ "data_rates/output_data_rate", "interface_statistics/full_interface_stats/bytes_sent" ], StringFilter: [ { property: "source", value: "XR-8", operator: StringOperator.EQUAL } ], RangeFilter: { earliestTimestamp: 1630050953974000000 }}
The response contains JSON objects where the property names match the ones from the Yang Model, but converted to camel case.
For example, data_rates/output_data_rate
becomes DataRates_OutputDataRate
.
TelemetryResponse { telemetryData: [ "{ Time: "2021-11-10T08:53:08.382Z", DataRates_OutputDataRate: 53, InterfaceStatistics_FullInterfaceStats_BytesSent: 447 }" ]}