Skip to main content

Client for interacting with Infoblox NIOS over WAPI

Project description

https://travis-ci.org/infobloxopen/infoblox-client.svg?branch=master https://img.shields.io/pypi/v/infoblox-client.svg https://codecov.io/github/infobloxopen/infoblox-client/coverage.svg?branch=master

Client for interacting with Infoblox NIOS over WAPI.

Installation

Install infoblox-client using pip:

pip install infoblox-client

Usage

  1. Low level API, using connector module.

Retrieve list of network views from NIOS:

from infoblox_client import connector

opts = {'host': '192.168.1.10', 'username': 'admin', 'password': 'admin'}
conn = connector.Connector(opts)
# get all network_views
network_views = conn.get_object('networkview')

For this request data is returned as list of dicts:

[{u'_ref': u'networkview/ZG5zLm5ldHdvcmtfdmlldyQw:default/true',
  u'is_default': True,
  u'name': u'default'}]
  1. High level API, using objects.

Example of creating Network View, Network, DNS View, DNSZone and HostRecord using NIOS objects:

from infoblox_client import connector
from infoblox_client import objects

opts = {'host': '192.168.1.10', 'username': 'admin', 'password': 'admin'}
conn = connector.Connector(opts)

nview = objects.NetworkView.create(conn, name='my_view')
network = objects.Network.create(conn, network_view='my_view', cidr='192.168.1.0/24')

view = objects.DNSView.create(conn, network_view='my_view', name='my_dns_view')
zone = objects.DNSZone.create(conn, view='my_dns_view', fqdn='my_zone.com')

my_ip = objects.IP.create(ip='192.168.1.25', mac='aa:bb:cc:11:22:33')
hr = objects.HostRecord.create(conn, view='my_dns_view',
                               name='my_host_record.my_zone.com', ip=my_ip)

Reply from NIOS is parsed back into objects and contains next data:

In [22]: hr
Out[22]: HostRecordV4: _ref=record:host/ZG5zLmhvc3QkLjQuY29tLm15X3pvbmUubXlfaG9zdF9yZWNvcmQ:my_host_record.my_zone.com/my_dns_view, name=my_host_record.my_zone.com, ipv4addrs=[<infoblox_client.objects.IPv4 object at 0x7f7d6b0fe9d0>], view=my_dns_view

Features

  • TODO

History

0.0.6 (2015-10-26)

  • Added initial support of Extensible Attributes as sub objects

  • Added search by Extensible Attributes

  • Improved validation in connector

  • Added delete_object_by_ref to object manager

0.0.5 (2015-10-12)

  • Fixed issues in working with objects

  • Added missed _get_object_type_from_ref

  • Added code coverage

  • Updated links to point to infobloxopen repository

0.0.4 (2015-09-23)

  • Added object abstraction for interacting with NIOS objects

  • Added object_manager to simplify some operations on objects

0.0.3 (2015-09-15)

  • Added dependencies to package.

0.0.2 (2015-09-11)

  • Fixed using dashes in package directory names that prevented package import after install.

0.0.1 (2015-09-11)

  • Added connector to send wapi requests to NIOS, does not includes NIOS object model at this point.

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

infoblox-client-0.0.6.tar.gz (29.3 kB view hashes)

Uploaded Source

Built Distribution

infoblox_client-0.0.6-py2.py3-none-any.whl (22.7 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page