以下代码运行正常,直到它在“保存本地任务”
上出错 - local_action: file dest=firewallinfo.txt state=touch
- name: "Gather firewall information"
script: firewall.sh
register: output
- debug: var=output
- name: Firewall Name
raw: hostname
register: output2
- debug: var=output2
- name: the file
raw: cat "{{item}}".csv
with_items: '{{output2.stdout_lines}}'
register: output3
- debug: var=output3
这是我的代码停止工作的地方。谁知道为什么?
- name: save locally
local_action: lineinfile dest=firewallinfo.txt line="{{item}}"
with_items: '{{output3.stdout_lines}}'
答案 0 :(得分:0)
变量output3
是多项目任务的结果
因此output3
是一个带有results
列表的词典
您需要output3.results[i].stdout_lines[j]
。
将您的任务更改为:
- name: save locally
local_action: lineinfile dest=firewallinfo.txt line="{{item}}"
with_items: "{{ output3.results | sum(attribute='stdout_lines', start=[]) | list }}"
它会在每个结果中合并所有stdout_lines
,并为您提供一个平面列表来迭代。