ОШИБКА!Неверные дополнительные данные предоставлены.«@. / vars.yaml» не может быть превращен в словарь - PullRequest
0 голосов
/ 15 февраля 2019

Я не уверен, что не так со следующим 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.1.yaml» не может быть преобразован в словарьпохожее сообщение об ошибке

Ошибка!ОШИБКА!Неверные дополнительные данные предоставлены.«@ variables.yml» не может быть преобразован в словарь

. / vars.1.yaml

---
- Somevar:
  - somesubvar:
     - somevalue

hamap.1.j2

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

1 Ответ

0 голосов
/ 15 февраля 2019

Использовать следующий сайт и начать действительно просто.Я смог определить мою проблему.- указывает на подзначение.

документы от ansible

Основы YAML
Для Ansible почти каждый файл YAML начинается со списка.Каждый элемент в списке представляет собой список пар ключ / значение, обычно называемых «хэш» или «словарь».Итак, нам нужно знать, как писать списки и словари в YAML.

Поэтому я пытался поместить значение словаря - Somevar в начало структуры файла yaml.Который ожидает простой элемент списка.Нет - перед ним.

Следующие работы на тестовой площадке.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 %}
...