我有一个 ansible 角色的任务,它调用一个带有一堆 args 的脚本,这些 args 被定义为 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 变量,如果我使用 default("") 代替,脚本会提示。仅当定义了 {{last_one_optional}} 时,是否有某种方法可以选择性地包含 -r ?我看过一些 jinja 内联 if 语句,但我不知道这是否适用于 ansible。
最佳答案
使用条件:
{{ ('-r ' + last_one_optional) if last_one_optional is defined else '' }}
关于ansible - 使用 Ansible 有条件地向命令模块添加其他参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46592264/