community.general.nios_member – Configure Infoblox NIOS members
Note
This plugin is part of the community.general collection (version 2.0.1).
To install it use: ansible-galaxy collection install community.general.
To use it in a playbook, specify: community.general.nios_member.
Synopsis
- Adds and/or removes Infoblox NIOS servers. This module manages NIOS 
memberobjects 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    |    A descriptive comment of the Grid member.   |  ||||
|   config_addr_type    string    |   Default: "IPV4"   |    Address configuration type (IPV4/IPV6/BOTH)   |  |||
|   create_token    boolean    |   
  |    Flag for initiating a create token request for pre-provisioned members.   |  |||
|   enable_ha    boolean    |   
  |    If set to True, the member has two physical nodes (HA pair).   |  |||
|   extattrs    dictionary    |    Extensible attributes associated with the object.   |  ||||
|   external_syslog_server_enable    boolean    |   
  |    Determines if external syslog servers should be enabled   |  |||
|   host_name    string / required    |    Specifies the host name of the member to either add or remove from the NIOS instance.  aliases: name  |  ||||
|   ipv6_setting    list / elements=dictionary    |    Configures the IPv6 settings for the grid member.   |  ||||
|   cidr_prefix    integer    |    The IPv6 CIDR prefix for the Grid Member   |  ||||
|   gateway    string    |    The gateway address for the Grid Member   |  ||||
|   virtual_ip    string    |    The IPv6 Address of the Grid Member   |  ||||
|   lan2_enabled    boolean    |   
  |    When set to "true", the LAN2 port is enabled as an independent port or as a port for failover purposes.   |  |||
|   lan2_port_setting    list / elements=dictionary    |    Settings for the Grid member LAN2 port if 'lan2_enabled' is set to "true".   |  ||||
|   enabled    boolean    |   
  |    If set to True, then it has its own IP settings.   |  |||
|   network_setting    list / elements=dictionary    |    If the 'enable' field is set to True, this defines IPv4 network settings for LAN2.   |  ||||
|   address    string    |    The IPv4 Address of LAN2   |  ||||
|   gateway    string    |    The default gateway of LAN2   |  ||||
|   subnet_mask    string    |    The subnet mask of LAN2   |  ||||
|   v6_network_setting    list / elements=dictionary    |    If the 'enable' field is set to True, this defines IPv6 network settings for LAN2.   |  ||||
|   cidr_prefix    integer    |    The IPv6 CIDR prefix of LAN2   |  ||||
|   gateway    string    |    The gateway address of LAN2   |  ||||
|   virtual_ip    string    |    The IPv6 Address of LAN2   |  ||||
|   mgmt_port_setting    list / elements=dictionary    |    Settings for the member MGMT port.   |  ||||
|   enabled    boolean    |   
  |    Determines if MGMT port settings should be enabled.   |  |||
|   security_access_enabled    boolean    |   
  |    Determines if security access on the MGMT port is enabled or not.   |  |||
|   vpn_enabled    boolean    |   
  |    Determines if VPN on the MGMT port is enabled or not.   |  |||
|   node_info    list / elements=dictionary    |    Configures the node information list with detailed status report on the operations of the Grid Member.   |  ||||
|   lan2_physical_setting    list / elements=dictionary    |    Physical port settings for the LAN2 interface.   |  ||||
|   auto_port_setting_enabled    boolean    |   
  |    Enable or disalbe the auto port setting.   |  |||
|   duplex    string    |    The port duplex; if speed is 1000, duplex must be FULL.   |  ||||
|   speed    string    |    The port speed; if speed is 1000, duplex is FULL.   |  ||||
|   lan_ha_port_setting    list / elements=dictionary    |    LAN/HA port settings for the node.   |  ||||
|   ha_ip_address    string    |    HA IP address.   |  ||||
|   ha_port_setting    list / elements=dictionary    |    Physical port settings for the HA interface.   |  ||||
|   auto_port_setting_enabled    boolean    |   
  |    Enable or disalbe the auto port setting.   |  |||
|   duplex    string    |    The port duplex; if speed is 1000, duplex must be FULL.   |  ||||
|   speed    string    |    The port speed; if speed is 1000, duplex is FULL.   |  ||||
|   lan_port_setting    list / elements=dictionary    |    Physical port settings for the LAN interface.   |  ||||
|   auto_port_setting_enabled    boolean    |   
  |    Enable or disalbe the auto port setting.   |  |||
