Metadata-Version: 2.1
Name: infoblox-netmri
Version: 3.7.0.0
Summary: A simple client for the Infoblox NetMRI RESTful API.
Home-page: https://netmri_ip/api/dist
Author: Infoblox, Inc.
Author-email: narslanova@infoblox.com
License: Apache
Keywords: infoblox_netmri netmri infoblox network automation
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: requests (>=2.5.2)

Infoblox NetMRI Client
======================

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

.. image:: https://img.shields.io/travis/infobloxopen/infoblox-netmri.svg
        :target: https://travis-ci.org/infobloxopen/infoblox-netmri

.. image:: https://img.shields.io/pypi/v/infoblox-netmri.svg
        :target: https://pypi.python.org/pypi/infoblox-netmri


A simple client for the Infoblox NetMRI RESTful API.

* Free software: Apache license
* Homepage: https://github.com/infobloxopen/infoblox-netmri
* Documentation: https://infoblox-netmri.readthedocs.org

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.


