23 lines
769 B
YAML
23 lines
769 B
YAML
---
|
|
|
|
- name: Set default become method
|
|
ansible.builtin.set_fact:
|
|
guest_become_method: "sudo"
|
|
|
|
- name: Prompt for become method with immediate validation
|
|
ansible.builtin.pause:
|
|
prompt: "Choose become method, available: sudo, su, pbrun, pfexec, doas, dzdo, ksu, runas, machinectl [sudo]"
|
|
register: become_method_result
|
|
until: >
|
|
become_method_result.user_input | length == 0 or
|
|
(
|
|
become_method_result.user_input in ['sudo', 'su', 'pbrun', 'pfexec', 'doas', 'dzdo', 'ksu', 'runas', 'machinectl']
|
|
)
|
|
retries: 2
|
|
delay: 0
|
|
|
|
- name: Use user input only if provided, otherwise keep the default
|
|
ansible.builtin.set_fact:
|
|
guest_become_method: "{{ become_method_result.user_input }}"
|
|
when: become_method_result.user_input | length > 0
|