2

我编写了需要设置一些事实的 Ansible 模块 my_module。

我在模块中定义了下面的代码

.... 
response = {
    "hello": "world",
    "ansible_facts" : {
        "my_data": "xjfdks"
    }
}
module.exit_json(changed=False, meta=response)

现在在执行 my_module 后的剧本中我想访问新的事实,但它没有定义

- my_module
- debug: msg="My new fact {{ my_data }}"

正确的方法是什么?

4

1 回答 1

4

您应该ansible_facts直接在模块的输出中设置,而不是在meta.

要从您的示例中返回所有response的键:

module.exit_json(changed=False, **response)

或仅适用于 ansible_facts:

module.exit_json(changed=False, ansible_facts=response['ansible_facts'])

于 2016-11-24T19:36:29.043 回答