【发布时间】:2018-10-26 21:52:27
【问题描述】:
现在我以这种方式使用我自己的模块:
- get_my_data:
hostvars: '{{ hostvars }}'
它使用所有主机的配置并收集一些数据。
我可以在此模块中获取hostvars 而无需显式操作吗?
module = AnsibleModule(
argument_spec=dict(
hostvars=dict(type='dict', required=True),
),
supports_check_mode=True
)
hostvars = module.params['hostvars']
# some exports
result = {'changed': False, 'ansible_facts': {'my_data': 'test'}}
module.exit_json(**result)
我还使用ansible_facts 字典导出新变量。如何通过register 导出它们?
更新:
Jinja {{ variables }} 不会在 hostvars 字典中替换。如何修复它以将实际变量提供给模块?
更新 2:hostvars: '{{ hostvars | to_json }}' 帮助我评估所有变量
Ansible 2.7.1
【问题讨论】: