Ansible的with_together指令仅允许2个列表

时间:2017-09-18 19:22:17

标签: ansible

看起来with_together只允许两个列表,如下所示:

- name: combine items
  set_fact:
    commandList: "{{ commandList }} + [ '{{ item[0].path }} {{ item[1].path }} {{ item[3].path }}' ]"
  with_together:
    - "{{ findXmls['files'] }}"
    - "{{ findEars['files'] }}"
    - "{{others['files'] }}"

添加名为others的第三个列表时,此失败。即使第3个列表与其他列表重复,它也会失败,因此它不是结构/格式问题。

这是标准行为吗?

如果是这样,我将如何做一些像with_together这样的东西,让我一起使用3个列表?

它必须像with_together一样工作,因为它需要是从每个第n个元素到其他列表的第n个元素的1:1映射。

1 个答案:

答案 0 :(得分:1)

对于N个列表,一切正常。您应该访问具有从零开始的索引的项目:

'{{ item[0].path }} {{ item[1].path }} {{ item[2].path }}'

这是3个列表的示例。

您在尝试访问第三项时遇到拼写错误 - 它应该是item[2],而不是item[3]