我正在努力理解如何仅显示来自 Ansible 收集事实数据的特定事实...或者如何深入查看字典项目以仅显示一个项目
举个例子,我只希望这个事实“ansible_default_ipv4 .address”出现在输出中:
"address": "172.22.27.74"
我尝试了以下方法,但没有得到结果:
ansible all -i ostts5istrp01, -m setup -a "filter=ansible_default_ipv4.address"
我只能在使用时获取完整词典
filter= ansible_default_ipv4
那么我如何深入了解事实和子事实以仅显示一行?
我想摘录的例子:
ansible_facts.ansible_bond0.active
或
ansible_facts.ansible_bond0.features.esp_hw_offload
我怎样才能做到这一点?
filter
可以过滤事实,但不能提取键。要提取一些特定的键,您可以使用带有 jq
的管道,例如:
ansible all -i ostts5istrp01, -m setup -a "filter=ansible_bond0" | jq -r '.ansible_facts.ansible_bond0.active'
或
ansible all -i ostts5istrp01, -m setup -a "filter=ansible_bond0" | jq -r '.ansible_facts.ansible_bond0.features.esp_hw_offload'