У меня есть этот список:
"mylist": [
{ "files": [{"path": "path11"}, {"path": "path12"}] },
{ "files": [{"path": "path21"}, {"path": "path22"}] }
]
, и мне нужно запустить роль с with_items , где элементы должны быть path элементами из моего списка.
Например:
- debug: msg="{{ item }}"
with_items: "{{ mylist | some_magic }}"
Необходимый вывод:
TASK [test : debug] **********************************
ok: [host] => (item=path11 ) => {
"msg": "path11"
}
ok: [host] => (item=path12 ) => {
"msg": "path12"
}
ok: [host] => (item=path21 ) => {
"msg": "path21"
}
...
Возможно ли это?
Это то, что я уже пробовал:
Конструкции выглядят так:
- debug: msg="{{ item }}"
with_items: "{% for files in mylist | map(attribute='files') %}{% for file in files %}{{file.path}}{% endfor %}{% endfor %}"
Возвращаемое значение, как и ожидалось, не является списком.
Неправильные конструкции выглядят так:
- debug: msg="{{ item }}"
with_items: "{{ mylist | map(attribute='files') | map(attribute='path') | list }}"