【发布时间】:2020-11-03 17:12:01
【问题描述】:
我有一个 Ansible 任务,它根据特定条件收集用户数据并将输出注册到变量中,并尝试在下一个任务中迭代注册的数据以仅获取 name 参数。
{
"registered_data": {
"changed": false,
"msg": "All items completed",
"results": [
{
"ansible_loop_var": "item",
"changed": false,
"failed": false,
"data_details": [
{
"name": "John",
"street": "SanFisco"
},
{
"name": "Dan",
"street": "Califor"
},
{
"name": "Jack",
"street": "NY"
},
{
"name": "Wills",
"street": "NJ"
}
],
"invocation": {
"module_args": {
"sort_by": null,
"sort_order": null
}
},
"item": {
"status": "READY"
}
},
{
"ansible_loop_var": "item",
"changed": false,
"failed": false,
"data_details": [],
"invocation": {
"module_args": {
"sort_by": null,
"sort_order": null
}
},
"item": {
"status": "READY"
}
},
{
"ansible_loop_var": "item",
"changed": false,
"failed": false,
"data_details": [],
"invocation": {
"module_args": {
"sort_by": null,
"sort_order": null
}
},
"item": {
"status": "READY"
}
}
]
}
}
我正在尝试使用以下 ansible 任务来解析和过滤不返回任何输出的数据。
- name: 'printing data'
delegate_to: 'localhost'
when: item
loop: "{{ registered_data |json_query(projection_query) }}"
debug:
msg: "{{ item }}"
vars:
projection_query: "results.[*].name"
【问题讨论】:
-
@Zeitounator 对不起。我只是简单地从产生类似结果的 ansible 输出中复制。我现在已经更正了。
标签: ansible json-query