/python-netbox-onboarding

Python script which allow creating Netbox content based on pre-prepare YAML file and netbox API.

Primary LanguagePython

About

Script which build automatically all elements in Netbox using API request and Python language
Tested with:

  • Netbox v2.9.2
  • Python 3.6.8

HowTo

  • check diagram folder for topology example
  • check 'config/variables.yaml' file to set what you need

Run

  • edit variables (you can add additional parameters from API syntax)
  • run:
bash# cd /opt/python-netbox-onboarding
bash# python3 configure_netbox.py -h
usage: configure_netbox.py [-h] [-c CONFIG]

optional arguments:
  -h, --help            show this help message and exit
  -c CONFIG, --config CONFIG
                        YAML File with configuration (default='config/variables.yaml')

YAML Config example: https://github.com/azdolinski/python-netbox-onboarding/blob/master/config/variables.yaml

Examples screenshots

Example1 Example2 Example3 Example4

Config-Device-Types

Include predefined device types (like: Juniper, Cisco, Arista etc.) from official repo: netbox-community/devicetype-library
To sync this project with netbox-comunity devicetype-library:

yum install -y unzip
cd /opt/python-netbox-onboarding/config/devicetypes
wget https://github.com/netbox-community/devicetype-library/archive/master.zip -O /tmp/master.zip
unzip  /tmp/master.zip -d /tmp/
cp -R /tmp/devicetype-library-master/device-types/* /opt/python-netbox-onboarding/config/devicetypes