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.27.tar.gz (113.5 kB view details)

Uploaded Source

Built Distribution

pyYAHTS-1.0.27-py3-none-any.whl (115.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyYAHTS-1.0.27.tar.gz
  • Upload date:
  • Size: 113.5 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.27.tar.gz
Algorithm Hash digest
SHA256 c46cb7f6d1f8bb18bf1cf16f225a37afeef5189a2d6c42b3bff3463bd106d414
MD5 102b31bf436f7198179a1b95d10ddfc4
BLAKE2b-256 8fa30961be6796ca8bf19b9904a217df3ffe25280a3c68c9ec8bd4eceea2f608

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyYAHTS-1.0.27-py3-none-any.whl
  • Upload date:
  • Size: 115.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.27-py3-none-any.whl
Algorithm Hash digest
SHA256 73d07925048b4c6088e7af5f4eabad717803393ad0e771dae7551c7f87968d8e
MD5 57005ab1dffe7df05b9a532bbf7f807e
BLAKE2b-256 72c5bc4e8f276af6d0c90af513219409ea07859a9ded08ad27d7f417a2aa6351

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