community.general.nios_zone – Configure Infoblox NIOS DNS zones

Note

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

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

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

Synopsis

  • Adds and/or removes instances of DNS zone objects from Infoblox NIOS servers. This module manages NIOS zone_auth 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
dictionary
Allows for the configuration of Extensible Attributes on the instance of the object. This argument accepts a set of key / value pairs for configuration.
fqdn
string / required
Specifies the qualified domain name to either add or remove from the NIOS instance based on the configured state value.

aliases: name
grid_primary
list / elements=dictionary
Configures the grid primary servers for this zone.
name
string / required
The name of the grid primary server
grid_secondaries
list / elements=dictionary
Configures the grid secondary servers for this zone.
name
string / required
The name of the grid secondary server
ns_group
string
Configures the name server group for this zone. Name server group is mutually exclusive with grid primary and grid secondaries.
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_pool_connections
integer
Default:
10
Number of pools to be used by the infoblox_client.Connector object.
This is passed as-is to the underlying requests.adapters.HTTPAdapter class.
http_pool_maxsize
integer
Default:
10
Maximum number of connections per pool to be used by the infoblox_client.Connector object.
This is passed as-is to the underlying requests.adapters.HTTPAdapter class.
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.
silent_ssl_warnings
boolean
    Choices:
  • no
  • yes ←
Disable urllib3 SSL warnings in the infoblox_client.Connector object.
This is passed as-is to the underlying requests.adapters.HTTPAdapter class.
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
restart_if_needed
boolean
    Choices:
  • no
  • yes
If set to true, causes the NIOS DNS service to restart and load the new zone configuration
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.
view
string
Default:
"default"
Configures the DNS view name for the configured resource. The specified DNS zone must already exist on the running NIOS instance prior to configuring zones.

aliases: dns_view
zone_format
string
Default:
"FORWARD"
Create an authorative Reverse-Mapping Zone which is an area of network space for which one or more name servers-primary and secondary-have the responsibility to respond to address-to-name queries. It supports reverse-mapping zones for both IPv4 and IPv6 addresses.

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: Configure a zone on the system using grid primary and secondaries
  community.general.nios_zone:
    name: ansible.com
    grid_primary:
      - name: gridprimary.grid.com
    grid_secondaries:
      - name: gridsecondary1.grid.com
      - name: gridsecondary2.grid.com
    restart_if_needed: true
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local
- name: Configure a zone on the system using a name server group
  community.general.nios_zone:
    name: ansible.com
    ns_group: examplensg
    restart_if_needed: true
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local
- name: Configure a reverse mapping zone on the system using IPV4 zone format
  community.general.nios_zone:
    name: 10.10.10.0/24
    zone_format: IPV4
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local
- name: Configure a reverse mapping zone on the system using IPV6 zone format
  community.general.nios_zone:
    name: 100::1/128
    zone_format: IPV6
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local
- name: Update the comment and ext attributes for an existing zone
  community.general.nios_zone:
    name: ansible.com
    comment: this is an example comment
    extattrs:
      Site: west-dc
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local
- name: Remove the dns zone
  community.general.nios_zone:
    name: ansible.com
    state: absent
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local
- name: Remove the reverse mapping dns zone from the system with IPV4 zone format
  community.general.nios_zone:
    name: 10.10.10.0/24
    zone_format: IPV4
    state: absent
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local

Authors

  • Peter Sprygada (@privateip)