infoblox.nios_modules.nios_lookup – Query Infoblox NIOS objects

Note

This plugin is part of the infoblox.nios_modules collection (version 1.2.1).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install infoblox.nios_modules.

To use it in a playbook, specify: infoblox.nios_modules.nios_lookup.

New in version 1.0.0: of infoblox.nios_modules

Synopsis

  • Uses the Infoblox WAPI API to fetch NIOS specified objects. This lookup supports adding additional keywords to filter the return data and specify the desired set of returned fields.

Requirements

The below requirements are needed on the local controller node that executes this lookup.

  • infoblox-client

Parameters

Parameter Choices/Defaults Configuration Comments
_terms
string / required
The name of the network object to be returned from the Infoblox appliance.
extattrs
dictionary
A dict object that is used to filter based on extensible attributes.
filter
dictionary
A dict object that is used to filter the returned objects.
return_fields
list / elements=string
The list of field names to return for the specified object.

Examples

- name: fetch all networkview objects
  ansible.builtin.set_fact:
    networkviews: "{{ lookup('infoblox.nios_modules.nios_lookup', 'networkview', provider={'host': 'nios01', 'username': 'admin', 'password': 'password'}) }}"

- name: fetch the default dns view
  ansible.builtin.set_fact:
    dns_views: "{{ lookup('infoblox.nios_modules.nios_lookup', 'view', filter={'name': 'default'},
                   provider={'host': 'nios01', 'username': 'admin', 'password': 'password'}) }}"

# all of the examples below use credentials that are  set using env variables
# export INFOBLOX_HOST=nios01
# export INFOBLOX_USERNAME=admin
# export INFOBLOX_PASSWORD=admin

- name: fetch all host records and include extended attributes
  ansible.builtin.set_fact:
    host_records: "{{ lookup('infoblox.nios_modules.nios_lookup', 'record:host', return_fields=['extattrs', 'name', 'view', 'comment']}) }}"


- name: use env variables to pass credentials
  ansible.builtin.set_fact:
    networkviews: "{{ lookup('infoblox.nios_modules.nios_lookup', 'networkview') }}"

- name: get a host record
  ansible.builtin.set_fact:
    host: "{{ lookup('infoblox.nios_modules.nios_lookup', 'record:host', filter={'name': 'hostname.ansible.com'}) }}"

- name: get the authoritative zone from a non default dns view
  ansible.builtin.set_fact:
    host: "{{ lookup('infoblox.nios_modules.nios_lookup', 'zone_auth', filter={'fqdn': 'ansible.com', 'view': 'ansible-dns'}) }}"

Return Values

Common return values are documented here, the following are the fields unique to this lookup:

Key Returned Description
obj_type
complex
always
The object type specified in the terms argument

 
obj_field
string
success
One or more obj_type fields as specified by return_fields argument or the default set of fields as per the object type