item_list: [data, database, proddata]
我正在尝试做一个有条件的when: item.name in item_list
如何使 when 子句明确,以便如果我正在循环的项目列表仅是 [data],那么“database”和“proddata”不会将条件传递为 true?我只想通过 EXACT 拼写。
例子
---
- name: Explicit example
hosts: localhost
connection: local
vars:
source_list:
- name: proddata
- name: data
- name: other
dest_list1: [this, thing]
dest_list2: [database, proddata]
final_list: '{{ dest_list1 | union(dest_list2) | join(",") }}'
tasks:
- name: test
debug:
msg: '{{ item.name }}'
with_items:
- '{{ source_list }}'
when: item.name in final_list
如您所见,data
不在final_list
但它显示为真。我相信因为数据包含在产品数据和数据库中。when: item.name == (item.name in final_list)
如果可能的话,我希望这样做。我只是不确定我需要哪个过滤器。