# Allow and skip empty loop

**URL:** <https://forum.ansible.com/t/allow-and-skip-empty-loop/38737>\
**Category:** Ansible Project\
**Created:** [April 3, 2024, 9:11am UTC](https://forum.ansible.com/t/allow-and-skip-empty-loop/38737 "2024-04-03T09:11:34Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![adriansev](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/adriansev/32/4866_2.png) [@adriansev](https://forum.ansible.com/u/adriansev)\
**Post date:** [April 3, 2024, 9:11am UTC](https://forum.ansible.com/t/allow-and-skip-empty-loop/38737/1 "2024-04-03T09:11:34Z")

</div>

Hi! I would like to have an task that would delete groups  
ONLY if the variable have a content …

so i have an delete\_users\_groups.yml:

---

<div class="post-metadata">

**Author:** ![Chiku](https://avatars.discourse-cdn.com/v4/letter/c/3ab097/32.png) [@Chiku](https://forum.ansible.com/u/Chiku)\
**Post date:** [April 3, 2024, 9:19am UTC](https://forum.ansible.com/t/allow-and-skip-empty-loop/38737/2 "2024-04-03T09:19:34Z")

</div>

Writing delete\_groups: like that it mean empty string type.

So you need to write like delete\_groups: as empty list type.

---

<div class="post-metadata">

**Author:** ![vbotka](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/vbotka/32/359_2.png) [@vbotka](https://forum.ansible.com/u/vbotka)\
**Post date:** [April 3, 2024, 12:08pm UTC](https://forum.ansible.com/t/allow-and-skip-empty-loop/38737/3 "2024-04-03T12:08:04Z")

</div>

Use the filter \*default\*

&nbsp;&nbsp;loop: "{{ delete\_groups | default(, true) }}"

See:  
[https://jinja.palletsprojects.com/en/3.1.x/templates/#jinja-filters.default](https://jinja.palletsprojects.com/en/3.1.x/templates/#jinja-filters.default)

Optionally, use the module \*ansible.utils.validate\*  
See:  
[https://docs.ansible.com/ansible/latest/collections/ansible/utils/validate\_module.html](https://docs.ansible.com/ansible/latest/collections/ansible/utils/validate_module.html)
