如何从Ansible中的列表中制作口述
因此,我有一个列表,其中包含一些我想格式化/转换为dict的项目 当前列表如下所示(虚拟内容) 预期结果是这样的,如何从Ansible中的列表中制作口述,ansible,yaml,jinja2,ansible-inventory,Ansible,Yaml,Jinja2,Ansible Inventory,因此,我有一个列表,其中包含一些我想格式化/转换为dict的项目 当前列表如下所示(虚拟内容) 预期结果是这样的, users: - username: "John" fullname: - name: John_Doe - username: Jane fullname: - name: Jane_Doe 我知道使用Jinja2可以完成类似的事情,但我似乎无法在我的用例中找到它。提前谢谢。下面的剧本 vars: users: - John - J
users:
- username: "John"
fullname:
- name: John_Doe
- username: Jane
fullname:
- name: Jane_Doe
我知道使用Jinja2可以完成类似的事情,但我似乎无法在我的用例中找到它。提前谢谢。下面的剧本
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
给出(节略):
这就是你要找的吗?你尝试了什么,结果如何,哪里遇到了问题?
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
"users_dir": [
{
"fullname": [
{
"name": "John_Doe"
}
],
"username": "John"
},
{
"fullname": [
{
"name": "Jane_Doe"
}
],
"username": "Jane"
}
]