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
。您需要进一步的要求才能使用此清单插件,请参阅 要求 以了解详细信息。
要在 playbook 中使用它,请指定:community.vmware.vmware_host_inventory
。
概要
从 VMware 环境获取 VMware ESXi 主机系统作为清单主机。
使用任何以 vmware.yml、vmware.yaml、vmware_host_inventory.yml 或 vmware_host_inventory.yaml 结尾的文件作为 YAML 配置文件。
要求
以下要求需要在执行此清单的本地控制器节点上满足。
vSphere Automation SDK - 用于标签功能
参数
参数 |
注释 |
---|---|
切换以启用/禁用清单源数据的缓存,需要设置缓存插件才能工作。 选项
配置
|
|
缓存连接数据或路径,请阅读缓存插件文档以了解具体信息。 配置
|
|
用于清单源数据的缓存插件。 默认值: 配置
|
|
用于缓存插件文件/表的前缀。 默认值: 配置
|
|
缓存持续时间(以秒为单位)。 默认值: 配置
|
|
从 jinja2 表达式创建变量。 默认值: |
|
此选项允许使用 jinja 模板进行客户端过滤主机。 当引入服务器端过滤时,应优先使用它。 默认值: |
|
根据 Jinja2 条件将主机添加到组。 默认值: |
|
按优先级顺序排列的模板列表,用于组成 inventory_hostname。 如果结果为空字符串或 None 值,则忽略模板。 您可以使用 默认值: |
|
根据变量的值将主机添加到组。 默认值: |
|
当主机变量的值为空字符串时的默认值。 此选项与 |
|
用于生成组的输入字典中的键。 |
|
键控组的父组。 |
|
键控组名称将以此前缀开头。 默认值: |
|
用于构建键控组名称的分隔符。 默认值: |
|
将此选项设置为 此选项与 选项
|
|
与 默认情况下,没有提供前缀或分隔符的键控组的名称将以下划线开头。 这是因为默认前缀为 将此选项设置为 如果组名称派生自映射,则分隔符仍用于连接项。 要完全不在组名中使用分隔符,请将键控组的分隔符设置为空字符串。 选项
|
|
指定与 ESXi 主机系统关联的 VMware 模式属性列表。 这些属性将填充到给定 ESXi 主机系统的 hostvars 中。 列表中的每个值可以是主机系统对象中特定属性的路径,也可以是主机系统对象集合的路径。 如果 请确保其他参数中使用的所有属性都包含在此选项中。 除了 ESXi 主机系统的属性外,以下是一些特殊值 使用 使用 默认值: |
|
限制搜索范围的资源列表。 每个资源项都由一个 键名基于 vim 类型名称的蛇形命名法; 例如, 默认值: |
|
如果 由于可以在表达式中使用事实,因此它们可能并不总是可用,默认情况下我们会忽略这些错误。 选项
|
|
将额外的变量合并到可用于组合的变量中(优先级最高)。 选项
配置
|
|
此选项将扁平化的属性名称转换为嵌套字典。 选项
|
|
包括 ESXi 主机系统的路径。 将此选项设置为字符串值以替换 'Datacenters' 中的根名称。 选项
|
|
此选项允许对属性名称进行清理,以创建可在 Ansible 中使用的安全属性名称。 此外,将属性名称转换为蛇形命名法。 选项
|
|
包括标签和关联的主机。 需要在给定的控制器机器上安装“vSphere Automation SDK”库。 请参考以下 URL 获取安装步骤 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'"