- name: Jinja Example Playbook
hosts: localhost
connection: local
vars_files:
- test-role/defaults/container.yml
- test-role/defaults/container_env.yml
vars:
combined_containers: "{{ (containers + container_env) | unique}}"
tasks:
- name: Container file
debug:
msg: "{{containers}}"
- name: Container env file
debug:
msg: "{{container_env}}"
- name: Combined
debug:
msg: "{{combined_containers}}"
- debug:
msg: "{{item.name}} - {{item.version}} - {{item.env}}"
with_items:
- "{{combined_containers}}"
---
container_env:
- name: httpd
env: Phil
- name: httpd
env: Phil
---containers: - name: httpd version: 2.4 - name: httpd env: PhilPLAY [Jinja Example Playbook] **************************************************
TASK [setup] *******************************************************************
ok: [localhost]
TASK [Container file] **********************************************************
ok: [localhost] => {
"msg": [
{
"name": "httpd",
"version": 2.4
},
{
"env": "Phil",
"name": "httpd"
}
]
}
TASK [Container env file] ******************************************************
ok: [localhost] => {
"msg": [
{
"env": "Phil",
"name": "httpd"
},
{
"env": "Phil",
"name": "httpd"
}
]
}
TASK [Combined] ****************************************************************
ok: [localhost] => {
"msg": [
{
"name": "httpd",
"version": 2.4
},
{
"env": "Phil",
"name": "httpd"
}
]
}
TASK [debug] *******************************************************************
fatal: [localhost]: FAILED! => {"failed": true, "msg": "'dict object' has no attribute 'env'"} "msg": [
{
"name": "httpd",
"version": 2.4,
"env": "Phil"
}
]