有没有一种方法可以从定制的编写模块中访问主机/组var ?我想避免将所有必需的vars作为模块参数传递。
我的模块是用Python编写的,并且使用了样板。我检查了几乎所有可用的var,但它们没有存储在任何地方:
def main():
pprint(dir())
pprint(globals())
pprint(locals())
for name in vars().keys():
print(name)
现在,我唯一的希望是可以通过未记录的模块utils以某种方式访问它们。
我猜这是不可能的,因为该模块在目标计算机上运行,并且事实/主机/组变量可能不会随模块一起传输...
编辑:现在找到模块实用程序,它看起来没有希望。
我认为您在这里的想法几乎打定了主意:
我猜这是不可能的,因为该模块在目标计算机上运行,并且事实/主机/组变量可能不会随模块一起传输...
但是,话虽如此,如果您确实有此需要,那么可能会有一些混乱的方法。从Ansible 1.8开始,您可以设置事实缓存,该缓存使用redis来缓存播放之间的事实。由于redis非常易于使用,并且拥有大多数流行编程语言的客户端,因此您可以让模块查询redis服务器以获取所需的任何事实。这并不是最干净的方法,但它可能会起作用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句