错误!提供了无效的额外vars数据。 '@。/ vars.yaml'无法制作成字典

时间:2019-02-15 14:30:59

标签: templates ansible yaml jinja2

我不确定以下Yaml有什么问题

ansible -v local -c local  -i ../../../inventory/staging.yml -m template  -a "src=hamap.1.j2 dest=/tmp/tmp.txt"  --extra-vars=@./vars.1.yaml

我希望生成文件/tmp/tmp.txt。 我收到以下错误

  

错误!提供了无效的额外vars数据。 '@。/ vars.1.yaml'无法制作成字典

我在ansible test site

中尝试了以下操作

它给了我类似的错误消息

  

错误!错误!提供了无效的额外vars数据。 '@ variables.yml'无法制作成字典

./ vars.1.yaml

---
- Somevar:
  - somesubvar:
     - somevalue

hamap.1.j2

{% for somesubvar in Somevar %}
{{ somesubvar  }} # somevalue should come out here
{% endfor %}

1 个答案:

答案 0 :(得分:1)

使用下面的网站并非常简单地开始。 我能够确定我的问题。 -表示子值。

documents from ansible

  

YAML基础知识
  对于Ansible,几乎每个YAML文件都以列表开头。列表中的每个项目都是键/值对的列表,通常称为“哈希”或“字典”。因此,我们需要知道如何在YAML中编写列表和字典。

Esentailly,我试图在yaml文件结构的顶部放置一个字典值- Somevar。这期待一个简单的列表元素。前面没有-

以下内容在测试站点中有效。 https://ansible.sivel.net/test/

./ vars.1.yaml

---
Somevar:
  - somesubvar:
     - somevalue

hamap.1.j2

{% for somesubvar in Somevar %}
{ somesubvar  } # somevalue should come out here
{% endfor %}