Gen Cisco Save Abandoned

? Generates Cisco scripts based on YAML files

Project README

Cisco Logo gen-cisco

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.


It's as simple as that:

pip install gen-cisco


Usage: [OPTIONS]

  Generates Cisco scripts based on YAML files

    python -i examples/router.yml
    python -i examples/router.yml -o r1.txt
    python -i examples/router.yml -o r1.txt -v
    python -i examples/router.yml -o r1.txt --no-comments -v
    python -i examples/router.yml -o r1.txt --no-comments --no-headers -v
    python -i examples/router.yml -o r1.txt --no-override

  -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 [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 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
 ssh                 ➔ cryptographic network protocol for operating network services securely
 stp                 ➔ network protocol that builds a loop-free logical topology for Ethernet networks
 vtp                 ➔ protocol that propagates the definition of VLAN on the whole local area network

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


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.


Code is under the MIT License.

Open Source Agenda is not affiliated with "Gen Cisco" Project. README Source: rememberYou/gen-cisco

Open Source Agenda Badge

Open Source Agenda Rating