2017-10-05 3 views
0

Ich habe eine Aufgabe in einer ansible Rolle, die ein Skript mit einer Reihe von Argumenten aufruft, die als ansible Variablen definiert sind. Die Aufgabe sieht wie folgt aus:Bedingte zusätzliche Argumente zum Befehlsmodul mit Ansible hinzufügen

- name: Generate config files 
    command: /etc/whatever/gen-config.sh -n {{domain}} -m {{ another_option }} -w {{ws_enabled | default('N') }} -r {{ last_one_optional}} 

Das Problem ist, dass die -r ein optionales Argument ist, so dass manchmal ich es nicht über eine ansible Variable zu übergeben, und das Skript beschwert, wenn ich einen Standard verwendet ("") stattdessen. Gibt es eine Möglichkeit, die Option -r optional hinzuzufügen, wenn nur {{last_one_optional}} definiert ist? Ich habe einige der Jinja-Inline-If-Statements gesehen, und ich wusste nicht, ob das für Ansible funktionieren würde oder nicht.

Antwort

1

Verwendung bedingte:

{{ ('-r ' + last_one_optional) if last_one_optional is defined else '' }} 
Verwandte Themen