【问题标题】:Conditionally add additional arguments to command module with Ansible使用 Ansible 有条件地向命令模块添加其他参数
【发布时间】:2017-10-05 18:13:09
【问题描述】:

我有一个 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。

【问题讨论】:

    标签: ansible jinja2


    【解决方案1】:

    使用条件:

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

    【讨论】:

      猜你喜欢
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 2013-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多