
Set up Windows 11 with WSL, Ubuntu, and Docker Desktop to install and run NetBox Docker. Clone the NetBox Docker repository, pull images, start containers, and create an admin user.
Set up a macOS automation environment by installing Visual Studio Code and uv-environment-manager, cloning the course project, and testing Python and Ansible with a script using a .env token file.
Learn how NetBox Copilot works in the community edition as an AI assistant for natural language queries, generating playbooks and Python scripts, with enterprise features on the horizon.
Learn how to perform bulk deletion of NetBox objects via the NetBox API using Postman by passing a list of IDs and validating removals.
Configure an Ansible inventory to manage multiple NetBox instances (local, cloud, AWS) using URLs and tokens from .env, and create sites across all deployments via the NetBox module.
Use yaml anchors and aliases in Ansible to share variables across NetBox api tasks, reducing repetition and merging values into json outputs for sites, locations, and site groups.
Create NetBox sites from a CSV using Pynetbox in Python. Convert CSV rows into dictionaries and pass them to sites.create with name, slug, status, region, and group.
Learn to update and sync NetBox sites from a CSV using PyNetBox, handling existing sites with an idempotent-like approach that uses GET, POST, PATCH, and conditional create or update.
Understand the difference between filter and get in Pynetbox: filter returns multiple results as a record set, while get returns a single object. Apply fail-fast validation to catch inconsistencies.
Create a complete NetBox organizational hierarchy with a single Python script using PyNetbox, reading CSV data from org root to build tenant groups, regions, sites, locations, and contact assignments.
Orchestrate end-to-end rack provisioning with a single Ansible playbook, combining manufacturer, role, rack type, and rack creation via NetBox API while demonstrating idempotency and script execution.
Programmatically download NetBox device types and module types from the community GitHub using an Ansible playbook, with Arista and Cisco examples.
Master the ultimate Network Source of Truth and Automation Orchestrator.
This course is meticulously designed for professionals across the entire infrastructure spectrum, ranging from traditional networking roles to modern automated operations:
Network Engineers & Administrators: (Junior, Senior, and Principal levels) looking to replace manual spreadsheets with a professional Source of Truth.
Network Architects & Design Engineers: Professionals responsible for infrastructure planning, IPAM strategy, and high-level physical/logical modeling.
NetDevOps & Automation Engineers: Anyone specializing in Ansible, Python, or Infrastructure as Code (IaC) to drive network consistency.
Data Center & Infrastructure Engineers: Teams managing large-scale physical assets, rack layouts, and complex cable modeling.
Implementation & Support Engineers: Professionals who need to ensure accurate, data-driven deployment and troubleshooting.
Site Reliability Engineers (SRE) & Cloud Architects: Those bridging the gap between traditional networking and automated cloud/hybrid infrastructure.
Software & Python Developers: Programmers who are building internal tools, portals, or integrations that interact with network inventory systems.
Automation Enthusiasts: Anyone eager to master the industry-standard tool for Network Source of Truth and modern orchestration.
Certified Professionals: An essential skill-up for those holding CCNA, CCNP, CCIE, CCDE, or DevNet certifications who want to apply their knowledge programmatically to NetBox
Environment & Tools:
Platforms: Windows (Docker/WSL), MacOS, and AWS EC2 deployment.
IDE: VS Code with Python UV for modern environment management.
Automation: Ansible (latest collections), Python (Requests & PyNetBox), and NetBox API v2.
Hands-On: Access to NetBox Labs Cloud and local Docker-compose setups.
Comprehensive Syllabus & Topics Covered
Introduction
What is Netbox
NetBox Design Philosophy
How NetBox Started
NetBox Release Strategy
NetBox Installation Options
Windows Docker Installation
Windows VS Code and Automation Environment Setup
MacOS Docker Desktop NetBox Installation
MacOS VS Code and Automation Environment Setup
AWS EC2 NetBox Docker Installation
NetBox Labs Cloud Instance Access
How to access NetBox Public Demo instance
NetBox architecture Explained
Build Your First Inventory
Add your first inventory to NetBox
Add your first inventory to NetBox
Add device with minimal data
Add sites, device type, manufacturer, role etc
Explanation About NetBox Data relationships
Importance of understanding NetBox data relationships
Strategic Planning and Design
How to import data using CSV
Add Organizational data using csv
Tenant groups, tenant, regions, sites, locations using csv
Import device data using csv
NetBox Co-pilot and Branching
NetBox Co-pilot feature Explained
Enable copilot in Community Edition
NetBox Branching Feature
Git-style Branching for NetBox
NetBox REST API
NetBox REST API Explained
REST API using Postman
NetBox Token V1 vs V2
Get Netbox API OPTION
POST, PUT and PATCH Example
NetBox Bulk create using API
NetBox Bulk Delete using API
NetBox API Object Brief
Handle Pagination in NetBox API
Ansible & Python For NetBox Automation
Ansible inventory file setup for Automation
Add NetBox v1 and v2 token in to netBox
Add Netbox url and host details
NetBox API automation using Python Request module
Create Sites from CSV, YAML and Json - Ansible Example
Sites Delete -Ansible Example
Bulk Delete using Object ID - Ansible
Handle Pagination - Solving Pagination Puzzle
NetBox Query Filter Ansible Example
Ansible Anchors & Alias for NetBox Credentials
PyNetBox - Official Python Library for NetBox Automation
PyNetBox Introduction - For Netbox automation
Create Data From CSV using Pynetbox
Update & sync site using PyNetBox
Custom Idempotency using PyNetBox
PyNetBox Filtering Example
Get Object Count using Pynetbox
Get vs Filter in PyNetBox
Full Organizational Data reset using Python script
Setup the Organizational Data
Create Tenant Groups & Regions
Create Tenants, Sites & Locations
Create Contacts
Contact Assignment to Objects
Organizational Hierarchy with Single Playbook
Organizational Hierarchy with Single Python Script
Rack Modeling in NetBox
Rack Creation via CSV import
Import Rack Manufacturers & Rack Roles
Add Rack Types using Ansible URI
Creating Racks at Scale using Ansible URI
Idempotency in Rack creation
End to End Rack Orchestration using Single Playbook
End to End Rack Orchestration using Single Python Script
Device Inventory & Data Modeling in NetBox
Manual device Onboarding and CSV Import
Provisioning Device Roles and Manufacturers using Ansible
Programmatic Device types retrieval - Ansible
Programmatic Device types retrieval - Python
Custom Device type importer
Create Device Platforms via Ansible
Add Device using Ansible
End to End Device provisioning with Python
Device Assignment Strategy Explained
Modular Systems & Chassis Modeling
Assign Chassis Modules to Device Slots (Cisco Modular Device) - manual step
Assign Chassis Modules to Device Slots (Cisco Modular Device) -Ansible
Assign Chassis Modules to Device Slots (Cisco Modular Device) - Python
Config Context & Config Templates
Create Config Context and Config Context Profiles
Demo of rendered Context
JSON Schema using Context profiles
What is Context Weight
Render device configuration using Config Templates
NetBox as a Dynamic Ansible Inventory & Source of Truth
NetBox Inventory Plugin
Query Filter and Device Query Filter
Ansible Inventory for Gathering Device Facts
Import POC Lab Device Roles, Platforms and Sites
Discover devices to Netbox using Ansible
Assign Primary IP to devices using Ansible
Provision Config Context and Config Templates -Ansible
Assign Config templates to the devices
Deploy rendered Config to the Device using Ansible
NetBox Dynamic Inventory for Ansible
Cleanup the POC Lab data
Cabling, Power & Circuits Modeling in NetBox
Connect Interface Cables to the Devices - Manual
Connect Interface Cables to the Devices - Ansible
Add Power Panels and Power Feeds
Add Power Distribution Unit(PDU) Device Types
Create PDU Devices
Create Power Cables
Create Circuits, Providers and Terminations
Create Circuits, Providers and Terminations - Python
Connect Circuit Terminations to Site Devices
VLAN & IPAM
Create VLANs and IP Prefixes - Manual
Automating VLANs and IP Prefixes Creation - Ansible
Create VLAN SVI Interfaces in Devices
Assign VLANs to Device Interfaces
Auto assign Management IPs to Devices
VPN & Wireless
NetBox VPN Modeling - Create Tunnel Interfaces and IPs for VPN
Create IPSec Profile - Manual
Create IPSec Profile - Automation
Create DMVPN Tunnel Terminations
Create Wireless Groups & WLANs
Virtualization & Server Modeling
Virtual Machine Modeling - Import Server Device Types
Virtual Machine Modeling - Create Server Devices
Connect Server Cables to the Switch
Create Port-Channel Interfaces in the Switch for Servers
Create Server Clusters
Create Virtual Machines
Assign IP Addresses to the VMs
Customization Options in NetBox
Create NetBox Custom fields - Manual
Create NetBox Custom fields using Automation
Filter Devices with Custom Fields - Ansible Example
Create Custom Links - Manual & Ansible Examples
Create Export Templates
Download Export Template Rendered Data - Automation
Saved FIlters
Table Config
Tags
Image Attachments
NetBox Journal Entries
NetBox Webhook and Event Rule
Data Source Options - AWS S3, Git & Local
NetBox Data Sources - Setup Local Data Source
NetBox Data Sources - Setup AWS S3 Data Source
NetBox Data Sources - Setup GitHub Data Source
Custom Scripts in NetBox
Custom Scripts Intro and Bulk Device Creation Example
Bulk Device Delete using Custom Scripts
Bulk Device Update using Custom Scripts
Basic Compliance Check using Custom Scripts
Tag Assignment Example
NetBox Plugins: Installation & Configuration
Plugins Introduction and Installation Step Overview
Install NetBox BGP Plugin
Install Topology View Plugin
NetBox Diode Installation & Configuration
What is NetBox Diode and Setup Overview
Setup Diode Container
Setup Orb Agent and Discover the devices