使用Jinja2比较同一列表中的2个项目

时间:2019-06-27 03:09:05

标签: ansible

在这里寻求帮助,如果我想比较2个列表项,jinja2过滤器会是什么样?例如:我只想过滤掉host = dnsname

的记录
server_list:
   - { host: server1, dnsname: server1.acme.com }
   - { host: server2, dnsname: server2.acme.com }
   - { host: server3, dnsname: server3 }

1 个答案:

答案 0 :(得分:0)

json_query将完成这项工作。以下任务

- set_fact:
    server_list2: "{{ server_list|json_query('[?host==dnsname]') }}"
- debug:
    var: server_list2

给予

"server_list2": [
    {
        "dnsname": "server3", 
        "host": "server3"
    }
]