我正在尝试使用ansible循环列表列表来安装一些软件包.但是{{item}}返回子列表中的每个元素而不是子列表本身.我有一个yaml文件来自外部ansible的清单列表,它看起来像这样:
---
modules:
- ['module','version','extra']
- ['module2','version','extra']
- ['module3','version','extra']
Run Code Online (Sandbox Code Playgroud)
我的任务看起来像这样:
task:
- include_vars: /path/to/external/file.yml
- name: install modules
yum: name={{item.0}} state=installed
with_items: "{{ modules }}"
Run Code Online (Sandbox Code Playgroud)
当我跑步时,我得到:
fatal: [localhost]: FAILED! => {"failed": true, "msg": "ERROR! int object has no element 0"}
Run Code Online (Sandbox Code Playgroud)
当我尝试:
- debug: msg="{{item}}"
with_items: "{{module}}"
Run Code Online (Sandbox Code Playgroud)
它打印每个元素(模块,版本,额外等),而不仅仅是子列表(这是我期望的)