nios_next_ip – Return the next available IP address for a network — Ansible Documentation

- AnsibleFest
- Products
- Community
- Webinars & Training
- Blog

Documentation

# nios_next_ip – Return the next available IP address for a network

New in version 2.5.

- Synopsis
- Requirements
- Parameters
- Notes
- Examples
- Return Values
- Status

## Synopsis

- Uses the Infoblox WAPI API to return the next available IP addresses for a given network CIDR

## 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 CIDR network to retrieve the next addresses from
exclude - added in 2.7 |  |  | List of IP's that need to be excluded from returned IP addresses
num - | Default: 1 |  | The number of IP addresses to return
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 | Choices: no ← yes |  | 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

## 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: return next available IP address for network 192.168.10.0/24
      set_fact:
        ipaddr: "{{ lookup('nios_next_ip', '192.168.10.0/24', provider={'host': 'nios01', 'username': 'admin', 'password': 'password'}) }}"

    - name: return the next 3 available IP addresses for network 192.168.10.0/24
      set_fact:
        ipaddr: "{{ lookup('nios_next_ip', '192.168.10.0/24', num=3, provider={'host': 'nios01', 'username': 'admin', 'password': 'password'}) }}"

    - name: return the next 3 available IP addresses for network 192.168.10.0/24 excluding ip addresses - ['192.168.10.1', '192.168.10.2']
      set_fact:
        ipaddr: "{{ lookup('nios_next_ip', '192.168.10.0/24', num=3, exclude=['192.168.10.1', '192.168.10.2'],
                    provider={'host': 'nios01', 'username': 'admin', 'password': 'password'}) }}"

## Return Values

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

Key | Returned | Description
--- | --- | ---
_list list | always | The list of next IP addresses available

## Status

- This lookup is not guaranteed to have a backwards compatible interface. [preview]
- This lookup is maintained by the Ansible Community. [community]

### Authors

- UNKNOWN

Hint

If you notice any issues in this documentation you can edit this document to improve it.