--- - name: Set default OS template ansible.builtin.set_fact: guest_os_template: "debian-13" - name: Prompt for OS template with immediate validation ansible.builtin.pause: prompt: "Choose OS template, available: debian-13, alpine [debian-13]" register: os_template_result until: > os_template_result.user_input | length == 0 or ( os_template_result.user_input in ['debian-13', 'alpine'] ) retries: 2 delay: 0 - name: Use user input only if provided, otherwise keep the default ansible.builtin.set_fact: guest_os_template: "{{ os_template_result.user_input }}" when: os_template_result.user_input | length > 0