At Network to Code, we’re happy to announce that Yangify has been officially released and is the first project of many that’ll be released over the coming months that’ll be the foundation of the Rosetta RESTCONF API, the industry’s first open source model-driven HTTP-based API.
At its core, Yangify is a parsing and translation engine built for model-driven network automation using YANG as the de facto standards-based modeling language.
Here is a short description of each core function of Yangify:
Parsing: any configuration and operational commands (from devices) parsed will generate normalized JSON data that maps to the YANG model; we commonly refer to this data as Yangify’d JSON.
Translating: Any Yangify’d JSON (generated by users and automation systems) gets translated into the required CLI commands (or APIs) that need to get applied to the device.
YANG models are the foundation of what Yangify does. In order to use Yangify, you’ll need to have access to YANG models. These can be standards based models from groups like OpenConfig or IETF or custom models, as we alluded to in our last post. You’ll just need to document the location of your models so Yangify knows where to look for them. All of this can be seen in the tutorials found in the docs.
The following visuals represent what parsing in Yangify is all about:
The following visuals represent what translating in Yangify is all about:
It’s quite simple. Yangify is a framework that brings structure and sanity for working with YANG based data. Yangify is actually built on top of
yangson, so you could in theory do what Yangify is doing manually by only using
yangson for model validation, but then no parser or translator would look alike or follow the same patterns. Our goal is to provide the framework, structure, and repository for all parsers and translators so we can work together as in industry to solve problems in a more efficient manner. Additionally, there is still the need in the industry to have more useful and usable YANG tools, and Yangify will play a part in growing the adoption of consuming YANG data models for network automation.
More on Yangify:
Yangify Docs: https://yangify.readthedocs.io/en/latest/
Yangify on GitHub: https://github.com/networktocode/yangify