Skip to main content

An implementation of Cisco pyATS

Project description

pyYAHTS

An interpretation of pyATS

pyYAHTS is a dyanmic, on-demand, YAML-free / testbed.yaml free, implementation of pyATS.

It works with any IOS / IOS-XE / IOS-XR / NXOS device!

The results are Rich JSON printed to the screen

Requirements

pyYAHTS is an extension of pyATS, which is required, and only runs on Linux operating systems

Installation

  1. pip install pyYAHTS

Getting Started

pyYAHTS works on any Cisco OS IOS / IOS-XE / IOS-XR / NXOS

pyYAHTS requires the follow options be speficied at runtime:

  1. (Required) Hostname of the device - must exactly match the configured hostname

  2. (Required) Operating System - Either ios, iosxe, iosxr, or nxos

  3. (Required) Username

  4. (Required) Password

  5. (Required) Command - Either a pyATS Learn Function, such as ospf, or any supported pyATS Parsed CLI Show Command, such as "show ip interface brief"

  6. (Optional) Filetype - Creates an output file -

    Supported filetpyes: JSON, YAML, HTML, Datatable HTML, Markdown, PDF, CSV

  7. (Optional) Email - 3 required fields if you want to e-mail the output with GMail

    --from_email - Your GMail Address

    --email_password - Your Gmail Password

    --to_email - The recipients Email

Help

For a list of supported Learn Functions please visit Available Learn Functions

Available Learn Functions

For a list of supported Parsers please visit Available Show Command Parsers

Available Show Parsers

A sample of "Show IP Interface" Parsers for IOS-XE IOS-XE Show IP Interface Sample

Using pyYAHTS

In any virtual environment with pyATS installed pyYAHTS can be executed several ways

  1. Prompted Inputs
(virtualenv)$ pyYAHTS
Hostname: dist-sw01
OS (ios, iosxe, iosxr, nxos): nxos
Username: cisco
Password:
Command: ospf
  1. Directly supplying options
(virtualenv)$ pyYAHTS --hostname dist-sw01 --os nxos --username cisco --password cisco --command ospf
  1. Mixing supplied options and prompted responses
(virtualenv)$ pyYAHTS --hostname dist-sw01 --os nxos --username cisco --password cisco
Command: ospf

Creating Output files

If you include the optional --filetype flag you can create JSON and YAML files from the data

pyYAHTS --hostname dist-sw01 --os nxos --username cisco --password cisco --command ospf --filetype json
pyYAHTS --hostname dist-sw01 --os nxos --username cisco --password cisco --command ospf --filetype yaml
pyYAHTS --hostname dist-sw01 --os nxos --username cisco --password cisco --command ospf --filetype html
pyYAHTS --hostname dist-sw01 --os nxos --username cisco --password cisco --command ospf --filetype datatable
pyYAHTS --hostname dist-sw01 --os nxos --username cisco --password cisco --command ospf --filetype markdown
pyYAHTS --hostname dist-sw01 --os nxos --username cisco --password cisco --command ospf --filetype pdf
pyYAHTS --hostname dist-sw01 --os nxos --username cisco --password cisco --command ospf --filetype csv

E-Mail Network State

If you include the optional E-Mail flags you can send the network state data using GMail

You will have to enable IMAP permissions on your GMail Account Enable IMAP in GMail

You may also have to enable support for Less Secure Apps

The three required flags to send an email are:

--from_email - Your GMail Address

--email_password - Your Gmail Password

--to_email - The recipients Email

Additonally if you specify a filetype (--filetype) the output file will be automatically attached to the email

Help

pyYAHTS includes a handy Rich Click Help! Simple type:

$ pyYAHTS --help

More Help

Contact

Please reach out on Twitter Twitter or open an issue if you hit any snags or have any questions!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyYAHTS-1.0.43.tar.gz (174.1 kB view details)

Uploaded Source

Built Distribution

pyYAHTS-1.0.43-py3-none-any.whl (183.8 kB view details)

Uploaded Python 3

File details

Details for the file pyYAHTS-1.0.43.tar.gz.

File metadata

  • Download URL: pyYAHTS-1.0.43.tar.gz
  • Upload date:
  • Size: 174.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.10.3 Linux/5.4.72-microsoft-standard-WSL2

File hashes

Hashes for pyYAHTS-1.0.43.tar.gz
Algorithm Hash digest
SHA256 e6dcf52cfb708d88049ae154d6887462fdfb53a9a8f3a2a931f6a21ea150a03c
MD5 458c00df2875ab3afaf34e81d74d48b2
BLAKE2b-256 7e5d91568125966e4c2210594bfa2c84721808bd5d6f84f6c180dfbc57afeb7e

See more details on using hashes here.

File details

Details for the file pyYAHTS-1.0.43-py3-none-any.whl.

File metadata

  • Download URL: pyYAHTS-1.0.43-py3-none-any.whl
  • Upload date:
  • Size: 183.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.10.3 Linux/5.4.72-microsoft-standard-WSL2

File hashes

Hashes for pyYAHTS-1.0.43-py3-none-any.whl
Algorithm Hash digest
SHA256 c35c697ad799bad81ca18eba2b0bbcd61cf9dc91af80cc6a72183c85c9421d4a
MD5 38a42febfea8520d0a410e8ab63259ef
BLAKE2b-256 86b0f79b0cd6c02bac93fec769518fbf430602ebf5e0258df06029464ac8234c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page