带复合变量的条件时的Ansible

带复合变量的条件时的Ansible,ansible,conditional-statements,jinja2,Ansible,Conditional Statements,Jinja2,我知道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" 给了我预期的结果

我知道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将无法检测到这些变量。

可以创建其他变量

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