infoblox.nios_modules.nios_member 模块 – 配置 Infoblox NIOS 成员

注意

此模块是 infoblox.nios_modules 集合 (版本 1.7.1) 的一部分。

如果您正在使用 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install infoblox.nios_modules。您需要其他需求才能使用此模块,有关详细信息,请参阅 需求

要在 playbook 中使用它,请指定:infoblox.nios_modules.nios_member

infoblox.nios_modules 1.0.0 中的新增功能

概要

  • 添加和/或删除 Infoblox NIOS 服务器。此模块使用通过 REST 的 Infoblox WAPI 接口管理 NIOS member 对象。

需求

执行此模块的主机需要以下需求。

  • infoblox-client

参数

参数

注释

comment

字符串

网格成员的描述性注释。

config_addr_type

字符串

地址配置类型 (IPV4/IPV6/BOTH)。

默认值: "IPV4"

create_token

布尔值

为预配置成员启动创建令牌请求的标志。

选项

  • false ← (默认)

  • true

enable_ha

布尔值

如果设置为 True,则成员具有两个物理节点(HA 对)。

选项

  • false ← (默认)

  • true

extattrs

字典

与对象关联的可扩展属性。

external_syslog_server_enable

布尔值

确定是否应启用外部 syslog 服务器。

选项

  • false

  • true

host_name

别名:name

字符串 / 必需

指定要添加到或从 NIOS 实例中删除的成员的主机名。用户还可以更新名称,因为可以传递包含 *new_name*、*old_name* 的字典。请参阅示例。

ipv6_setting

列表 / 元素=字典

配置网格成员的 IPv6 设置。

cidr_prefix

整数

网格成员的 IPv6 CIDR 前缀

gateway

字符串

网格成员的网关地址

virtual_ip

字符串

网格成员的 IPv6 地址

lan2_enabled

布尔值

设置为“true”时,LAN2 端口将启用为独立端口或故障转移端口。

选项

  • false ← (默认)

  • true

lan2_port_setting

列表 / 元素=字典

如果 'lan2_enabled' 设置为“true”,则为网格成员 LAN2 端口设置。

enabled

布尔值

如果设置为 True,则它具有自己的 IP 设置。

选项

  • false

  • true

network_setting

列表 / 元素=字典

如果 'enable' 字段设置为 True,则这将定义 LAN2 的 IPv4 网络设置。

address

字符串

LAN2 的 IPv4 地址

gateway

字符串

LAN2 的默认网关

subnet_mask

字符串

LAN2 的子网掩码

v6_network_setting

列表 / 元素=字典

如果 'enable' 字段设置为 True,则这将定义 LAN2 的 IPv6 网络设置。

cidr_prefix

整数

LAN2 的 IPv6 CIDR 前缀

gateway

字符串

LAN2 的网关地址

virtual_ip

字符串

LAN2 的 IPv6 地址

master_candidate

布尔值

将此对象的实例配置为启用为网格主候选者或常规成员节点。

True 将成员启用为主候选者

选项

  • false ← (默认)

  • true

mgmt_port_setting

列表 / 元素=字典

成员 MGMT 端口的设置。

enabled

布尔值

确定是否应启用 MGMT 端口设置。

选项

  • false

  • true

security_access_enabled

布尔值

确定是否启用 MGMT 端口上的安全访问。

选项

  • false

  • true

vpn_enabled

布尔值

确定是否启用 MGMT 端口上的 VPN。

选项

  • false

  • true

node_info

列表 / 元素=字典

使用有关网格成员操作的详细状态报告配置节点信息列表。

lan2_physical_setting

列表 / 元素=字典

LAN2 接口的物理端口设置。

auto_port_setting_enabled

布尔值

启用或禁用自动端口设置。

选项

  • false

  • true

duplex

字符串

端口双工;如果速度为 1000,则双工必须为 FULL。

speed

字符串

端口速度;如果速度为 1000,则双工为 FULL。

lan_ha_port_setting

列表 / 元素=字典

节点的 LAN/HA 端口设置。

ha_ip_address

字符串

HA IP 地址。

ha_port_setting

列表 / 元素=字典

HA 接口的物理端口设置。

auto_port_setting_enabled

布尔值

启用或禁用自动端口设置。

选项

  • false

  • true

duplex

字符串

端口双工;如果速度为 1000,则双工必须为 FULL。

speed

字符串

端口速度;如果速度为 1000,则双工为 FULL。

lan_port_setting

列表 / 元素=字典

LAN 接口的物理端口设置。

auto_port_setting_enabled

布尔值

启用或禁用自动端口设置。

选项

  • false

  • true

duplex

字符串

端口双工;如果速度为 1000,则双工必须为 FULL。

speed

字符串

端口速度;如果速度为 1000,则双工为 FULL。

mgmt_ipv6addr

字符串

LAN1 接口的公共 IPv6 地址。

mgmt_lan

字符串

LAN1 接口的公共 IPv4 地址。

mgmt_network_setting

列表 / 元素=字典

节点 MGMT 端口的网络设置。

address

字符串

MGMT 的 IPv4 地址

gateway

字符串

MGMT 的默认网关

subnet_mask

字符串

MGMT 的子网掩码

v6_mgmt_network_setting

列表 / 元素=字典

节点 IPv6 MGMT 端口的网络设置。

cidr_prefix

整数

MGMT 的 IPv6 CIDR 前缀

gateway

字符串

MGMT 的网关地址

virtual_ip

字符串

MGMT 的 IPv6 地址

platform

字符串

配置硬件平台。

默认值: "INFOBLOX"

