infoblox.nios_modules.nios_a_record 模块 – 配置 Infoblox NIOS A 记录

注意

此模块是 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_a_record

infoblox.nios_modules 1.0.0 中的新增功能

概要

  • 从 Infoblox NIOS 服务器添加和/或删除 A 记录对象的实例。此模块使用基于 REST 的 Infoblox WAPI 接口管理 NIOS record:a 对象。

要求

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

  • infoblox-client

参数

参数

注释

comment

字符串

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

extattrs

字典

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

ipv4addr

别名:ipv4

字符串 / 必需

配置此 A 记录的 IPv4 地址。用户可以通过传递包含 *nios_next_ip* 和 *CIDR 网络范围* 的字典来动态地将 IPv4 地址分配给 A 记录。还可以通过传递包含 *old_ipv4addr* 和 *new_ipv4addr* 的字典来静态更新 A 记录的 IPv4 地址。请参阅示例。

name

字符串 / 必需

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

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"

state

字符串

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

选择

  • "present" ← (默认)

  • "absent"

ttl

整数

配置与此 A 记录关联的 TTL(生存时间)。

视图(view)

别名: dns_view

字符串

设置与此 A 记录关联的 DNS 视图。该 DNS 视图必须已在系统上配置。

默认值: "default"

备注

注意

  • 此模块支持 check_mode(检查模式)。

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

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

示例

- name: Configure an A record
  infoblox.nios_modules.nios_a_record:
    name: a.ansible.com
    ipv4: 192.168.10.1
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local

- name: Add a comment to an existing A record
  infoblox.nios_modules.nios_a_record:
    name: a.ansible.com
    ipv4: 192.168.10.1
    comment: this is a test comment
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local

- name: Remove an A record from the system
  infoblox.nios_modules.nios_a_record:
    name: a.ansible.com
    ipv4: 192.168.10.1
    state: absent
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local

- name: Update an A record in custom view with a dynamic IP using nios_next_ip
  infoblox.nios_modules.nios_a_record:
    name: test.parent.com
    view: default.custom
    ipv4: {'old_ipv4addr': '10.0.0.5', nios_next_ip: 80.0.0.0/24}
    comment: this is a test comment
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local

- name: Update an A record with static ip
  infoblox.nios_modules.nios_a_record:
    name: test.parent.com
    view: default.custom
    ipv4: {'old_ipv4addr': '10.0.0.5', new_ipv4addr: '17.0.0.5'}
    comment: this is a test comment
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local

- name: Update an A record name
  infoblox.nios_modules.nios_a_record:
    name: {new_name: a_new.ansible.com, old_name: a.ansible.com}
    ipv4: 192.168.10.1
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local

- name: Dynamically add a record to next available ip
  infoblox.nios_modules.nios_a_record:
    name: a.ansible.com
    ipv4: {nios_next_ip: 192.168.10.0/24}
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local

作者

  • Blair Rampling (@brampling)