Я хотел бы объединить простой список / массив во вложенный словарь (поправьте меня, если один из этих терминов неверен)
Пособие
---
- hosts: localhost
gather_facts: no
vars:
- simple:
- right
- middle
- top
- nested:
- hostname: foo
path:
- left
- hostname: bar
path:
- blue
- green
- yellow
- "{{ simple }}"
tasks:
- name: content of nested
debug:
msg: "{{ nested }}"
Настоящий вывод является:
PLAY [localhost] ***************************************************************
TASK [content of nested] *******************************************************
Wednesday 31 August 2016 08:55:13 +0200 (0:00:00.025) 0:00:00.025 ******
ok: [localhost] => {
"msg": [
{
"hostname": "foo",
"path": [
"left"
]
},
{
"hostname": "bar",
"path": [
"blue",
"green",
"yellow",
[
"right",
"middle",
"top"
]
]
}
]
}
PLAY RECAP *********************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0
Что бы я нравится иметь есть (манипулирование выходом)
PLAY [localhost] ***************************************************************
TASK [content of nested] *******************************************************
Wednesday 31 August 2016 08:55:13 +0200 (0:00:00.025) 0:00:00.025 ******
ok: [localhost] => {
"msg": [
{
"hostname": "foo",
"path": [
"left"
]
},
{
"hostname": "bar",
"path": [
"blue",
"green",
"yellow",
"right",
"middle",
"top"
]
}
]
}
PLAY RECAP *********************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0
Спасибо за идеи!
Самым простым в этом примере, вероятно, будет (я не уверен, что такое определение переменных таким образом):
---
- hosts: localhost
gather_facts: no
vars:
- simple1:
- blue
- green
- yellow
- simple2:
- right
- middle
- top
- nested:
- hostname: foo
path:
- left
- hostname: bar
path: "{{ simple1 + simple 2 }}"
tasks:
- name: content of nested
debug:
msg: "{{ nested }}"