infoblox.nios_modules.nios_network 模块 – 配置 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_network

infoblox.nios_modules 1.0.0 中的新功能

概要

  • 从 Infoblox NIOS 服务器添加和/或删除网络对象的实例。此模块使用基于 REST 的 Infoblox WAPI 接口管理 NIOS network 对象。

  • 支持 IPV4 和 IPV6 互联网协议。

要求

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

  • infoblox-client

参数

参数

注释

comment

字符串

配置要与此对象的实例关联的文本字符串注释。提供的文本字符串将在对象实例上配置。

container

布尔值

如果设置为 true,它将创建要添加到系统或从系统中删除的网络容器。

选项

  • false

  • true

extattrs

字典

允许在对象的实例上配置可扩展属性。此参数接受一组键/值对进行配置。

logic_filter_rules

列表 / 元素=字典

配置要应用于网络对象的逻辑过滤器规则。此参数接受逻辑过滤器规则的列表(请参阅子选项)。省略时,将使用空列表的默认值。

默认值: []

filter

字符串

要应用于网络对象的逻辑过滤器的名称。

type

字符串

要应用于网络对象的逻辑过滤器的类型。

members

列表 / 元素=字典

配置已配置网络实例的 Nios 成员分配。此参数接受成员名称的列表(请参阅子选项)。省略时,将使用空列表的默认值。如果字段“container”设置为 true,则忽略此字段。

默认值: []

name

字符串

要分配给此网络的 Nios 成员的名称。

network

别名:name,cidr

字符串 / 必需

指定要从系统添加或删除的网络。该值应使用 CIDR 表示法。

network_view

字符串

配置要与此已配置实例关联的网络视图的名称。

默认值: "default"

options

列表 / 元素=字典

配置要作为已配置网络实例的一部分包含的 DHCP 选项集。此参数接受值列表(请参阅子选项)。在配置子选项时,必须至少指定 namenum 之一。

默认值: []

name

字符串

要配置的 DHCP 选项的名称。标准选项是 routerrouter-templatesdomain-name-serversdomain-namebroadcast-addressbroadcast-address-offsetdhcp-lease-timedhcp6.name-servers

num

整数

要配置的 DHCP 选项的编号

use_option

布尔值

仅适用于部分选项(请参阅 NIOS API 文档)

选项

  • false

  • true ← (默认)

value

字符串 / 必需

name 指定的 DHCP 选项的值

vendor_class

字符串

此 DHCP 选项关联的空间的名称

默认值: "DHCP"

provider

字典

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

cert

字符串

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

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

host

字符串

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

也可以使用 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"

state

字符串

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

选项

  • "present" ← (默认)

  • "absent"

template

字符串

如果在创建时设置,则网络将根据所选模板中指定的值创建。

use_logic_filter_rules

布尔值

如果设置为 true,它将覆盖应用于上层的逻辑过滤器列表。

选项

  • false ← (默认)

  • true

注释

注意

  • 此模块支持 check_mode

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

  • 请阅读 :ref:`nios_guide` 以获取有关如何将 Infoblox 与 Ansible 结合使用的更多详细信息。

示例

- name: Configure a network ipv4
  infoblox.nios_modules.nios_network:
    network: 192.168.10.0/24
    comment: this is a test comment
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local

- name: Configure a network ipv6
  infoblox.nios_modules.nios_network:
    network: fe80::/64
    comment: this is a test comment
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local

- name: Create network with member assignment for a network ipv4
  infoblox.nios_modules.nios_network:
    network: 192.168.10.0/24
    comment: This is a test comment
    members:
      - name: member1.infoblox
      - name: member2.infoblox
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local

- name: Remove member assignment form ipv4 network
  infoblox.nios_modules.nios_network:
    network: 192.168.10.0/24
    comment: This is a test comment
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local

- name: Set dhcp options for a network ipv4
  infoblox.nios_modules.nios_network:
    network: 192.168.10.0/24
    comment: this is a test comment
    options:
      - name: domain-name
        value: ansible.com
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local

- name: Set filters for a network ipv4
  infoblox.nios_modules.nios_network:
    network: 192.168.10.0/24
    comment: this is a test comment
    use_logic_filter_rules: true
    logic_filter_rules:
      - filter: PXE-UEFI
        type: Option
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local

- name: Remove a network ipv4
  infoblox.nios_modules.nios_network:
    network: 192.168.10.0/24
    state: absent
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local

- name: Configure an ipv4 network container
  infoblox.nios_modules.nios_network:
    network: 192.168.10.0/24
    container: true
    comment: test network container
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local

- name: Configure an ipv6 network container
  infoblox.nios_modules.nios_network:
    network: fe80::/64
    container: true
    comment: test network container
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local

- name: Remove an ipv4 network container
  infoblox.nios_modules.nios_network:
    networkr: 192.168.10.0/24
    container: true
    comment: test network container
    state: absent
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local

作者

  • Peter Sprygada (@privateip)

  • Matthew Dennett (@matthewdennett)