Skip to content

Tes3awy/Cisco-Configuration-Using-Python-Jinja-CSV

Repository files navigation

published Tested on Python 3.11.1 Contributions Welcome License Code style: black

Generate Cisco Configuration Template Using Python3, Jinja2, and CSV with Validation

This program is designed to generate a configuration template for Cisco Catalyst/Nexus switches.

Table of Contents

  1. Requirements
  2. Getting Started
  3. Installation
  4. Usage
  5. Preview
  6. Helpful Tips
  7. TODOs

Requirements

  1. Python @3.11.1
  2. Jinja2 @3.1.2

Getting Started

│   cisco_config_generator.py
│   cisco_validation.py
│   switch.j2
│   requirements.txt
│   README.md
│   .gitignore
│   LICENSE
│
├───assets
│       preview.png
│
├───configs
│       .gitkeep
│
└───CSV
        01_params.csv
        02_vlans.csv
        03_etherchannels.csv
        04_port_mapping.csv

Installation

$ git clone https://github.com/Tes3awy/Cisco-Configuration-Using-Python-Jinja-CSV.git
$ cd Cisco-Configuration-Using-Python-Jinja-CSV
$ python -m venv .venv --upgrade-deps
# Activate Virtual Environment
$ pip install -r requirements.txt

Usage

  1. Open each .csv file respectively and add the configurations that meet your needs. (The CSV files are populated with a sample configuration already)
  2. Open terminal/cmd.
  3. Run python cisco_config_generator.py.

First, a json_schema.json file is created (if not created already) from your configuration in CSV files. Then, json_schema.json is validated against a set of rules in validate_config.py.

Voila ✨! Your configuration will be created an placed in configs directory.

Preview

Preview

Helpful Tips

  1. DO NOT copy/paste the whole configuration all at once to your device. Divide the configuration template into multiple sections.
  2. Always save your configuration with the copy running-config startup-config command. See Why

TODOs

  • Validate input fields in CSV files.

About

Cisco Configuration Generator Template Using Python3, Jinja2, and CSV with Validation

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published