community.general.nios_nsgroup – Configure InfoBlox DNS Nameserver Groups

Note

This plugin is part of the community.general collection (version 1.3.6).

To install it use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.nios_nsgroup.

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
string
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
string
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
list / elements=dictionary
Configures a list of external nameservers (non-members of the grid). This option is required when setting use_external_primaries to true.
address
string / required
Configures the IP address of the external nameserver
name
string / 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
string
Set a DNS TSIG key for the nameserver to secure zone transfers (AFXRs).
tsig_key_alg
string
    Choices:
  • HMAC-MD5 ←
  • HMAC-SHA256
Provides the algorithm used for the tsig_key in use.
tsig_key_name
string
Sets a label for the tsig_key value
external_secondaries
list / elements=dictionary
Allows to provide a list of external secondary nameservers, that are not members of the grid.
address
string / required
Configures the IP address of the external nameserver
name
string / 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
string
Set a DNS TSIG key for the nameserver to secure zone transfers (AFXRs).
tsig_key_alg
string
    Choices:
  • HMAC-MD5 ←
  • HMAC-SHA256
Provides the algorithm used for the tsig_key in use.
tsig_key_name
string
Sets a label for the tsig_key value
grid_primary
list / elements=dictionary
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
string / required
Provide the name of the grid member to identify the host.
preferred_primaries
list / elements=dictionary
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.
grid_secondaries
list / elements=dictionary
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
string / required
Provide the name of the grid member to identify the host.
preferred_primaries
list / elements=dictionary
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
string / required
Specifies the name of the NIOS nameserver group to be managed.
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
    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
string
    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
  community.general.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
  community.general.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
  community.general.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

Authors

  • Erich Birngruber (@ebirn)

  • Sumit Jaiswal (@sjaiswal)