A framework for automating the configuration and management of systems.
A specification that defines how a program can interact with a library or system. In the context of this book, the Junos management API defines the way automation tools run RPCs to view and change the configuration, as well as gather or change operational state.
A markup language for encoding complex structured data and metadata.
A lightweight data encoding format for transmitting structured data.
A language that supports the creation of documents from a template.
The protocol that the Junos CLI uses to communicate with MGD. It is a precursor to the standards-based NETCONF and it shares many similarities with NETCONF.
A Python module for converting XML documents to native Python data structures, and vice versa.
A Python module for parsing and building XML documents. The lxml
module provides similar, but more advanced, functionality to the ElementTree
module.
The Junos management daemon. This is the daemon to which NETCONF and Junoscript clients connect. As described in “Management System Internals”, MGD manages much of the flow of operational and configuration data inside the system.
See Junoscript
A Python module (also executable as a command-line utility) to interact with a network device using NETCONF by communicating over the console port.
A protocol that defines a programmatic way to interact with a networking device’s management system.
A utility for automatically deploying and maintaining configuration on systems.
A Python package that provides classes and methods to manage Junos devices using NETCONF.
A class that executes a Junos RPC and parses the RPC response into separate items. The user builds each table class by writing a YAML file and parsing it with a PyEZ method.
See PyEZ view
A class that maps PyEZ table items to a native Python data structure. The user builds each view class by writing a YAML file and parsing it with a PyEZ method.
See PyEZ table
An object-oriented scripting language that is popular for network automation tasks.
In the context of this book, an XML fragment that directs the Junos software to conduct an operation for the user, such as viewing or changing the configuration, or viewing or changing operational state.
A set of architectural constraints for building scalable web services. Web services that provide APIs based on the REST architecture style are referred to as RESTful APIs.
A document that describes the expected structure of an XML document.
A programming language for implementing XML transformations. The SLAX parser converts SLAX syntax to XSLT syntax so the XSLT parser can conduct the XML transformation.
See XSLT
The process of taking an XML input document and transforming it into a different XML output document. See “XML Transformations” for an explanation and example.
A programming language for implementing XML transformations.
See SLAX
A language-independent data serialization format that is easily parsed by humans, designed for data structures or configuration files that are often hand-edited. Despite the humorous recursive acronym, you may think of this as a markup language.
As the specification says, “YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications.”
Juniper provides a method for a user to export YANG data models for Junos. YANG is also the basis for efforts in the industry to standardize on common data models. (For example, the OpenConfig Group is one such effort.)
A feature of the Junos software that helps ease initial device configuration. It allows you to automate the installation of a Junos software package and deployment of an initial configuration by sending appropriate attributes in a DHCP reply.
18.190.160.221