Ansible var不替换字典中的变量

我有以下变量和字典:

My_VAR1: "Hello"
My_VAR2: "My_DIC1"
My_DIC1: 
   key1: "{{ My_VAR1 }} World"
My_VAR3: "{{ vars[My_VAR2]['key1'] }}"

但是似乎vars不能替代变量,我得到以下输出:

TASK [output : {{ My_VAR1 }} World] ***

有没有一种方法可以迫使vars替换变量并获得以下输出:

TASK [output : Hello World] ***
zmf2200 回答:Ansible var不替换字典中的变量

  

Q:“是否有一种方法可以强制vars替换变量并获得以下输出”

TASK [output : Hello World]

A:下面的戏

  vars:
    My_VAR1: Hello
    My_VAR2: "{{ My_VAR1 }} World"
    My_VAR3: "{{ My_VAR2 }}"
  tasks:
    - debug:
        var: My_VAR3

给予

"My_VAR3": "Hello World"

  

Q:“ My_VAR2是字典...”

A:将 lookup vars 插件一起使用。以下播放结果相同。

  vars:
    My_VAR1: Hello
    My_DIC1:
      key1: "{{ My_VAR1 }} World"
    My_VAR2: "My_DIC1"
    My_VAR3: "{{ lookup('vars',My_VAR2).key1 }}"
  tasks:
    - debug:
        var: My_VAR3
本文链接:https://www.f2er.com/3165860.html

大家都在问