Inventory Plugins

Inventory Plugins help Nornir to retrieve hosts’ inventory data from various sources. Reference documentation for more information.

DictInventory plugin

DictInventory is an inventory plugin that loads data from Python dictionaries.

DictInventory sample usage

Need to instruct Nornir to use DictInventory plugin on instantiation:

import yaml
from nornir import InitNornir

inventory_data = '''
hosts:
  R1:
    hostname: 192.168.1.151
    platform: ios
    groups: [lab]
  R2:
    hostname: 192.168.1.153
    platform: ios
    groups: [lab]
  R3:
    hostname: 192.168.1.154
    platform: ios
    groups: [lab]

groups:
  lab:
    username: cisco
    password: cisco
'''

inventory_dict = yaml.safe_load(inventory_data)

NornirObj = InitNornir(
    inventory={
        "plugin": "DictInventory",
        "options": {
            "hosts": inventory_dict["hosts"],
            "groups": inventory_dict["groups"],
            "defaults": inventory_dict.get("defaults", {})
        }
    }
)

DictInventory reference

class nornir_salt.plugins.inventory.DictInventory.DictInventory(hosts: Optional[Dict] = None, groups: Optional[Dict] = None, defaults: Optional[Dict] = None)

DictInventory class to instantiate inventory plugin from.

Parameters
  • hosts – dictionary with hosts data

  • groups – dictionary with groups data

  • defaults – dictionary with defaults data