ansible:收集事实时如何访问ansible\u env:false

ansible:收集事实时如何访问ansible\u env:false,ansible,Ansible,我希望有一个最低限度的事实收集,只会。实际上,我只对访问ansible_env中定义的变量感兴趣 我曾尝试将设置模块与filter:ansible\u env和gather\u subset:min一起使用,但它对我不起作用 任何暗示都将不胜感激 谢谢 我在下面报告一个最简单的例子: - hosts: localhost gather_facts: false tasks: - setup: filter: ansible_env - debug:

我希望有一个最低限度的事实收集,只会。实际上,我只对访问ansible_env中定义的变量感兴趣

我曾尝试将设置模块与filter:ansible\u env和gather\u subset:min一起使用,但它对我不起作用

任何暗示都将不胜感激


谢谢

我在下面报告一个最简单的例子:

- hosts: localhost
  gather_facts: false
  tasks:
    - setup:
        filter: ansible_env
    - debug:
        var=ansible_env

您可以执行如下Ansible命令来检索特定事实,而不是为此创建剧本:

ansible-m设置-a“filter=ansible\u分布”

这将通过
setup
模块执行全功能事实收集,然后从结果中删除除
ansible\u env
之外的所有内容。收集事实的好处是什么:是的,谢谢@康斯坦丁:我发现了收集事实的一个副作用:false,如果在剧本中定义环境变量,它不会自动公开为
ansible\u env。我的环境变量
我想它会比收集事实的速度快:true
我想它会比收集事实的速度快:true
——不会有任何问题抱歉,速度提高。有关
设置
模块使用的更多有用示例,请从本地系统的命令提示符执行
ansible doc setup
ansible <hostname> -m setup -a "filter=ansible_distribution"