2017-12-10 5 views
1

Ich nehme an, ich mache hier etwas falsch, aber es wäre hilfreich, wenn jemand mir zumindest in die richtige Richtung zeigen könnte. Ich habe folgende Aufgabe:Problem mit Ansible ternären Filter

- 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) }}" 

Die Liste extra_users wird nur manchmal definiert, und wenn es nicht ist, scheitert die Aufgabe mit dem Fehler "'extra_users' is undefined", die ich die ternären gedacht, Schutz vor. Was läuft falsch?

Antwort

1

Ich denke, dass die Parameter der ternary Filter ausgewertet werden, egal was.

Auf jeden Fall ist es eine einfachere Lösung:

with_items: "{{ users | union(extra_users | default ([])) }}"