Skip to main content

Generates Cisco scripts based on YAML files

Project description

License Version

gen-cisco is an API and CLI to facilitate the creation of your Cisco scripts using a YAML file. This file groups a section for each protocol including the values to be replaced in the appropriate Cisco template.

The creation of these templates has been done during the various CCNA training courses offered by Cisco, using Packet Tracer, a network simulation and visualization tool. Therefore, some commands may need to be modified on real hardware.


Installation

It’s as simple as that:

pip install gen-cisco

Usage

Usage: gen-cisco.py [OPTIONS]

  Generates Cisco scripts based on YAML files

  Examples:
    python gen-cisco.py -i examples/router.yml
    python gen-cisco.py -i examples/router.yml -o r1.txt
    python gen-cisco.py -i examples/router.yml -o r1.txt -v
    python gen-cisco.py -i examples/router.yml -o r1.txt --no-comments -v
    python gen-cisco.py -i examples/router.yml -o r1.txt --no-comments --no-headers -v
    python gen-cisco.py -i examples/router.yml -o r1.txt --no-override

Options:
  -i, --src FILENAME          The YAML file.
  -o, --dest TEXT             The name of the generated script file.
  --override / --no-override  Deletes the old file if it is overwritten.
  --comments / --no-comments  Deletes comments in the generated script.
  --headers / --no-headers    Deletes headers in the generated script.
  -v, --verbose               Outputs the final script to the console.
  --version                   Show the version and exit.
  --help                      Show this message and exit.

Alternatively you can run this tool using Docker:

# Build the image
docker build -t gen-cisco .

# Run the image
docker run -v $(pwd):/app gen-cisco python gen-cisco.py [OPTIONS]

Supported Features

Here is a list of features configurable by the scripts:

basic               ➔ basic configuration for routers and switches
eigrp               ➔ advanced distance-vector routing protocol
etherchannel        ➔ port link aggregation technology or port-channel architecture used primarily on Cisco switches
hsrp                ➔ Cisco redundancy protocol for establishing a fault-tolerant default gateway
nat                 ➔ method of remapping one IP address space into another
ospf                ➔ routing protocol for Internet Protocol networks
rip                 ➔ one of the oldest distance-vector routing protocols
stp                 ➔ network protocol that builds a loop-free logical topology for Ethernet networks
ssh                 ➔ cryptographic network protocol for operating network services securely over an unsecured network

For a complete list sorted by device, please visit the wiki.


Contributions

Adding a new protocol to script as well as supporting a new device is easy. To do that, first take a look at the CONTRIBUTING file. Also, feel free to submit your bugs and suggestions by opening an issue in the issue tracker, it would help us a lot.


License

Code is under the MIT License.

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

gen-cisco-1.2.9.tar.gz (5.7 kB view details)

Uploaded Source

File details

Details for the file gen-cisco-1.2.9.tar.gz.

File metadata

  • Download URL: gen-cisco-1.2.9.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for gen-cisco-1.2.9.tar.gz
Algorithm Hash digest
SHA256 b35bb327874a41b7f0b404b91a2b15c802aca172c599174e89c4138ceb08c0ed
MD5 d0af78331bf92ec6b824623dafac8fb9
BLAKE2b-256 49ecc9ff4ab0ebc8a0f5ff0ebe8c279adc8ffdab637635b37bae59348d559463

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