If you are already a Network Query Engine (NQE) ninja, feel free to jump to the “NQE with Postman” section, otherwise, keep on reading.
Network Query Engine (NQE)
If you are familiar with the Forward Platform, you might already know that the platform discovers switches, routers, load balancers, and firewalls from all the most common vendors and collects their configuration and state. It then parses and normalizes all the data before running a mathematical model to reason about the network behavior in terms of routing and security policies.
The data parsing and normalization are key in allowing an efficient and very scalable platform, but before NQE all this data was available for internal use only.
With NQE we have essentially opened up the Forward Platform to provide parsed and normalized data to customers and partners for use cases like custom dashboards and custom network checks.
The beauty is that we do it for every supported platform, vendor and software version, even for very old legacy platforms that have been around for 30 years!
The exposed data structures are aligned with OpenConfig, the de-facto standard for vendor-neutral network device configuration and state data models (written in YANG) and it is available through a GraphQL API.
What is GraphQL?
GraphQL is a flexible data query language for APIs developed by Facebook in 2012 and released as an open-source project in 2015. GraphQL is an alternative to REST (Representational State Transfer). It offers several benefits compared to REST (see REST vs GraphQL article) like enabling users to specify exactly what data they get back in their response – nothing more, and nothing less, and it allows querying for multiple fields in a single request.
Hundreds of organizations, like Forward Networks, are already leveraging GraphQL!
NQE with Postman
Postman recently announced the inbuilt support for GraphQL to enable all the GraphQL users to leverage the most popular testing and development tool for HTTP APIs.
Unfortunately, it doesn't support GraphQL Introspection [yet?], a key feature that allows to populate the schema inspector, provides autocomplete and enables to easily build the schema documentation.
The GraphQL schema can be imported manually instead, providing autocomplete (no documentation, sorry). GraphQL Schema Definition Language (SDL) is the only format supported at the moment.
The NQE schema in SDL format can be exported from the Forward platform and manually imported in Postman. See the NQE Github repository for how-to instructions.
After the NQE schema is manually imported, you can easily build the Postman requests by selecting GraphQL, selecting the imported NQE schema, writing the query, send it and… voilà!
Figure 1: NQE query with Postman
For more information on NQE with Postman, check this video below.
For more info on NQE, check the following articles and the NQE repo on GitHub:
- Query Your Network like a Database: https://www.onug.net/blog/query-your-network-like-a-database/
- Network Query Engine: Automate Network Health Checks in Minutes: https://www.staging4.forwardnetworks.com/nqe-recap/
- NQE GitHub repo: https://github.com/forwardnetworks/network-query-engine-examples
Enjoy your NQE queries with Postman!!