【发布时间】:2019-02-08 11:34:09
【问题描述】:
我正在尝试使用 ansible jinja2 模板化 python 脚本。当我将迭代项传递给模板以进一步生成 python 字典时不起作用。
提前感谢您的帮助!
[group_vars]
backups:
- sap
sap:
- db_host: sadf
- db_name: xyz
- db_user: xzzx
- db_pass: alskdf
ansible 模板看起来像:
- name: transfer backup script file
template:
src: backup.py.j2
dest: "{{ item }}_backup.py"
mode: 0755
with_items:
- "{{ backups }}"
jinja python 模板如下:
dbs = {
{% for mongo_d in item %}
"{{ mongo_d.db_name }}" :
{
"db_host": "{{ mongo_d.db_host }}",
"db_user": "{{ mongo_d.db_user }}",
"db_password": "{{ mongo_d.db_password }}",
]},
{% endfor %}
因错误而失败:
item: sap
msg: 'AnsibleUndefinedVariable: ''unicode object'' has no attribute ''db_name'''
【问题讨论】: