我不确定以下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'无法制作成字典
它给了我类似的错误消息
错误!错误!提供了无效的额外vars数据。 '@ variables.yml'无法制作成字典
./ vars.1.yaml
---
- Somevar:
- somesubvar:
- somevalue
hamap.1.j2
{% for somesubvar in Somevar %}
{{ somesubvar }} # somevalue should come out here
{% endfor %}
答案 0 :(得分:1)
使用下面的网站并非常简单地开始。
我能够确定我的问题。 -
表示子值。
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 %}