nios – Query Infoblox NIOS objects¶
New in version 2.5.
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 master node that executes this lookup.
infoblox-client
Parameters¶
Parameter | Choices/Defaults | Configuration | Comments | |
---|---|---|---|---|
_terms
-
/ required
|
The name of the object to return from NIOS
|
|||
extattrs
-
|
a dict object that is used to filter on extattrs
|
|||
filter
-
|
a dict object that is used to filter the return objects
|
|||
provider
dictionary
|
A dict object containing connection details.
|
|||
host
string
/ required
|
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
-
|
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
set_fact:
networkviews: "{{ lookup('nios', 'networkview', provider={'host': 'nios01', 'username': 'admin', 'password': 'password'}) }}"
- name: fetch the default dns view
set_fact:
dns_views: "{{ lookup('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
set_fact:
host_records: "{{ lookup('nios', 'record:host', return_fields=['extattrs', 'name', 'view', 'comment']}) }}"
- name: use env variables to pass credentials
set_fact:
networkviews: "{{ lookup('nios', 'networkview') }}"
- name: get a host record
set_fact:
host: "{{ lookup('nios', 'record:host', filter={'name': 'hostname.ansible.com'}) }}"
- name: get the authoritative zone from a non default dns view
set_fact:
host: "{{ lookup('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
complex
|
always |
The object type specified in the terms argument
|
|
obj_field
-
|
|
Status¶
This lookup is not guaranteed to have a backwards compatible interface. [preview]
This lookup is maintained by the Ansible Community. [community]