我有一个 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}}
Run Code Online (Sandbox Code Playgroud)
问题是 -r 是一个可选参数,所以有时我没有一个 ansible 变量可以传递给它,如果我使用 default("") 代替,脚本会抱怨。仅当定义了 {{last_one_optional}} 时,是否有某种方法可以选择包含 -r?我已经看到了一些内联的 jinja if 语句,我不知道这是否适用于 ansible。
使用条件:
{{ ('-r ' + last_one_optional) if last_one_optional is defined else '' }}
Run Code Online (Sandbox Code Playgroud)