指定文件夹来过滤 VMware 的 Ansible 动态清单

指定文件夹来过滤 VMware 的 Ansible 动态清单

我想使用vmware_inventory.py 动态清单脚本使用 Ansible 根据我的 VMware 客户机生成库存。

但是,我的 Vsphere 集群上运行着许多主机,我不希望将它们包含在清单中,也不想用 Ansible 进行管理。在 vmware_inventory.ini 配置中,我看到以下行:

#host_filters={{ guest.gueststate == "running" }}

这看起来对于仅过滤我希望管理的访客很有用。但是,我看不到此字段的可能值记录在哪里。理想情况下,我会将其与配置结合使用groupby_patterns以获取具有与 Vsphere 中的文件夹相对应的组的清单。

我如何指定只将位于特定文件夹中的主机、名称中带有前缀的主机或为它们分配了其他属性的主机加载到我的库存中?

编辑:这也可能是一个标签

答案1

我发现我需要先修改 skip_keys 参数

skip_keys = declaredalarmstate,disabledmethod,dynamicproperty,dynamictype,environmentbrowser,managedby,childtype,resourceconfig

(删除父级,以便不再跳过该键)

现在,我可以指定这样的过滤器:

host_filters={{ parent.name == "MyFolderName"}}

它将返回文件夹下的所有机器我的文件夹名称在 VSphere 中

相关内容