我正在尝试为Ansible编写一个清单/ vars插件,该清单将在加载清单时基于现有变量创建新变量。在某种程度上,它将类似于Constructed Plugin,除了它应该是纯Python,不涉及Jinja。造成这种情况的主要原因是我试图摆脱多个set_fact
任务,这些任务只能在变量周围移动。
但是,我找不到在加载清单时保存所有变量的正确位置/ Python对象。根据我的测试,看来inventory_plugins
仅可与直接存储在主机文件中的变量一起使用,而不能与host_vars
或group_vars
一起使用,因为已加载这些变量稍后由host_group_vars plugin。该插件针对清单文件夹中的每个文件路径执行,这意味着它仅包含一次迭代中特定主机或组的变量。我正在努力寻找对象,将所有这些变量组合在一起并可以进行进一步处理。
谢谢您的帮助或建议,也许我错过了一种完全不同的方法。