nios_member – Configure Infoblox NIOS members

New in version 2.8.

Synopsis

  • Adds and/or removes Infoblox NIOS servers. This module manages NIOS member 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
-
A descriptive comment of the Grid member.
config_addr_type
-
Default:
"IPV4"
Address configuration type (IPV4/IPV6/BOTH)
create_token
boolean
    Choices:
  • no
  • yes
Flag for initiating a create token request for pre-provisioned members.
enable_ha
boolean
    Choices:
  • no
  • yes
If set to True, the member has two physical nodes (HA pair).
extattrs
-
Extensible attributes associated with the object.
external_syslog_server_enable
boolean
    Choices:
  • no
  • yes
Determines if external syslog servers should be enabled
host_name
- / required
Specifies the host name of the member to either add or remove from the NIOS instance.

aliases: name
ipv6_setting
- / required
Configures the IPv6 settings for the grid member.
cidr_prefix
-
The IPv6 CIDR prefix for the Grid Member
gateway
-
The gateway address for the Grid Member
virtual_ip
-
The IPv6 Address of the Grid Member
lan2_enabled
boolean
    Choices:
  • no
  • yes
When set to "true", the LAN2 port is enabled as an independent port or as a port for failover purposes.
lan2_port_setting
-
Settings for the Grid member LAN2 port if 'lan2_enabled' is set to "true".
enabled
boolean
    Choices:
  • no
  • yes
If set to True, then it has its own IP settings.
network_setting
-
If the 'enable' field is set to True, this defines IPv4 network settings for LAN2.
address
-
The IPv4 Address of LAN2
gateway
-
The default gateway of LAN2
subnet_mask
-
The subnet mask of LAN2
v6_network_setting
-
If the 'enable' field is set to True, this defines IPv6 network settings for LAN2.
cidr_prefix
-
The IPv6 CIDR prefix of LAN2
gateway
-
The gateway address of LAN2
virtual_ip
-
The IPv6 Address of LAN2
mgmt_port_setting
-
Settings for the member MGMT port.
enabled
boolean
    Choices:
  • no
  • yes
Determines if MGMT port settings should be enabled.
security_access_enabled
boolean
    Choices:
  • no
  • yes
Determines if security access on the MGMT port is enabled or not.
vpn_enabled
boolean
    Choices:
  • no
  • yes
Determines if VPN on the MGMT port is enabled or not.
node_info
-
Configures the node information list with detailed status report on the operations of the Grid Member.
lan2_physical_setting
-
Physical port settings for the LAN2 interface.
auto_port_setting_enabled
boolean
    Choices:
  • no
  • yes
Enable or disalbe the auto port setting.
duplex
-
The port duplex; if speed is 1000, duplex must be FULL.
speed
-
The port speed; if speed is 1000, duplex is FULL.
lan_ha_port_setting
-
LAN/HA port settings for the node.
ha_ip_address
-
HA IP address.
ha_port_setting
-
Physical port settings for the HA interface.
auto_port_setting_enabled
boolean
    Choices:
  • no
  • yes
Enable or disalbe the auto port setting.
duplex
-
The port duplex; if speed is 1000, duplex must be FULL.
speed
-
The port speed; if speed is 1000, duplex is FULL.
lan_port_setting
-
Physical port settings for the LAN interface.
auto_port_setting_enabled
boolean
    Choices:
  • no
  • yes
Enable or disalbe the auto port setting.
duplex
-
The port duplex; if speed is 1000, duplex must be FULL.
speed
-
The port speed; if speed is 1000, duplex is FULL.
mgmt_ipv6addr
-
Public IPv6 address for the LAN1 interface.
mgmt_lan
-
Public IPv4 address for the LAN1 interface.
mgmt_network_setting
-
Network settings for the MGMT port of the node.
address
-
The IPv4 Address of MGMT
gateway
-
The default gateway of MGMT
subnet_mask
-
The subnet mask of MGMT
v6_mgmt_network_setting
-
The network settings for the IPv6 MGMT port of the node.
cidr_prefix
-
The IPv6 CIDR prefix of MGMT
gateway
-
The gateway address of MGMT
virtual_ip
-
The IPv6 Address of MGMT
platform
-
Default:
"INFOBLOX"
Configures the Hardware Platform.
pre_provisioning
-
Pre-provisioning information.
hardware_info
-
An array of structures that describe the hardware being pre-provisioned.
hwmodel
-
Hardware model
hwtype
-
Hardware type.
licenses
-
An array of license types.
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
router_id
-
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
-
    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.
syslog_servers
-
The list of external syslog servers.
address
-
The server address.
category_list
-
The list of all syslog logging categories.
connection_type
-
Default:
"UDP"
The connection type for communicating with this server.(STCP/TCP?UDP)
local_interface
-
Default:
"ANY"
The local interface through which the appliance sends syslog messages to the syslog server.(ANY/LAN/MGMT)
message_node_id
-
Default:
"LAN"
Identify the node in the syslog message. (HOSTNAME/IP_HOSTNAME/LAN/MGMT)
message_source
-
Default:
"ANY"
The source of syslog messages to be sent to the external syslog server.
only_category_list
boolean
    Choices:
  • no
  • yes
The list of selected syslog logging categories. The appliance forwards syslog messages that belong to the selected categories.
port
-
Default:
514
The port this server listens on.
severity
-
Default:
"DEBUG"
The severity filter. The appliance sends log messages of the specified severity and above to the external syslog server.
upgrade_group
-
Default:
"Default"
The name of the upgrade group to which this Grid member belongs.
use_syslog_proxy_setting
boolean
    Choices:
  • no
  • yes
Use flag for external_syslog_server_enable , syslog_servers, syslog_proxy_setting, syslog_size
vip_setting
- / required
Configures the network settings for the grid member.
address
-
The IPv4 Address of the Grid Member
gateway
-
The default gateway for the Grid Member
subnet_mask
-
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
  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
  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
  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
  nios_member:
    name: member01.localdomain
    state: absent
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local

Status

Authors

  • Krishna Vasudevan (@krisvasudevan)

Hint

If you notice any issues in this documentation you can edit this document to improve it.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/nios_member_module.html