|   duplex    string    |    The port duplex; if speed is 1000, duplex must be FULL.   |  ||||
|   speed    string    |    The port speed; if speed is 1000, duplex is FULL.   |  ||||
|   mgmt_ipv6addr    string    |    Public IPv6 address for the LAN1 interface.   |  ||||
|   mgmt_lan    string    |    Public IPv4 address for the LAN1 interface.   |  ||||
|   mgmt_network_setting    list / elements=dictionary    |    Network settings for the MGMT port of the node.   |  ||||
|   address    string    |    The IPv4 Address of MGMT   |  ||||
|   gateway    string    |    The default gateway of MGMT   |  ||||
|   subnet_mask    string    |    The subnet mask of MGMT   |  ||||
|   v6_mgmt_network_setting    list / elements=dictionary    |    The network settings for the IPv6 MGMT port of the node.   |  ||||
|   cidr_prefix    integer    |    The IPv6 CIDR prefix of MGMT   |  ||||
|   gateway    string    |    The gateway address of MGMT   |  ||||
|   virtual_ip    string    |    The IPv6 Address of MGMT   |  ||||
|   platform    string    |   Default: "INFOBLOX"   |    Configures the Hardware Platform.   |  |||
|   pre_provisioning    list / elements=dictionary    |    Pre-provisioning information.   |  ||||
|   hardware_info    list / elements=dictionary    |    An array of structures that describe the hardware being pre-provisioned.   |  ||||
|   hwmodel    string    |    Hardware model   |  ||||
|   hwtype    string    |    Hardware type.   |  ||||
|   licenses    list / elements=string    |    An array of license types.   |  ||||
|   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    |   
  |    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    |   
  |    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   |  |||
|   router_id    integer    |    Virtual router identifier. Provide this ID if "ha_enabled" is set to "true". This is a unique VRID number (from 1 to 255) for the local subnet.   |  ||||
|   state    string    |   
  |    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. |  |||
|   syslog_servers    list / elements=dictionary    |    The list of external syslog servers.   |  ||||
|   address    string    |    The server address.   |  ||||
|   category_list    list / elements=string    |    The list of all syslog logging categories.   |  ||||
|   connection_type    string    |   Default: "UDP"   |    The connection type for communicating with this server.(STCP/TCP?UDP)   |  |||
|   local_interface    string    |   Default: "ANY"   |    The local interface through which the appliance sends syslog messages to the syslog server.(ANY/LAN/MGMT)   |  |||
|   message_node_id    string    |   Default: "LAN"   |    Identify the node in the syslog message. (HOSTNAME/IP_HOSTNAME/LAN/MGMT)   |  |||
|   message_source    string    |   Default: "ANY"   |    The source of syslog messages to be sent to the external syslog server.   |  |||
|   only_category_list    boolean    |   
  |    The list of selected syslog logging categories. The appliance forwards syslog messages that belong to the selected categories.   |  |||
|   port    integer    |   Default: 514   |    The port this server listens on.   |  |||
|   severity    string    |   Default: "DEBUG"   |    The severity filter. The appliance sends log messages of the specified severity and above to the external syslog server.   |  |||
|   upgrade_group    string    |   Default: "Default"   |    The name of the upgrade group to which this Grid member belongs.   |  |||
|   use_syslog_proxy_setting    boolean    |   
  |    Use flag for external_syslog_server_enable , syslog_servers, syslog_proxy_setting, syslog_size   |  |||
|   vip_setting    list / elements=dictionary    |    Configures the network settings for the grid member.   |  ||||
|   address    string    |    The IPv4 Address of the Grid Member   |  ||||
|   gateway    string    |    The default gateway for the Grid Member   |  ||||
|   subnet_mask    string    |    The subnet mask for the Grid Member   |  ||||
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: Add a member to the grid with IPv4 address
  community.general.nios_member:
    host_name: member01.localdomain
    vip_setting:
      - address: 192.168.1.100
        subnet_mask: 255.255.255.0
        gateway: 192.168.1.1
    config_addr_type: IPV4
    platform: VNIOS
    comment: "Created by Ansible"
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local
- name: Add a HA member to the grid
  community.general.nios_member:
    host_name: memberha.localdomain
    vip_setting:
      - address: 192.168.1.100
        subnet_mask: 255.255.255.0
        gateway: 192.168.1.1
    config_addr_type: IPV4
    platform: VNIOS
    enable_ha: true
    router_id: 150
    node_info:
      - lan_ha_port_setting:
         - ha_ip_address: 192.168.1.70
           mgmt_lan: 192.168.1.80
      - lan_ha_port_setting:
         - ha_ip_address: 192.168.1.71
           mgmt_lan: 192.168.1.81
    comment: "Created by Ansible"
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local
- name: Update the member with pre-provisioning details specified
  community.general.nios_member:
    name: member01.localdomain
    pre_provisioning:
      - hardware_info:
         - hwmodel: IB-VM-820
           hwtype: IB-VNIOS
        licenses:
         - dns
         - dhcp
         - enterprise
         - vnios
    comment: "Updated by Ansible"
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local
- name: Remove the member
  community.general.nios_member:
    name: member01.localdomain
    state: absent
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local
  Authors
- Krishna Vasudevan (@krisvasudevan)
 
    © 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.11/collections/community/general/nios_member_module.html