So I have a list containing some items that I would like to format/transform to a dict.
The current list looks as followed, (dummy content)
users:
- John
- John_Doe
- Jane
- Jane_Doe
Expected result will be something like this,
users:
- username: "John"
fullname:
- name: John_Doe
- username: Jane
fullname:
- name: Jane_Doe
I know with the use of Jinja2 you could accomplish something like this but I can't seem to figure it out for my use case. Thanks in advance.
The play below
vars:
users:
- John
- John_Doe
- Jane
- Jane_Doe
users_dir: []
tasks:
- set_fact:
users_dir: "{{ users_dir + [{'username': users[item],
'fullname': [{'name': users[item+1]}]
}] }}"
loop: "{{ range(0, users|length, 2)|list }}"
- debug:
var: users_dir
gives (abridged):
"users_dir": [
{
"fullname": [
{
"name": "John_Doe"
}
],
"username": "John"
},
{
"fullname": [
{
"name": "Jane_Doe"
}
],
"username": "Jane"
}
]
Is this what you're looking for?