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。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

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

infoblox.nios_modules 1.0.0 中的新增功能

概要

  • 添加和/或删除 Infoblox NIOS 服务器。此模块使用 Infoblox WAPI 接口通过 REST 管理 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"

预配置

列表 / 元素=字典

预配置信息。

硬件信息

列表 / 元素=字典

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

硬件型号

字符串

硬件型号

硬件类型

字符串

硬件类型。

许可证

列表 / 元素=字符串

许可证类型的数组。

提供商

字典

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

证书

字符串

指定客户端证书文件,其中包含 x509 配置摘要,用于为与 NIOS 远程实例的连接提供额外的安全层。

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

主机

字符串

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

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

HTTP 连接池

整数

此处插入描述

默认值: 10

HTTP 连接池最大值

整数

此处插入描述

默认值: 10

HTTP 请求超时

整数

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

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

默认值: 10

密钥

字符串

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

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

最大结果数

整数

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

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

默认值: 1000

最大重试次数

整数

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

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

默认值: 3

密码

字符串

指定用于验证与 NIOS 远程实例连接的密码。

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

静默 SSL 警告

布尔值

此处插入描述

选项

  • false

  • true ← (默认)

用户名

字符串

配置用于验证与 NIOS 远程实例连接的用户名。

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

验证证书

别名:ssl_verify

布尔值

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

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

选项

  • false ← (默认)

  • true

WAPI 版本

字符串

指定要使用的 WAPI 版本

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

在 Ansible 2.8 之前,默认 WAPI 为 1.4

默认值: "2.12.3"

路由器 ID

整数

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

状态

字符串

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

选项

  • "present" ← (默认)

  • "absent"

syslog 服务器

列表 / 元素=字典

外部 syslog 服务器列表。

address

字符串

服务器地址。

类别列表

列表 / 元素=字符串

所有 syslog 日志类别的列表。

连接类型

字符串

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

默认值: "UDP"

本地接口

字符串

设备通过该接口将 syslog 消息发送到 syslog 服务器。(ANY/LAN/MGMT)

默认值: "ANY"

消息节点 ID

字符串

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

默认值: "LAN"

消息来源

字符串

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

默认值: "ANY"

仅类别列表

布尔值

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

选项

  • false

  • true

端口

整数

此服务器监听的端口。

默认值: 514

严重性

字符串

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

默认值: "DEBUG"

升级组

字符串

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

默认值: "Default"

使用 syslog 代理设置

布尔值

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

选项

  • false

  • true

VIP 设置

列表 / 元素=字典

配置 Grid 成员的网络设置。

address

字符串

Grid 成员的 IPv4 地址

gateway

字符串

Grid 成员的默认网关

subnet_mask

字符串

Grid 成员的子网掩码

注释

注意

  • 此模块支持 check_mode

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

  • 请阅读 :ref:`nios_guide` 以了解有关如何将 Infoblox 与 Ansible 一起使用的更详细信息。

示例

- 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)