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