Ansible 三元过滤器的问题

Leo*_*ves 3 jinja2 ansible

我认为我在这里做错了什么,但如果有人至少能指出我正确的方向,那将会很有帮助。我有以下任务:

- 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",我认为三元组会防止这种情况。出了什么问题?

zig*_*arn 5

ternary我想无论如何都会评估过滤器的参数。

无论如何,有一个更简单的解决方案:

with_items: "{{ users | union(extra_users | default ([])) }}"
Run Code Online (Sandbox Code Playgroud)