Skip to content

infobloxopen/infoblox-netmri

Repository files navigation

Infoblox NetMRI Client

https://codecov.io/github/infobloxopen/infoblox-netmri/coverage.svg?branch=master

A simple client for the Infoblox NetMRI RESTful API.

Features

  • Enables execution of RESTful API calls on the NetMRI via Python.
  • HTTP and HTTPS

Installation

Install infoblox-netmri using pip:

pip install infoblox-netmri

Usage

It's simple to use. Just create an InfobloxNetMRI object and then call the api_request method. Almost every API request will return a dictionary. It will contain the outputs documented in the online API documentation.

from infoblox_netmri.client import InfobloxNetMRI

c = InfobloxNetMRI(host="netmri",
                   username="admin",
                   password="password")

devices = c.api_request('devices/index', {'limit': 10})

Now, devices contains a dictionary of the API call outputs. In this case, it contains the standard keys returned by "list" style methods (index, search, find - see the docs): current, start, limit, and the plural form of the model, devices. This last is an array of dictionaries with the device details, while the others describe the "paging" information of the result. So, we really want to loop through devices['devices']:

FORMAT='{:30} {:16} {}'
print(FORMAT.format('Device Name', 'IP Address', 'Vendor'))
for d in devices['devices']:
    print(FORMAT.format(d['DeviceName'], d['DeviceIPDotted'], d['DeviceVendor']))

NetMRI Documentation

To see documentation on the calls available, visit the page /api/docs on your NetMRI.

Please also see https://github.com/infobloxopen/netmri-toolkit and https://github.com/infobloxopen/infoblox-netmri/tree/master/examples/tutorial for examples.