Ansible - 了解如何显示收集事实的某些部分

问题描述 投票:0回答:1

我正在努力理解如何仅显示来自 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

我怎样才能做到这一点?

dictionary ansible
1个回答
0
投票

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'
© www.soinside.com 2019 - 2024. All rights reserved.