我需要一种方法来停止 Ansible 中的循环,就像C++ 或 Bash 中的break
语句一样for
。例如,我需要将循环扫描前的最后一个值设置为 0。
这default/main.yml
---
os_vars:
- 8
- 10
- 15
- 6
- 0
- 7
- 25
这tasks/main.yml
- name: Debug variables
ansible.builtin.set_fact:
a: "{{ item }}"
loop: "{{ os_vars }}"
when: item > 0
输出
TASK [test_role : Debug variables] *********************************************
ok: [localhost] => (item=8)
ok: [localhost] => (item=10)
ok: [localhost] => (item=15)
ok: [localhost] => (item=6)
skipping: [localhost] => (item=0)
ok: [localhost] => (item=7)
ok: [localhost] => (item=25)
我知道我可以设置其他布尔变量来控制循环没有分配以下项目,但我也需要节省时间来提高这个剧本的性能,因为有时这个循环体可能是一个巨大的数组并且我们不需要在某些条件匹配时检查以下项目...
请分享您的评论。提前致谢。