我正在尝试在剧本执行期间动态创建一个列表,根据下面的代码,列表没有更新
- debug: var=builds[{{item}}]
with_sequence: start={{ exactlen }} end={{ buildslen }}
- set_fact: upg_version_list = upg_version_list + builds[{{item}}]
with_sequence: start={{ exactlen }} end={{ buildslen }}
这里builds是一个列表,exactlen和buildslen是列表的索引值。
如果我显示 upg_version_list 它有空值
答案1
key=value
参数的表示法不允许在之间有空格=
。- 参数的右边部分
set_fact
是一个字符串,所以你应该对其进行模板化。
尝试:
- set_fact: upg_version_list="{{ upg_version_list + builds[item] }}"
with_sequence: start={{ exactlen }} end={{ buildslen }}
您可能还希望使用列表来添加元素,并在第一次迭代中使用默认空列表:
{{ upg_version_list|default([]) + [builds[item]] }}