All Projects โ†’ rememberYou โ†’ gen-cisco

rememberYou / gen-cisco

Licence: MIT license
๐Ÿงจ Generates Cisco scripts based on YAML files

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to gen-cisco

freeRouter
freeRouter - networking swiss army knife
Stars: โœญ 26 (-10.34%)
Mutual labels:  rip, ospf, eigrp
fastcli
CLI tool powered by Nornir 3.0 for network automation fast configuration. Support BGP, OSPF, EIGRP, RIP auto-configuration.
Stars: โœญ 38 (+31.03%)
Mutual labels:  rip, ospf, eigrp
Frr
The FRRouting Protocol Suite
Stars: โœญ 2,009 (+6827.59%)
Mutual labels:  rip, ospf, eigrp
smacha
SMACHA is a meta-scripting, templating, and code generation engine for rapid prototyping of ROS SMACH state machines.
Stars: โœญ 15 (-48.28%)
Mutual labels:  yaml, jinja2
cisco-cheatsheet
A Cisco Cheatsheet: Commands and Snippets for bootstrapping, boilerplate, configuration, and hardening of Cisco routers and switches.
Stars: โœญ 66 (+127.59%)
Mutual labels:  cisco, scripts
PacketTracer-AppImage
AppImage for Cisco Packet Tracer
Stars: โœญ 70 (+141.38%)
Mutual labels:  cisco, packet-tracer
Jinja2 Cli
CLI for Jinja2
Stars: โœญ 302 (+941.38%)
Mutual labels:  yaml, jinja2
coAST
Universal and language-independent abstract syntax tree
Stars: โœญ 30 (+3.45%)
Mutual labels:  yaml, jinja2
Grow
A declarative website generator designed for high-quality websites, with a focus on easy maintenance and localization.
Stars: โœญ 360 (+1141.38%)
Mutual labels:  yaml, jinja2
Kapitan
Generic templated configuration management for Kubernetes, Terraform and other things
Stars: โœญ 1,383 (+4668.97%)
Mutual labels:  yaml, jinja2
Python Training For Network Engineers
Python hands-on training for network engineers. How to automate Junos with Python
Stars: โœญ 92 (+217.24%)
Mutual labels:  yaml, jinja2
Zenbu
๐Ÿฎ A Jinja2 + YAML based config templater.
Stars: โœญ 114 (+293.1%)
Mutual labels:  yaml, jinja2
http-connection-lifecycle
Complete and detailed explanation of HTTP connection lifecycle
Stars: โœญ 43 (+48.28%)
Mutual labels:  nat, switch
Edizon cheatsconfigsandscripts
The official EdiZon Editor Config and Editor Script repository.
Stars: โœญ 271 (+834.48%)
Mutual labels:  scripts, switch
Prinder
Free Pull Request reminder for Github. Has configurations to post reminders to Slack and email along with jinja templating
Stars: โœญ 21 (-27.59%)
Mutual labels:  yaml, jinja2
logya
Logya is a static site generator written in Python designed to be easy to use and flexible.
Stars: โœญ 16 (-44.83%)
Mutual labels:  yaml, jinja2
Home Assistant Config
My Home Assistant Configuration ๐Ÿก๐Ÿก
Stars: โœญ 133 (+358.62%)
Mutual labels:  yaml, jinja2
Pynms
A vendor-agnostic NMS for carrier-grade network simulation and automation
Stars: โœญ 73 (+151.72%)
Mutual labels:  yaml, jinja2
Napalm Salt
Modules for event-driven network automation and orchestration using Salt
Stars: โœญ 116 (+300%)
Mutual labels:  yaml, jinja2
topolograph
Topolograph.com is an online project which can visualize OSPF/ISIS topology based on single OSPF LinkState DataBase scrapping from one network device ( thanks OSPF =). Then you can not only see (and check) the shortest path from source to destination, but also see the outcome from link or node failure along the path to the destination. The existโ€ฆ
Stars: โœญ 84 (+189.66%)
Mutual labels:  cisco, ospf

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.


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 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.


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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].