我一直在尝试编写一个角色,该角色的变量初始化为空,并且根据应用于项目的 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')})"
处理\任务\main.yml:
- name: Matching items to values
set_fact:
append: >-
{{ 'append | default([]) |' + statement }}
loop: "{{ results }}"
register: append
预期结果是“附加”应该能够根据应用于“语句”变量中的项目的过滤器进行填充,就像在单页剧本中所做的那样。