【发布时间】:2022-07-07 01:34:34
【问题描述】:
在 .yml 文件中,我存储了如下数据
---
Server:
"Node1" : ["Node1", "Owner1", "ID1"]
"Node2" : ["Node2", "Owner2", "ID2"]
现在,在 xyz.yml 剧本中,我尝试调试如下变量,并在命令行中传递 Node_Name (ansible-playbook xyz.yml -e "Node_Name=Node1")
---
- name: "Print Variable value"
hosts: all
gather_facts: no
vars:
Node_Name: Node
ID_Name: "{{ Server.{{ Node_Name }}[2] }}"
tasks:
- name: "Print the id"
debug:
msg:
- "The id is {{ ID_Name }}"
但这失败并出现错误 - Template error while templating string :expected name or number
请有人帮忙解决这个问题,让我知道如何将 ID 打印为输出。这里预期的输出是 ID1
【问题讨论】:
-
什么是
data1? -
哦,我的错,应该是 Node_Name
-
更正:ID_Name: "{{ Server.{{ Node_Name }}[2] }}"
-
请更新您的问题,使其包含正确的信息。
-
也更正了这个问题。谢谢
标签: ansible