Building a New IPAM System using Netbox and Batfish

Our requirements

VLAN group (if attached to a VLAN)
VLAN (if attached to a VLAN)
Description (optional if it isn’t in CID or the config required moving forward)
Status (Active, Reserved, Container, Deprecated)
Role (matching the vlan group role)
Netbox Prefix View
Netbox Prefix View Mockup

Populating Netbox using Batfish

class prefix:
def __init__(self, network_object):
self.network_object = network_object
self.in_CID = False
self.in_route_table = False
self.in_batfish = False
self.batfish_devices = list()
self.description = None
self.vrf = None
self.role = None #Dev : 2, Prod : 1 , Management : 3
self.interfaces_batfish = list()
self.status = None #Active, Container, Reserved, Deprecated
self.owners_in_CID = [
self.vlan_group = None
self.vlan = None
self.in_netbox = False
self.site_id = None
self.vlan_id = None
“network_object”: “”,
“in_CID”: true,
“in_route_table”: false,
“in_batfish”: true,
“batfish_devices”: [
“description”: “student_labs”,
“vrf”: “GREEN”,
“role”: null,
“interfaces_batfish”: [
“status”: null,
“owners_in_CID”: [
“Juan Miller”,
“Desiree Martinez”
“vlan_group”: null,
“vlan”: “100”,
“in_netbox”: false,
“site_id”: 14470,
“vlan_id”: 31159

Looking ahead: Automatic, continuous validation




Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

ELI5: Data Structures in Computer Engineering

How to Plan Your Learning — The Guide for Programmers

Man pointing toward a checklist

Intro To Timeline In Unity

JOJO Bounty System

Delayed_job not executing in production

Adobe Acrobat 7 Installer

Impact of 5G network design on energy efficiency

Loops in swift

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Joel McGuire

Joel McGuire

More from Medium

Using Github Actions, Python and Telegram to Get Ribeye Specials

Encrypted pandas DataFrames for secure storage and sharing in Python


Solved — pytube.exceptions.RegexMatchError: __init__: could not find match for ^\w+\W