Ran*_*ndy 3 ansible ansible-playbook
我有一个列表,我想用它来查看列表中的任何成员是否在第二个列表中,并在 Ansiblewhen子句中使用它。这可以在单线中完成吗?
- name: task include moar ansible
include: more_tasks.yaml
when: any_member_of_this_list in some_other_list
Run Code Online (Sandbox Code Playgroud)
这很容易。Ansible引入了一些额外的 Jinja 过滤器,其中之一是intersect,它返回包含在两个列表中的唯一元素。由于空列表是假的,非空列表是真,所以没有比这更多的事情要做:
when: any_member_of_this_list | intersect(some_other_list)
Run Code Online (Sandbox Code Playgroud)