Ansible模块如何返回事实
我写了一个简单的模块,这个模块需要设置一些事实 我在模块中定义了以下代码Ansible模块如何返回事实,ansible,ansible-playbook,ansible-facts,Ansible,Ansible Playbook,Ansible Facts,我写了一个简单的模块,这个模块需要设置一些事实 我在模块中定义了以下代码 .... response = { "hello": "world", "ansible_facts" : { "my_data": "xjfdks" } } module.exit_json(changed=False, meta=response) 现在,在执行完我的_模块后的playbook中,我想要访问新的事实,但它没有定义 - my_module - debug: ms
....
response = {
"hello": "world",
"ansible_facts" : {
"my_data": "xjfdks"
}
}
module.exit_json(changed=False, meta=response)
现在,在执行完我的_模块后的playbook中,我想要访问新的事实,但它没有定义
- my_module
- debug: msg="My new fact {{ my_data }}"
正确的方法是什么?您应该直接在模块的输出中设置
ansible\u facts
,而不是在meta
中设置
要从示例中返回所有响应
的键,请执行以下操作:
module.exit\u json(changed=False,**响应)
或仅针对可解释的事实:
module.exit_json(changed=False,ansible\u facts=response['ansible\u facts'])
不熟悉ansible
,但是考虑到response
对象结构,它不应该是符合{{ansible\u facts.my\u data}}
精神的吗?不,这个错误是致命的:[localhost]:失败!=>{“failed”:true,“msg”:“'ansible_facts'未定义”}