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

Documentation

# nios_nsgroup – Configure InfoBlox DNS Nameserver Groups

New in version 2.8.

- Synopsis

- Requirements

- Parameters

- Notes

- Examples

- Status

## Synopsis

- Adds and/or removes nameserver groups form Infoblox NIOS servers. This module manages NIOS `nsgroup` objects using the Infoblox. WAPI interface over REST.

## Requirements

The below requirements are needed on the host that executes this module.

- infoblox_client

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
comment - |  | Configures a text string comment to be associated with the instance of this object. The provided text string will be configured on the object instance.
extattrs - |  | Allows for the configuration of Extensible Attributes on the instance of the object. This argument accepts a set of key / value pairs for configuration.
external_primaries - |  | Configures a list of external nameservers (non-members of the grid). This option is required when setting use_external_primaries to `true`.
| address - / required |  | Configures the IP address of the external nameserver
| name - / required |  | Set a label for the external nameserver
| stealth boolean | Choices: no ← yes | Configure the external nameserver as stealth server (without NS record) in the zones.
| tsig_key - |  | Set a DNS TSIG key for the nameserver to secure zone transfers (AFXRs).
| tsig_key_alg - | Choices: HMAC-MD5 ← HMAC-SHA256 | Provides the algorithm used for the tsig_key in use.
| tsig_key_name - |  | Sets a label for the tsig_key value
external_secondaries - |  | Allows to provide a list of external secondary nameservers, that are not members of the grid.
| address - / required |  | Configures the IP address of the external nameserver
| name - / required |  | Set a label for the external nameserver
| stealth boolean | Choices: no ← yes | Configure the external nameserver as stealth server (without NS record) in the zones.
| tsig_key - |  | Set a DNS TSIG key for the nameserver to secure zone transfers (AFXRs).
| tsig_key_alg - | Choices: HMAC-MD5 ← HMAC-SHA256 | Provides the algorithm used for the tsig_key in use.
| tsig_key_name - |  | Sets a label for the tsig_key value
grid_primary - |  | This host is to be used as primary server in this nameserver group. It must be a grid member. This option is required when setting use_external_primaries to `false`.
| enable_preferred_primaries boolean | Choices: no ← yes | This flag represents whether the preferred_primaries field values of this member are used (see Infoblox WAPI docs).
| grid_replicate boolean | Choices: no ← yes | Use DNS zone transfers if set to `True` or ID Grid Replication if set to `False`.
| lead boolean | Choices: no ← yes | This flag controls if the grid lead secondary nameserver performs zone transfers to non lead secondaries.
| name - / required |  | Provide the name of the grid member to identify the host.
| stealth boolean | Choices: no ← yes | Configure the external nameserver as stealth server (without NS record) in the zones.
grid_secondaries - |  | Configures the list of grid member hosts that act as secondary nameservers. This option is required when setting use_external_primaries to `true`.
| enable_preferred_primaries boolean | Choices: no ← yes | This flag represents whether the preferred_primaries field values of this member are used (see Infoblox WAPI docs).
| grid_replicate boolean | Choices: no ← yes | Use DNS zone transfers if set to `True` or ID Grid Replication if set to `False`
| lead boolean | Choices: no ← yes | This flag controls if the grid lead secondary nameserver performs zone transfers to non lead secondaries.
| name - / required |  | Provide the name of the grid member to identify the host.
| preferred_primaries - |  | Provide a list of elements like in external_primaries to set the precedence of preferred primary nameservers.
| stealth boolean | Choices: no ← yes | Configure the external nameserver as stealth server (without NS record) in the zones.
is_grid_default boolean | Choices: no ← yes | If set to `True` this nsgroup will become the default nameserver group for new zones.
name - / required |  | Specifies the name of the NIOS nameserver group to be managed.
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
state - | Choices: present ← absent | Configures the intended state of the instance of the object on the NIOS server. When this value is set to `present`, the object is configured on the device and when this value is set to `absent` the value is removed (if necessary) from the device.
use_external_primary boolean | Choices: no ← yes | This flag controls whether the group is using an external primary nameserver. Note that modification of this field requires passing values for grid_secondaries and external_primaries.

## 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: create simple infoblox nameserver group
      nios_nsgroup:
        name: my-simple-group
        comment: "this is a simple nameserver group"
        grid_primary:
          - name: infoblox-test.example.com
        state: present
        provider:
          host: "{{ inventory_hostname_short }}"
          username: admin
          password: admin
      connection: local

    - name: create infoblox nameserver group with external primaries
      nios_nsgroup:
        name: my-example-group
        use_external_primary: true
        comment: "this is my example nameserver group"
        external_primaries: "{{ ext_nameservers }}"
        grid_secondaries:
          - name: infoblox-test.example.com
            lead: True
            preferred_primaries: "{{ ext_nameservers }}"
        state: present
        provider:
          host: "{{ inventory_hostname_short }}"
          username: admin
          password: admin
      connection: local

    - name: delete infoblox nameserver group
      nios_nsgroup:
        name: my-simple-group
        comment: "this is a simple nameserver group"
        grid_primary:
          - name: infoblox-test.example.com
        state: absent
        provider:
          host: "{{ inventory_hostname_short }}"
          username: admin
          password: admin
      connection: local

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by an Ansible Partner. [certified]

### Authors

- Erich Birngruber (@ebirn)

- Sumit Jaiswal (@sjaiswal)

Hint

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