community.general.nios – Query Infoblox NIOS objects
Note
This plugin is part of the community.general collection (version 1.3.2).
To install it use: ansible-galaxy collection install community.general.
To use it in a playbook, specify: community.general.nios.
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 object to return from NIOS   |  |||
|   extattrs    string    |    a dict object that is used to filter on extattrs   |  |||
|   filter    string    |    a dict object that is used to filter the return objects   |  |||
|   provider    dictionary    |    A dict object containing connection details.   |  |||
|   host    string    |    Specifies the DNS host name or address for connecting to the remote instance of NIOS WAPI over REST  Value can also be specified using   INFOBLOX_HOST environment variable. |  |||
|   http_request_timeout    integer    |   Default: 10   |    The amount of time before to wait before receiving a response  Value can also be specified using   INFOBLOX_HTTP_REQUEST_TIMEOUT environment variable. |  ||
|   max_results    integer    |   Default: 1000   |    Specifies the maximum number of objects to be returned, if set to a negative number the appliance will return an error when the number of returned objects would exceed the setting.  Value can also be specified using   INFOBLOX_MAX_RESULTS environment variable. |  ||
|   max_retries    integer    |   Default: 3   |    Configures the number of attempted retries before the connection is declared usable  Value can also be specified using   INFOBLOX_MAX_RETRIES environment variable. |  ||
|   password    string    |    Specifies the password to use to authenticate the connection to the remote instance of NIOS.  Value can also be specified using   INFOBLOX_PASSWORD environment variable. |  |||
|   username    string    |    Configures the username to use to authenticate the connection to the remote instance of NIOS.  Value can also be specified using   INFOBLOX_USERNAME environment variable. |  |||
|   validate_certs    boolean    |   
  |    Boolean value to enable or disable verifying SSL certificates  Value can also be specified using   INFOBLOX_SSL_VERIFY environment variable.aliases: ssl_verify  |  ||
|   wapi_version    string    |   Default: "2.1"   |    Specifies the version of WAPI to use  Value can also be specified using   INFOBLOX_WAP_VERSION environment variable.Until ansible 2.8 the default WAPI was 1.4   |  ||
|   return_fields    string    |    The list of field names to return for the specified object.   |  |||
Notes
Note
- This module must be run locally, which can be achieved by specifying 
connection: local. - Please read the Infoblox Guide for more detailed information on how to use Infoblox with Ansible.
 
Examples
- name: fetch all networkview objects
  ansible.builtin.set_fact:
    networkviews: "{{ lookup('community.general.nios', 'networkview',
                         provider={'host': 'nios01', 'username': 'admin', 'password': 'password'}) }}"
- name: fetch the default dns view
  ansible.builtin.set_fact:
    dns_views: "{{ lookup('community.general.nios', '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('community.general.nios', 'record:host', return_fields=['extattrs', 'name', 'view', 'comment']}) }}"
- name: use env variables to pass credentials
  ansible.builtin.set_fact:
    networkviews: "{{ lookup('community.general.nios', 'networkview') }}"
- name: get a host record
  ansible.builtin.set_fact:
    host: "{{ lookup('community.general.nios', 'record:host', filter={'name': 'hostname.ansible.com'}) }}"
- name: get the authoritative zone from a non default dns view
  ansible.builtin.set_fact:
    host: "{{ lookup('community.general.nios', '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    dictionary    |  success |   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   |  |
Authors
- Unknown (!UNKNOWN)
 
    © 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.10/collections/community/general/nios_lookup.html