Ansible
使用 ad-hoc 命令的 Ansible 過濾器
如何使用 ad-hoc 命令過濾
nocache
塊或塊?free
我試過ansible centos1 -m setup -a 'filter=ansible_memory_mb.nocache'
了,但沒有過濾掉。ansible centos1 -m setup -a 'filter=ansible_memory_mb' centos1 | SUCCESS => { "ansible_facts": { "ansible_memory_mb": { "nocache": { "free": 11808, "used": 926 }, "real": { "free": 10686, "total": 12734, "used": 2048 }, "swap": { "cached": 0, "free": 4096, "total": 4096, "used": 0 } }, "discovered_interpreter_python": "/usr/libexec/platform-python" }, "changed": false }
你不能。正如文件
setup
所說,“過濾器選項僅過濾 ansible_facts 下的第一級子鍵。”
這有點亂,但你可以..
我正在對我的 localhost 執行我的 ansible,因此您必須稍微修改路徑,並替換localhost
ANSIBLE_LOAD_CALLBACK_PLUGINS=true ANSIBLE_STDOUT_CALLBACK=json ansible localhost -m setup | jq .plays[].tasks[].hosts.localhost.ansible_facts.ansible_memory_mb.nocache
輸出:
{ "free": 11987, "used": 703 }