A Python CLI that uses pyATS to transform Cisco CLI Commands into various Business Ready Documents
JinjaGPL-3.0
business_ready
A Python CLI that transforms Cisco CLIs and REST APIs into "Business Ready" Documents
Getting Started
Business Ready has two modes of operation:
Cisco Command Line Interface (CLI) output transformation using pyATS (Linux required)
Cisco REST API output transformation using Python Requests (Windows or Linux friendly)
Each Business Ready Function provides the user with 5 output files:
Comma-separated values (CSV) - Spreadsheets!
HyperText Markup Language (HTML) - Webpages!
Markdown (tabular) - GitHub Ready Tables!
Markdown (markmap) - Mind Maps!
JavaScript Object Notation (JSON) - The Raw payload
The VS Code Terminal can be used, either with Windows (REST APIs) or WSL Ubuntu (pyATS), to create a Python virtual environment and run Business Ready.
The following extensions can be used to maximize the user experience:
Markmap (MD files)
Markdown Preview (MD files)
Excel Preview (CSV files)
Open in Default Browser (HTML files)
Installation Guides
Cisco IOS / NXOS CLI
Linux and pyATS Required
The following instructions are based on Windows WSL2 and Ubuntu however any flavour of Linux will work with possibly slightly different commands.
Once businessready is installed it can be used from the Python command-line
Python CLI
Linux
(demo)$ python3 >>> import businessready
Windows
(demo) C:\>python3 >>> import businessready
Cisco CLI
Connecting - Business Ready functions that extend pyATS require 4 parameters
hostname
username
password
IP / DNS Address
Cisco IOS-XE
All - You can run all IOS-XE Learn And Show functions to fully document a device with one command
>>> import businessready >>> businessready.IOS_all("hostname","username","password","IP / DNS Address")
Learn All - You can run all IOS-XE Learn functions to fully learn a device with one command
>>> import businessready >>> businessready.IOS_learn_all("hostname","username","password","IP / DNS Address")
Show All - You can run all IOS-XE Show functions to fully parse a device with one command
>>> import businessready >>> businessready.IOS_show_all("hostname","username","password","IP / DNS Address")
Individual Learn / Show Functions - You can run individual learn or show commands as well if you are looking for something specific
>>> import businessready >>> businessready.IOS_learn_{{ function }}("hostname","username","password","IP / DNS Address")>>> businessready.IOS_show_{{ show command }}("hostname","username","password","IP / DNS Address")
Cisco NXOS
All - You can run all NXOS Learn And Show functions to fully document a device with one command
>>> import businessready >>> businessready.NXOS_all("hostname","username","password","IP / DNS Address")
Learn All - You can run all NXOS Learn functions to fully learn a device with one command
>>> import businessready >>> businessready.NXOS_learn_all("hostname","username","password","IP / DNS Address")
Show All - You can run all NXOS-XE Show functions to fully parse a device with one command
>>> import businessready >>> businessready.NXOS_show_all("hostname","username","password","IP / DNS Address")
Individual Learn / Show Functions - You can run individual learn or show commands as well if you are looking for something specific
>>> import businessready >>> businessready.NXOS_learn_{{ function }}("hostname","username","password","IP / DNS Address")>>> businessready.NXOS_show_{{ show command }}("hostname","username","password","IP / DNS Address")
Cisco Digital Network Architecture Center (DNAC)
Connecting - Business Ready functions that extend DNAC REST APIs require 3 parameters
DNAC URL
username
password
IP / DNS Address
All - You can run all DNAC REST API functions to fully document a device with one command