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