2017-10-05 2 views
0

J'ai une tâche dans un rôle ansible qui appelle un script avec un groupe d'arguments définis comme des variables ansibles. La tâche ressemble à ceci:Ajouter des arguments supplémentaires au module de commande avec Ansible

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

Le problème est que l'-r est un argument optionnel, donc parfois je n'ai pas une variable ansible pour lui passer, et le script si je plaint un défaut ("") au lieu. Est-il possible d'inclure le -r uniquement si {{last_one_optional}} est défini? J'ai vu certains des jinja en ligne si déclarations et je ne savais pas si cela fonctionnerait pour ansible ou non.

Répondre

1

usage conditionnel:

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