Overview of the Junos::Device Perl Module and Sample Scripts
The Junos XML protocol Perl distribution uses the same directory structure for Perl modules as the Comprehensive Perl Archive Network (http://www.cpan.org/). This includes a lib directory for the JUNOS module and its supporting files, and an examples directory for the sample scripts.
Client applications use the JUNOS::Device object to communicate with a Junos XML protocol server. The library contains several modules, but client applications directly invoke only the JUNOS::Device object. All of the sample scripts use this object.
The sample scripts illustrate how to perform the following functions:
diagnose_bgp.pl—Illustrates how to write scripts to monitor device status and diagnose problems. The sample script extracts and displays information about a device’s unestablished Border Gateway Protocol (BGP) peers from the full set of BGP configuration data. The script is provided in theexamples/diagnose_bgpdirectory in the Junos XML protocol Perl distribution.get_chassis_inventory.pl—Illustrates how to use a predefined query to request information from a device. The sample script invokes the get_chassis_inventory method with the detail option to request the same information as the Junos XML <get-chassis-inventory><detail></get-chassis-inventory> tag sequence and the command-line interface (CLI) show chassis hardware detail command. The script is provided in theexamples/get_chassis_inventorydirectory in the Junos XML protocol Perl distribution.load_configuration.pl—Illustrates how to change a device configuration by loading a file that contains configuration data formatted with Junos XML tag elements. The distribution includes two sample configuration files,set_login_class_bar.xmlandset_login_user_foo.xml; however, you can specify another configuration file on the command line. The script is provided in theexamples/load_configurationdirectory in the Junos XML protocol Perl distribution.
The following sample scripts are used together to illustrate how to store and retrieve data from the Junos XML API (or any XML-tagged data set) in a relational database. Although these scripts create and manipulate MySQL tables, the data manipulation techniques that they illustrate apply to any relational database. The scripts are provided in the examples/RDB directory in the Perl distribution:
- get_config.pl—Illustrates how to retrieve routing platform configuration information.
- make_tables.pl—Generates a set of Structured Query Language (SQL) statements for creating relational database tables.
- pop_tables.pl—Populates existing relational database tables with data extracted from a specified XML file.
- unpop_tables.pl—Transforms data stored in a relational database table into XML and writes it to a file.
For instructions on running the scripts, see the README or README.html file included in the Perl distribution.
Hide Navigation Pane
Show Navigation Pane
Download
SHA1