# 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.