/nornir_netbox

NetBox plugin for Nornir

Primary LanguagePythonApache License 2.0Apache-2.0

Python 3.6 Python 3.7 Python 3.8 Code Style

nornir_netbox

NetBox plugin for Nornir

The NetBox plugin exposes 2 inventory classes for usage.

  • NBInventory is deprecated and should not be used anymore, it is still available for backwards compatibility only
  • NetBoxInventory2 is the recommended NetBox inventory plugin. It provides some extra functionality such as exposing all NetBox device attributes to the Nonir Host through the data attribute. It is the recommended plugin to use. All feature development will only take place on this plugin.

Install

The recommended way to install nornir_netbox is via pip or poetry.

pip install nornir-netbox
poetry add nornir-netbox

Example usage

Using the Nornir configuration file

---
inventory:
  plugin: NBInventory
  options:
    nb_url: "https://netbox.local"
    nb_token: "123_NETBOX_API_TOKEN_456"
---
inventory:
  plugin: NetBoxInventory2
  options:
    nb_url: "https://netbox.local"
    nb_token: "123_NETBOX_API_TOKEN_456"

Using the InitNornir function

from nornir import InitNornir

nr = InitNornir(
    inventory={
        "plugin":"NBInventory",
        "options": {
            "nb_url": "https://netbox.local",
            "nb_token": "123_NETBOX_API_TOKEN_456"
        }
    }
)
from nornir import InitNornir

nr = InitNornir(
    inventory={
        "plugin":"NetBoxInventory2",
        "options": {
            "nb_url": "https://netbox.local",
            "nb_token": "123_NETBOX_API_TOKEN_456"
        }
    }
)

Useful Links