Templates 错误!提供的额外vars数据无效';@/变量yaml';无法编入词典

Templates 错误!提供的额外vars数据无效';@/变量yaml';无法编入词典,templates,ansible,yaml,jinja2,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'无法编入词典 我尝试了以下方法: 它给了我一个类似的错误信

我不确定以下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
---
Somevar:
  - somesubvar:
     - somevalue
hamap.1.j2

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

使用下面的网站,并开始真正简单。 我发现了我的问题<代码>-表示一个子值

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

Esentaily我试图在yaml文件结构的顶部放置一个字典值
-Somevar
。它需要一个简单的列表元素。前面没有
-

在试验现场进行以下工作。

/vars.1.yaml

---
- Somevar:
  - somesubvar:
     - somevalue
---
Somevar:
  - somesubvar:
     - somevalue
hamap.1.j2

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