【问题标题】:Ansible when conditional with composed variableAnsible 当条件与组合变量
【发布时间】:2019-09-12 23:07:48
【问题描述】:

我知道 ansible when 语句不应该包含任何 jinja2 分隔符 {{}}。 但是,在以下情况下是否可以避免这种情况:

vars:
  xvar: ['/path/file-blabla-abc', '/path/file-blabla-def']
  avar: blabla
  bvar: def

tasks:
- debug:
    msg: "yippie"
  when: "'/path/file-{{ avar }}-{{ bvar }}' in xvar"

给我预期的结果:

ok: [localhost] => {
    "msg": "yippie"
}

但也包括警告:

[WARNING]: when statements should not include jinja2 templating delimiters
   such as {{ }} or {% %}. Found: '/path/file-{{ avar }}-{{ bvar }}'

我该如何解决这个问题?我不能在这里省略 jinja2 分隔符,因为那时 ansible 将无法检测到变量。

【问题讨论】:

    标签: ansible conditional-statements jinja2


    【解决方案1】:

    可以创建一个额外的变量

    - debug:
        msg: OK
      vars:
        my_path: "/path/file-{{ avar }}-{{ bvar }}"
      when: my_path in xvar
    

    【讨论】:

      猜你喜欢
      • 2021-07-11
      • 2021-12-16
      • 2018-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-06
      相关资源
      最近更新 更多