我正在为自己做一个小型的ansible项目。
我的角色默认文件夹中有main.yml
。
结构:
master-folder
`- roles
`- some_role
|- tasks
| `- main.yml
`- defaults
`- main.yml
现在...
在我的some_variables.yml
我有一个有2个vars的字典。
parent_var:
child_var: bob
child_two_var: bobby
在我的main.yml 任务中我想获取键和值所以(child_var: bob
)并将其写入另一个文件。
我需要帮助的是从默认文件夹中的main.yml
获取密钥和值。
答案 0 :(得分:0)
defaults/*.yml
中定义的任何变量均可通过{{tree.to.variable}}
角色的任何任务访问。
因此,在您的情况下,您只需访问{{parent_var}}
。
如果要循环键和值,可以使用with_dict
loop。
- lineinfile:
line: "Value for '{{ item.key }}' is '{{ item.value }}'"
dest: /tmp/test/file1
with_dict: "{{ parent_var }}"
如果你需要在模板中循环,那么jinja2中就会有{% for %}
。
- copy:
dest: /tmp/test/file
content: |
{% for k,v in parent_var.iteritems() %}
Value for '{{ k }}' is '{{ v }}'
{% endfor %}