使用Ansible有条件地向命令模块添加其他参数

时间:2017-10-05 18:13:10

标签: ansible jinja2

我有一个ansible角色的任务,它调用一个带有一堆定义为ansible变量的args的脚本。任务看起来像这样:

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

问题是-r是一个可选参数,所以有时候我没有一个ansible变量传递给它,如果我使用了默认值("" )而不是。有没有办法在{{last_one_optional}}被定义的情况下可选地包含-r?我已经看过一些jinja内联if语句,而且我不知道这是否适用于ansible。

1 个答案:

答案 0 :(得分:1)

使用条件:

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