pre_provisioning

列表 / 元素=字典

预配置信息。

hardware_info

列表 / 元素=字典

描述正在预配置的硬件的结构数组。

hwmodel

字符串

硬件型号

hwtype

字符串

硬件类型。

licenses

列表 / 元素=字符串

许可证类型数组。

provider

字典

包含连接详细信息的字典对象。

cert

字符串

指定带有 x509 配置摘要的客户端证书文件,以便为与 NIOS 的远程实例的安全连接提供额外的安全层。

值也可以使用 INFOBLOX_CERT 环境变量指定。

host

字符串

指定用于通过 REST 连接到 NIOS WAPI 远程实例的 DNS 主机名或地址

值也可以使用 INFOBLOX_HOST 环境变量指定。

http_pool_connections

整数

在此处插入描述

默认值: 10

http_pool_maxsize

整数

在此处插入描述

默认值: 10

http_request_timeout

整数

在等待接收响应之前等待的时间量

值也可以使用 INFOBLOX_HTTP_REQUEST_TIMEOUT 环境变量指定。

默认值: 10

key

字符串

指定用于与证书一起加密的私钥文件,以便与 NIOS 的远程实例连接。

值也可以使用INFOBLOX_KEY环境变量指定。

max_results

整数

指定要返回的对象的最大数量,如果设置为负数,则当返回的对象数量超过设置值时,设备将返回错误。

值也可以使用INFOBLOX_MAX_RESULTS环境变量指定。

默认值: 1000

max_retries

整数

配置在连接声明可用之前尝试重试的次数。

值也可以使用INFOBLOX_MAX_RETRIES环境变量指定。

默认值: 3

password

字符串

指定用于向NIOS远程实例进行身份验证的密码。

值也可以使用INFOBLOX_PASSWORD环境变量指定。

silent_ssl_warnings

布尔值

在此处插入描述

选项

  • false

  • true ← (默认)

username

字符串

配置用于向NIOS远程实例进行身份验证的用户名。

值也可以使用INFOBLOX_USERNAME环境变量指定。

validate_certs

别名:ssl_verify

布尔值

布尔值,用于启用或禁用验证SSL证书。

值也可以使用INFOBLOX_SSL_VERIFY环境变量指定。

选项

  • false ← (默认)

  • true

wapi_version

字符串

指定要使用的WAPI版本。

值也可以使用INFOBLOX_WAPI_VERSION环境变量指定。

在Ansible 2.8之前,默认WAPI版本为1.4。

默认值: "2.12.3"

router_id

整数

虚拟路由器标识符。如果“ha_enabled”设置为“true”,则提供此ID。这是本地子网的唯一VRID编号(1到255)。

state

字符串

配置NIOS服务器上对象实例的预期状态。当此值设置为present时,对象在设备上进行配置;当此值设置为absent时,该值将从设备中删除(如有必要)。

选项

  • "present" ← (默认)

  • "absent"

syslog_servers

列表 / 元素=字典

外部syslog服务器列表。

address

字符串

服务器地址。

category_list

列表 / 元素=字符串

所有syslog日志记录类别的列表。

connection_type

字符串

与该服务器通信的连接类型。(STCP/TCP/UDP)

默认值: "UDP"

local_interface

字符串

设备通过其向syslog服务器发送syslog消息的本地接口。(ANY/LAN/MGMT)

默认值: "ANY"

message_node_id

字符串

标识syslog消息中的节点。(HOSTNAME/IP_HOSTNAME/LAN/MGMT)

默认值: "LAN"

message_source

字符串

要发送到外部syslog服务器的syslog消息的来源。

默认值: "ANY"

only_category_list

布尔值

所选syslog日志记录类别的列表。设备转发属于所选类别的syslog消息。

选项

  • false

  • true

port

整数

此服务器监听的端口。

默认值: 514

severity

字符串

严重性过滤器。设备将指定严重性及以上的日志消息发送到外部syslog服务器。

默认值: "DEBUG"

upgrade_group

字符串

此Grid成员所属的升级组的名称。

默认值: "Default"

use_syslog_proxy_setting

布尔值

用于external_syslog_server_enable、syslog_servers、syslog_proxy_setting、syslog_size的标志。

选项

  • false

  • true

vip_setting

列表 / 元素=字典

配置网格成员的网络设置。

address

字符串

网格成员的IPv4地址。

gateway

字符串

网格成员的默认网关。

subnet_mask

字符串

网格成员的子网掩码。

注释

注意

  • 此模块支持check_mode

  • 此模块必须在本地运行,可以通过指定connection: local来实现。

  • 请阅读:ref:`nios_guide`,了解更多关于如何使用Ansible与Infoblox的信息。

示例

- name: Add a member to the grid with IPv4 address
  infoblox.nios_modules.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 Grid Master Candidate to the grid with IPv4 address
  infoblox.nios_modules.nios_member:
    host_name: member01.localdomain
    master_candidate: true
    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: Update host name of member
  infoblox.nios_modules.nios_member:
    host_name: {old_name: block1.localdomain, new_name: member01.localdomain}
    master_candidate: false
    vip_setting:
      - address: 120.0.0.25
        subnet_mask: 255.255.255.0
        gateway: 120.0.0.1
    config_addr_type: IPV4
    platform: VNIOS
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local

- name: Add a HA member to the grid
  infoblox.nios_modules.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
  infoblox.nios_modules.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
  infoblox.nios_modules.nios_member:
    name: member01.localdomain
    state: absent
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local

作者

  • Krishna Vasudevan (@krisvasudevan)

  • Matthew Dennett (@matthewdennett)