Я пытаюсь построить файл конфигурации динамически с помощью Ansible, используя шаблон Jinja2.
В Ansible я определил роль, в которой у меня есть шаблон и набор переменных.
Я хочу, чтобы мой выходной файл выглядел так:
models:
model1:
username: user1
password: password1
model2:
username: user2
password: password2
Я определил мои переменные следующим образом:
model_list:
name:
- model1
- model2
user:
- user1
- user2
pass:
- password1
- password2
Мой .j2 шаблон:
{% for model in vars[model_list] %}
{{ model.name }}
username: {{ model.user }}
password: {{ model.pass }}
{% endfor %}
Моя книга игр довольно проста:
- name: Building config file
template:
src: ./config.j2
dest: my/path/config
Когда я запускаю книгу, у меня появляется следующая ошибка:
fatal: [FRADEV048]: FAILED! => {"changed": false, "msg":
"AnsibleUndefinedVariable: dict object has no element {u'user':
u'user1', u'name': u'model1', u'pass': u'password1'}"}
Я довольно новичок в программировании, поэтому яне понимаю, где моя ошибка ... Есть какие-нибудь подсказки?
Заранее спасибо за помощь,
Саймон