Skip to content

Instantly share code, notes, and snippets.

@jpmens
Last active March 6, 2024 17:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jpmens/641707fd965d1894eced8d305d30400a to your computer and use it in GitHub Desktop.
Save jpmens/641707fd965d1894eced8d305d30400a to your computer and use it in GitHub Desktop.
- hosts: localhost
gather_facts: no
connection: local
vars:
customer:
- name: cust1
events:
- name: event 1
letter: birthday
- name: event 2
letter: holiday
- name: cust2
events:
- name: event 1
letter: child 1
tasks:
- debug: var=customer
- debug: var=item
with_subelements:
- "{{ customer }}"
- events
- debug: msg='/customer/{{ item[0]["name"] }}/letter/{{ item[1]["letter"] }}'
with_subelements:
- "{{ customer }}"
- events
PLAY [localhost] ***************************************************************
TASK [debug] *******************************************************************
ok: [localhost] => {
"customer": [
{
"events": [
{
"letter": "birthday",
"name": "event 1"
},
{
"letter": "holiday",
"name": "event 2"
}
],
"name": "cust1"
},
{
"events": [
{
"letter": "child 1",
"name": "event 1"
}
],
"name": "cust2"
}
]
}
TASK [debug] *******************************************************************
ok: [localhost] => (item=[{'name': 'cust1'}, {'name': 'event 1', 'letter': 'birthday'}]) => {
"ansible_loop_var": "item",
"item": [
{
"name": "cust1"
},
{
"letter": "birthday",
"name": "event 1"
}
]
}
ok: [localhost] => (item=[{'name': 'cust1'}, {'name': 'event 2', 'letter': 'holiday'}]) => {
"ansible_loop_var": "item",
"item": [
{
"name": "cust1"
},
{
"letter": "holiday",
"name": "event 2"
}
]
}
ok: [localhost] => (item=[{'name': 'cust2'}, {'name': 'event 1', 'letter': 'child 1'}]) => {
"ansible_loop_var": "item",
"item": [
{
"name": "cust2"
},
{
"letter": "child 1",
"name": "event 1"
}
]
}
TASK [debug] *******************************************************************
ok: [localhost] => (item=[{'name': 'cust1'}, {'name': 'event 1', 'letter': 'birthday'}]) => {
"msg": "/customer/cust1/letter/birthday"
}
ok: [localhost] => (item=[{'name': 'cust1'}, {'name': 'event 2', 'letter': 'holiday'}]) => {
"msg": "/customer/cust1/letter/holiday"
}
ok: [localhost] => (item=[{'name': 'cust2'}, {'name': 'event 1', 'letter': 'child 1'}]) => {
"msg": "/customer/cust2/letter/child 1"
}
PLAY RECAP *********************************************************************
localhost : ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment