feat(pb,role,task): makes VM deployment playbook use new validation pre_tasks, become_method and os_template tasks are shared now

This commit is contained in:
2026-09-17 14:29:23 +04:00
parent f29de42397
commit 24f34198ff
6 changed files with 69 additions and 90 deletions
+22
View File
@@ -0,0 +1,22 @@
---
- 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
+22
View File
@@ -0,0 +1,22 @@
---
- 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