infoblox.nios_modules.nios_host_record 模块 – 配置 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_host_record。
infoblox.nios_modules 1.0.0 中的新增功能
概要
- 添加和/或删除 Infoblox NIOS 服务器上的主机记录对象的实例。此模块使用通过 REST 的 Infoblox WAPI 接口管理 NIOS - record:host对象。
- 更新 Infoblox NIOS 服务器上的主机记录对象的实例。 
需求
执行此模块的主机需要以下需求。
- infoblox-client 
参数
| 参数 | 注释 | 
|---|---|
| 配置要添加到主机记录的附加别名可选列表。这些等效于 CNAME,但保留在主机记录中。必须采用列表格式。 | |
| 配置要与该对象实例关联的文本字符串注释。提供的文本字符串将在对象实例上配置。 | |
| 将 DNS 设置为特定父项。如果用户需要绕过 DNS,则可以将值设置为 false。 选项 
 | |
| 允许在对象的实例上配置可扩展属性。此参数接受一组键/值对进行配置。 | |
| 配置此主机记录的 IPv4 地址。此参数接受值列表(请参阅子选项)。 | |
| 如果用户希望将 ipv4 地址添加到现有主机记录。请注意,使用 *add*,用户必须将 *state* 保持为 *present*,因为新的 IP 地址已分配给现有主机记录。请参阅示例。 选项 
 | |
| 通过 DHCP 而不是 DNS 配置 host_record,如果用户将其更改为 true,则需要提及 MAC 地址才能进行配置。 选项 
 | |
| 配置主机记录的 IPv4 地址。用户可以通过传递包含 *nios_next_ip* 和 *CIDR 网络范围* 的字典来动态地将 ipv4 地址分配给主机记录。如果用户想要添加或删除现有记录中的 ipv4 地址,则需要使用 *add/remove* 参数。请参阅示例。 | |
| 配置主机记录的硬件 MAC 地址。如果用户将 DHCP 设置为 true,则需要提及 MAC 地址。 | |
| 以 FQDN 格式的名称和/或主机需要从中引导的下一个服务器的 IPv4 地址作为输入。 | |
| 如果用户希望从现有主机记录中删除 ipv4 地址。请注意,使用 *remove*,用户必须将 *state* 更改为 *absent*,因为 IP 地址已从现有主机记录中取消分配。请参阅示例。 选项 
 | |
| 当 use_for_ea_inheritance 为 True 时,EA 将从主机地址继承。默认值为 False。 选项 
 | |
| 启用 nextserver 选项的使用 选项 
 | |
| 配置主机记录的 IPv6 地址。此参数接受值列表(请参阅选项)。 | |
| 通过 DHCP 而不是 DNS 配置 host_record,如果用户将其更改为 true,则需要提及 DUID 地址才能进行配置。 选项 
 | |
| 配置主机记录的硬件 DUID 地址。如果用户将 DHCP 设置为 true,则需要提及 DUID 地址。 | |
| 配置主机记录的 IPv6 地址。 | |
| 指定要添加或删除的完全限定主机名。用户也可以更新主机名,因为可以传递包含new_name、old_name的字典。请参阅示例。 | |
| 包含连接详细信息的字典对象。 | |
| 指定客户端证书文件,其中包含 x509 配置摘要,用于增强与 NIOS 远程实例的连接安全性。 也可以使用 | |
| 指定用于通过 REST 连接到 NIOS WAPI 远程实例的 DNS 主机名或地址。 也可以使用 | |
| 在此处插入描述 默认值:  | |
| 在此处插入描述 默认值:  | |
| 接收响应之前的等待时间。 也可以使用 默认值:  | |
| 指定用于与证书一起加密的私钥文件,以便与 NIOS 的远程实例连接。 也可以使用 | |
| 指定要返回的对象的最大数量,如果设置为负数,则当返回的对象数量超过设置值时,设备将返回错误。 也可以使用 默认值:  | |
| 配置在声明连接可用之前的重试次数。 也可以使用 默认值:  | |
| 指定用于验证与 NIOS 远程实例连接的密码。 也可以使用 | |
| 在此处插入描述 选项 
 | |
