Ansible:无法逃脱双花括号

时间:2018-04-17 15:53:48

标签: ansible ansible-2.x

我正在使用Ansible AWX执行一些部署。

在某个时间点,我想设置几个参数化(env var)网址,如下所示:

environment:
  SOME_URL: "https://{{ hostname }}/webpage/index.html#!/auth/passwordReset?token={% raw %}{{ token }}{% endraw %}"

此解决方案已在若干问题中提出。例如here

然而,在AWX的作业输出中,我一直得到:

  

“msg”:“'令牌'未定义”

使用AWX 1.0.4.130Ansible 2.5.0

编辑:使用以下转义方法获得完全相同的结果:

 environment:
      SOME_URL: "https://{{ hostname }}/webpage/index.html#!/auth/passwordReset?token='{{ '{{' }} token {{ '}}' }}'"

更新:问题似乎与env vars有关具体,因为当我以上述任何一种方式逃避双花括号时,它都能正常工作。

1 个答案:

答案 0 :(得分:0)

尝试使用“{{'{{'}}”和“{{'}}'}}”打印花括号。

快速示例:

---
- hosts: localhost
  gather_facts: no
  vars:
    SOME_URL: 'https://aaaaa/webpage/index.html#!/auth/passwordReset?token={{ "{{" }}aaa{{ "}}" }}'

  tasks:
  - name: print it out
    debug:
      var: SOME_URL