Ansible 使用loop/with_项构建变量列表

Ansible 使用loop/with_项构建变量列表,ansible,Ansible,我正在尝试使用loop/with\u item动态构建列表: - name: processes package: "" set_fact: plugin_options: "{{ CollectFileDescriptor true | CollectContextSwitch true | <ProcessMatch '{{ item.name }}' > | CollectFileDescriptor false | CollectContextSwitc

我正在尝试使用loop/with\u item动态构建列表:

- name: processes
  package: ""
  set_fact:
    plugin_options: "{{ CollectFileDescriptor true | CollectContextSwitch true | <ProcessMatch   '{{ item.name }}'  > | CollectFileDescriptor false | CollectContextSwitch true | </ProcessMatch>}}"
    loop:
       - { name: proc1 }
       - { name: proc2 }
-名称:进程
包装:“
设定事实:
插件_选项:{{CollectFileDescriptor true | CollectContextSwitch true | | CollectFileDescriptor false | CollectContextSwitch true |}”
循环:
-{name:proc1}
-{name:proc2}
因此,在最后,我应该为plugin_提供以下选项:

CollectFileDescriptor true 
CollectContextSwitch true 
<ProcessMatch   proc1  > 
 CollectFileDescriptor false 
 CollectContextSwitch true 
</ProcessMatch>
CollectFileDescriptor true 
CollectContextSwitch true 
<ProcessMatch   proc2  > 
 CollectFileDescriptor false 
 CollectContextSwitch true 
</ProcessMatch>
CollectFileDescriptor true
CollectContextSwitch true
CollectFileDescriptor false
CollectContextSwitch true
CollectFileDescriptor true
CollectContextSwitch true
CollectFileDescriptor false
CollectContextSwitch true

显然我做错了什么。有什么提示吗

为什么您认为使用jinja2管道来构造XML元素是合适的

- set_fact:
    plugin_options: >-
      {% for item in ["proc1", "proc2"] %}
      CollectFileDescriptor true 
      CollectContextSwitch true 
      <ProcessMatch  {{item}} > 
      CollectFileDescriptor false 
      CollectContextSwitch true 
      </ProcessMatch>
      {% endfor %}
-设置事实:
插件选项:>-
{%用于[“proc1”,“proc2”]%中的项
CollectFileDescriptor true
CollectContextSwitch true
CollectFileDescriptor false
CollectContextSwitch true
{%endfor%}