Я пытался написать роль, у которой есть переменная с нулевым значением, и значения добавляются на основе фильтров Jinja, применяемых к элементам, но это часто приводит к ошибкам в
{
"msg": "template error while templating string: expected token 'name', got 'string'. String: {{\n append\n | default([])\n | \"{{ statement }}\"\n}}"
}
testplaybook.yml:
- name: Processing role
include_role:
name: processing
vars:
statement: "combine({item._ansible_item_label.1:item.status|default('no status')})"
processing \ tasks \ main.yml:
- name: Matching items to values
set_fact:
append: >-
{{ 'append | default([]) |' + statement }}
loop: "{{ results }}"
register: append
Ожидаемый результат заключается в том, что "append" должен быть в состояниизаполнять на основе фильтров, примененных к элементам в переменной «оператор», так же, как это будет делать в одностраничной книге.