Preciso de um método para parar o loop no Ansible, como break
na for
instrução em C++ ou Bash. Por exemplo, preciso do último valor antes do loop digitalizar para 0.
Odefault/main.yml
---
os_vars:
- 8
- 10
- 15
- 6
- 0
- 7
- 25
Otasks/main.yml
- name: Debug variables
ansible.builtin.set_fact:
a: "{{ item }}"
loop: "{{ os_vars }}"
when: item > 0
E a saída
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)
Eu sei que posso definir outra variável bool para controlar o loop, não atribuí um com os itens a seguir, mas também preciso economizar tempo para aumentar o desempenho deste manual, pois em algum momento esse corpo do loop pode ser uma matriz enorme e não o fazemos preciso verificar os seguintes itens quando alguma condição corresponder...
Por favor, compartilhe seus comentários. Desde já, obrigado.