community.vmware.vmware_host_inventory 清单 – VMware ESXi 主机系统清单来源
注意
此清单插件是 community.vmware 集合 (版本 5.2.0) 的一部分。
如果您使用的是 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install community.vmware
。您需要其他要求才能使用此清单插件,请参阅 要求 获取详细信息。
要在剧本中使用它,请指定: community.vmware.vmware_host_inventory
。
概要
从 VMware 环境获取 VMware ESXi 主机系统作为清单主机。
使用任何以 vmware.yml、vmware.yaml、vmware_host_inventory.yml 或 vmware_host_inventory.yaml 结尾的文件作为 YAML 配置文件。
要求
以下要求是在执行此清单的本地控制器节点上需要的。
vSphere 自动化 SDK - 用于标签功能
参数
参数 |
注释 |
---|---|
切换以启用/禁用清单源数据的缓存,需要设置缓存插件才能工作。 选项
配置
|
|
缓存连接数据或路径,请阅读缓存插件文档以了解详细信息。 配置
|
|
要用于清单源数据的缓存插件。 默认值: 配置
|
|
用于缓存插件文件/表的前缀 默认值: 配置
|
|
缓存持续时间(秒) 默认值: 配置
|
|
从 jinja2 表达式创建变量。 默认值: |
|
此选项允许使用 jinja 模板对客户端进行主机过滤。 如果引入了服务器端过滤,则应优先于此。 默认值: |
|
根据 Jinja2 条件将主机添加到组。 默认值: |
|
按优先级顺序排列的模板列表,用于组合 inventory_hostname。 如果结果为空字符串或 None 值,则忽略模板。 您可以在 默认值: |
|
根据变量的值将主机添加到组。 默认值: |
|
当主机变量的值为空字符串时的默认值。 |
|
用于生成组的输入字典中的键 |
|
键控组的父组 |
|
键控组名称将以此前缀开头 默认值: |
|
用于构建键控组名称的分隔符 默认值: |
|
将此选项设置为 此选项与 选项
|
|
与 keyed_groups 结合使用。 默认情况下,未提供前缀或分隔符的键控组的名称将以下划线开头。 这是因为默认前缀为“”而默认分隔符为“_”。 如果未给出前缀,请将此选项设置为 False 以省略前导下划线(或其他分隔符)。 如果组名称来自映射,则仍使用分隔符来连接项目。 要完全不使用组名称中的分隔符,请将键控组的分隔符设置为空字符串。 选项
|
|
指定与 ESXi 主机系统关联的 VMware 模式属性列表。 这些属性将在给定 ESXi 主机系统的 hostvars 中填充。 列表中的每个值都可以是主机系统对象中特定属性的路径或主机系统对象集合的路径。 如果 请确保此选项中包含在其他参数中使用的所有属性。 除了 ESXi 主机系统的属性外,以下是一些特殊值 使用 使用 默认值: |
|
用于限制搜索范围的资源列表。 每个资源项目都由一个 键名基于 vim 类型名称的蛇形大小写;例如 默认值: |
|
如果 由于可以在表达式中使用 facts,因此它们可能并不总是可用,因此我们默认忽略这些错误。 选项
|
|
将额外变量合并到可用于组合的变量中(最高优先级)。 选项
配置
|
|
此选项将扁平化的属性名称转换为嵌套字典。 选项
|
|
包含 ESXi 主机系统的路径。 将此选项设置为字符串值以替换来自 *‘Datacenters’* 的根名称。 选项
|
|
此选项允许属性名称清理,以创建安全的属性名称以在 Ansible 中使用。 此外,将属性名称转换为蛇形大小写。 选项
|
|
包含标签和关联的主机。 需要在给定的控制器机器上安装“vSphere Automation SDK”库。 请参考以下网址了解安装步骤 https://code.vmware.com/web/sdk/7.0/vsphere-automation-python 选项
|
示例
# Sample configuration file for VMware Host dynamic inventory
plugin: community.vmware.vmware_host_inventory
strict: false
hostname: 10.65.223.31
username: [email protected]
password: Esxi@123$%
validate_certs: false
with_tags: true
# Sample configuration file for VMware Guest dynamic inventory using Jinja to template the username and password.
plugin: community.vmware.vmware_host_inventory
strict: false
hostname: 10.65.223.31
username: '{{ (lookup("file","~/.config/vmware.yaml") | from_yaml).username }}'
password: '{{ (lookup("file","~/.config/vmware.yaml") | from_yaml).password }}'
validate_certs: false
with_tags: true
# Using compose
plugin: community.vmware.vmware_host_inventory
hostname: 10.65.223.31
username: [email protected]
password: Esxi@123$%
validate_certs: false
properties:
- name
- summary
- config.lockdownMode
compose:
ansible_user: "'root'"
ansible_connection: "'ssh'"