Package: pyinfoblox
pyinfoblox - Infoblox WAPI module for Pythonpyinfoblox is a Python module for interfacing with the Infoblox WAPI.For more information about the Infoblox WAPI, please refer to theInfoblox WAPI documentation.pyinfoblox is Open Source and licensed under theBSD License.RequirementsPython 2.7.x or 3.xrequestsContributionspyinfoblox is hosted onGithub. Please contribute
by reporting issues, suggesting features or by sending patches
using pull requests.InstallationThe easiest way to install pyinfoblox is by usingpip:$pipinstallpyinfobloxIn order to install the latest version of pyinfoblox from the
Github repository simply execute these commands instead:$gitclonehttps://github.com/dnaeon/pyinfoblox.git$cdpyinfoblox$pythonsetup.pyinstallExamplesThe first thing we do when usingpyinfobloxis to instantiate a
newInfobloxWAPIobject.>>>from__future__importprint_function>>>frompyinfobloximportInfobloxWAPI>>>infoblox=InfobloxWAPI(...username='admin',...password='p4ssw0rd',...wapi='https://localhost/wapi/v1.1/'...)Getting Infoblox networks is as easy as doing:>>>networks=infoblox.network.get()>>>print(networks)Getting a specific network in Infoblox is easy too:>>>network=infoblox.network.get(network='192.168.1.0/24')>>>print(network)Another example that will get all Infobloxipv4addressobjects.>>>ipv4address=infoblox.ipv4address.get()>>>print(ipv4address)Here is how to create a new Infoblox network:>>>objref=infoblox.network.create(...network='192.168.1.0/24',...comment='This is my test network'...)>>>print(objref)u'network/ZG5zLm5ldHdvcmskMTkyLjE2OC4xLjAvMjQvMA:192.168.1.0/24/default'Creating new objects returns a reference to the newly created
object in Infoblox.We can also update objects. When we update objects in Infoblox we
need to pass the object reference as well. This is how we can
update thenetworkwe created in the previous example>>>infoblox.network.update(...objref='network/ZG5zLm5ldHdvcmskMTkyLjE2OC4xLjAvMjQvMA:192.168.1.0/24/default',...comment='This is my updated network'...)u'network/ZG5zLm5ldHdvcmskMTkyLjE2OC4xLjAvMjQvMA:192.168.1.0/24/default'>>>network=infoblox.network.get(network='192.168.1.0/24')>>>print(network[0]['comment'])ThisismyupdatednetworkWhen we no longer need an Infoblox object we can always remove it.
Just make sure to pass the object reference when deleting objects.>>>infoblox.network.delete(...objref='network/ZG5zLm5ldHdvcmskMTkyLjE2OC4xLjAvMjQvMA:192.168.1.0/24/default'...)u'network/ZG5zLm5ldHdvcmskMTkyLjE2OC4xLjAvMjQvMA:192.168.1.0/24/default'As a last example we will see how to call functions on
Infoblox objects.Here is how to call thenext_available_ipfunction on anetworkobject in order to get the next 3 available IP addresses:>>>infoblox.network.function(...objref='network/ZG5zLm5ldHdvcmskMTkyLjE2OC4xLjAvMjQvMA:192.168.1.0/24/default',..._function='next_available_ip',...num=3...){u'ips':[u'192.168.1.21',u'192.168.1.22',u'192.168.1.23']}This example below calls therestartservicesfunction on agridobject:>>>from__future__importprint_function>>>frompyinfobloximportInfobloxWAPI>>>infoblox=InfobloxWAPI(...username='admin',...password='p4ssw0rd',...wapi='https://localhost/wapi/v1.1/'...)>>>grids=infoblox.grid.get()>>>print(grids)[{'_ref':'grid/b25lLmNsdXN0ZXIkMA:com'}]>>>grid=grids[0]['_ref']>>>infoblox.grid.function(...objref=grid,..._function='restartservices',...member_order='SEQUENTIALLY',...restart_option='RESTART_IF_NEEDED',...sequential_delay=10,...service_option='ALL'...)