我认为我在这里做错了什么,但如果有人至少能指出我正确的方向,那将会很有帮助。我有以下任务:
- name: Set up users
user: name={{ item.username }}
groups={{ item.groups|join(',') }}
comment={{ item.full_name }}
shell=/bin/bash
with_items: "{{ (extra_users is defined) | ternary(users + extra_users, users) }}"
Run Code Online (Sandbox Code Playgroud)
该列表extra_users有时只是定义的,如果没有定义,任务就会失败并出现错误"'extra_users' is undefined",我认为三元组会防止这种情况。出了什么问题?
ternary我想无论如何都会评估过滤器的参数。
无论如何,有一个更简单的解决方案:
with_items: "{{ users | union(extra_users | default ([])) }}"
Run Code Online (Sandbox Code Playgroud)