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

使用Ansible有条件地向命令模块添加附加参数,ansible,jinja2,Ansible,Jinja2,我有一个ansible角色中的任务,它调用一个脚本,其中包含一组定义为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}} 问题是-r是一个可选参数,所以有时我没有一个ansi

我有一个ansible角色中的任务,它调用一个脚本,其中包含一组定义为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}}
问题是-r是一个可选参数,所以有时我没有一个ansible变量传递给它,如果我使用默认值(“”),脚本会抱怨。只有在定义了{{last_one_optional}}时,是否有一些方法可以选择性地包含-r?我看过一些jinja内联if语句,我不知道这是否适用于ansible。

使用条件:

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