ansible.builtin.nios_nsgroup (v2.9.25) — module

Configure InfoBlox DNS Nameserver Groups

| "added in version" 2.8 of ansible.builtin"

Authors: Erich Birngruber (@ebirn), Sumit Jaiswal (@sjaiswal)

preview | supported by certified

Install Ansible via pip

Install with pip install ansible==2.9.25

Description

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


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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

Inputs

    
name:
    description:
    - Specifies the name of the NIOS nameserver group to be managed.
    required: true

state:
    choices:
    - present
    - absent
    default: present
    description:
    - Configures the intended state of the instance of the object on the NIOS server.  When
      this value is set to C(present), the object is configured on the device and when
      this value is set to C(absent) the value is removed (if necessary) from the device.

comment:
    description:
    - 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.
    required: false

extattrs:
    description:
    - Allows for the configuration of Extensible Attributes on the instance of the object.  This
      argument accepts a set of key / value pairs for configuration.
    required: false

provider:
    description:
    - A dict object containing connection details.
    suboptions:
      host:
        description:
        - Specifies the DNS host name or address for connecting to the remote instance
          of NIOS WAPI over REST
        - Value can also be specified using C(INFOBLOX_HOST) environment variable.
        type: str
      http_request_timeout:
        default: 10
        description:
        - The amount of time before to wait before receiving a response
        - Value can also be specified using C(INFOBLOX_HTTP_REQUEST_TIMEOUT) environment
          variable.
        type: int
      max_results:
        default: 1000
        description:
        - 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 C(INFOBLOX_MAX_RESULTS) environment variable.
        type: int
      max_retries:
        default: 3
        description:
        - Configures the number of attempted retries before the connection is declared
          usable
        - Value can also be specified using C(INFOBLOX_MAX_RETRIES) environment variable.
        type: int
      password:
        description:
        - Specifies the password to use to authenticate the connection to the remote instance
          of NIOS.
        - Value can also be specified using C(INFOBLOX_PASSWORD) environment variable.
        type: str
      username:
        description:
        - Configures the username to use to authenticate the connection to the remote
          instance of NIOS.
        - Value can also be specified using C(INFOBLOX_USERNAME) environment variable.
        type: str
      validate_certs:
        aliases:
        - ssl_verify
        default: false
        description:
        - Boolean value to enable or disable verifying SSL certificates
        - Value can also be specified using C(INFOBLOX_SSL_VERIFY) environment variable.
        type: bool
      wapi_version:
        default: '2.1'
        description:
        - Specifies the version of WAPI to use
        - Value can also be specified using C(INFOBLOX_WAP_VERSION) environment variable.
        - Until ansible 2.8 the default WAPI was 1.4
        type: str
    type: dict

grid_primary:
    description:
    - 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 I(use_external_primaries) to C(false).
    suboptions:
      enable_preferred_primaries:
        default: false
        description:
        - This flag represents whether the preferred_primaries field values of this member
          are used (see Infoblox WAPI docs).
        type: bool
      grid_replicate:
        default: false
        description:
        - Use DNS zone transfers if set to C(True) or ID Grid Replication if set to C(False).
        type: bool
      lead:
        default: false
        description:
        - This flag controls if the grid lead secondary nameserver performs zone transfers
          to non lead secondaries.
        type: bool
      name:
        description:
        - Provide the name of the grid member to identify the host.
        required: true
      stealth:
        default: false
        description:
        - Configure the external nameserver as stealth server (without NS record) in the
          zones.
        type: bool

is_grid_default:
    default: false
    description:
    - If set to C(True) this nsgroup will become the default nameserver group for new
      zones.
    required: false
    type: bool

grid_secondaries:
    description:
    - Configures the list of grid member hosts that act as secondary nameservers. This
      option is required when setting I(use_external_primaries) to C(true).
    suboptions:
      enable_preferred_primaries:
        default: false
        description:
        - This flag represents whether the preferred_primaries field values of this member
          are used (see Infoblox WAPI docs).
        type: bool
      grid_replicate:
        default: false
        description:
        - Use DNS zone transfers if set to C(True) or ID Grid Replication if set to C(False)
        type: bool
      lead:
        default: false
        description:
        - This flag controls if the grid lead secondary nameserver performs zone transfers
          to non lead secondaries.
        type: bool
      name:
        description:
        - Provide the name of the grid member to identify the host.
        required: true
      preferred_primaries:
        description:
        - Provide a list of elements like in I(external_primaries) to set the precedence
          of preferred primary nameservers.
      stealth:
        default: false
        description:
        - Configure the external nameserver as stealth server (without NS record) in the
          zones.
        type: bool

external_primaries:
    description:
    - Configures a list of external nameservers (non-members of the grid). This option
      is required when setting I(use_external_primaries) to C(true).
    required: false
    suboptions:
      address:
        description:
        - Configures the IP address of the external nameserver
        required: true
      name:
        description:
        - Set a label for the external nameserver
        required: true
      stealth:
        default: false
        description:
        - Configure the external nameserver as stealth server (without NS record) in the
          zones.
        type: bool
      tsig_key:
        description:
        - Set a DNS TSIG key for the nameserver to secure zone transfers (AFXRs).
      tsig_key_alg:
        choices:
        - HMAC-MD5
        - HMAC-SHA256
        default: HMAC-MD5
        description:
        - Provides the algorithm used for the I(tsig_key) in use.
      tsig_key_name:
        description:
        - Sets a label for the I(tsig_key) value

external_secondaries:
    description:
    - Allows to provide a list of external secondary nameservers, that are not members
      of the grid.
    suboptions:
      address:
        description:
        - Configures the IP address of the external nameserver
        required: true
      name:
        description:
        - Set a label for the external nameserver
        required: true
      stealth:
        default: false
        description:
        - Configure the external nameserver as stealth server (without NS record) in the
          zones.
        type: bool
      tsig_key:
        description:
        - Set a DNS TSIG key for the nameserver to secure zone transfers (AFXRs).
      tsig_key_alg:
        choices:
        - HMAC-MD5
        - HMAC-SHA256
        default: HMAC-MD5
        description:
        - Provides the algorithm used for the I(tsig_key) in use.
      tsig_key_name:
        description:
        - Sets a label for the I(tsig_key) value

use_external_primary:
    default: false
    description:
    - This flag controls whether the group is using an external primary nameserver. Note
      that modification of this field requires passing values for I(grid_secondaries)
      and I(external_primaries).
    required: false
    type: bool