| 配置用于验证与 NIOS 远程实例连接的用户名。 也可以使用 | |
| 布尔值,用于启用或禁用 SSL 证书验证。 也可以使用 选项 
 | |
| 指定要使用的 WAPI 版本。 也可以使用 在 Ansible 2.8 之前,默认 WAPI 版本为 1.4。 默认值:  | |
| 配置 NIOS 服务器上对象实例的预期状态。当此值设置为 选项 
 | |
| 配置与此主机记录关联的 TTL。 | |
| 当 use_dns_ea_inheritance 为 True 时,将从关联区域继承 EA。默认值为 False。 选项 
 | |
| 设置要与此主机记录关联的 DNS 视图。DNS 视图必须已在系统上配置。 默认值:  | 
注释
注意
- 此模块支持 - check_mode。
- 此模块必须在本地运行,这可以通过指定 - connection: local来实现。
- 请阅读 :ref:`nios_guide`,以获取有关如何将 Infoblox 与 Ansible 一起使用的更多详细信息。 
示例
- name: Configure an ipv4 host record
  infoblox.nios_modules.nios_host_record:
    name: host.ansible.com
    ipv4:
      - address: 192.168.10.1
    aliases:
      - cname.ansible.com
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local
- name: Add a comment to an existing host record
  infoblox.nios_modules.nios_host_record:
    name: host.ansible.com
    ipv4:
      - address: 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 a host record from the system
  infoblox.nios_modules.nios_host_record:
    name: host.ansible.com
    state: absent
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local
- name: Update an ipv4 host record
  infoblox.nios_modules.nios_host_record:
    name: {new_name: host-new.ansible.com, old_name: host.ansible.com}
    ipv4:
      - address: 192.168.10.1
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local
- name: Create an ipv4 host record bypassing DNS
  infoblox.nios_modules.nios_host_record:
    name: new_host
    ipv4:
      - address: 192.168.10.1
    dns: false
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local
- name: Create an ipv4 host record over DHCP
  infoblox.nios_modules.nios_host_record:
    name: host.ansible.com
    ipv4:
      - address: 192.168.10.1
        dhcp: true
        mac: 00-80-C8-E3-4C-BD
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local
- name: Create an ipv4 host record with DNS EA inheritance enabled
  infoblox.nios_modules.nios_host_record:
    name: host.ansible.com
    configure_for_dns: true
    use_dns_ea_inheritance: true
    ipv4:
      - address: 192.168.10.1
        dhcp: true
        mac: 00-80-C8-E3-4C-BD
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local
- name: Create an ipv4 host record with host address EA inheritance enabled
  infoblox.nios_modules.nios_host_record:
    name: host.ansible.com
    configure_for_dns: true
    ipv4:
      - address: 192.168.10.1
        dhcp: true
        mac: 00-80-C8-E3-4C-BD
        use_for_ea_inheritance: true
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local
- name: Create an ipv4 host record over DHCP with PXE server
  infoblox.nios_modules.nios_host_record:
    name: host.ansible.com
    ipv4:
      - address: 192.168.10.1
        dhcp: true
        mac: 00-80-C8-E3-4C-BD
        use_nextserver: true
        nextserver: pxe-server.com
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local
- name: Dynamically add host record to next available ip
  infoblox.nios_modules.nios_host_record:
    name: host.ansible.com
    ipv4:
      - address: {nios_next_ip: 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: Add ip to host record
  infoblox.nios_modules.nios_host_record:
    name: host.ansible.com
    ipv4:
      - address: 192.168.10.2
        add: true
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local
- name: Remove ip from host record
  infoblox.nios_modules.nios_host_record:
    name: host.ansible.com
    ipv4:
      - address: 192.168.10.1
        remove: true
    state: absent
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
  connection: local
- name: Create host record with IPv4 and IPv6 addresses
  infoblox.nios_modules.nios_host_record:
    name: hostrec.ansible.com
    ipv4:
      - address: 192.168.10.7
        mac: 12:80:C8:E3:4C:AB
    ipv6:
      - address: fe80::10
        duid: 12:80:C8:E3:4C:B4
    state: present
    provider:
      host: "{{ inventory_hostname_short }}"
      username: admin
      password: admin
    connection: local
