30 lines
967 B
YAML
30 lines
967 B
YAML
---
|
|
|
|
- name: Set default ip
|
|
ansible.builtin.set_fact:
|
|
lxc_ip_address: "192.168.0.90"
|
|
|
|
- name: Set default network mask
|
|
ansible.builtin.set_fact:
|
|
lxc_netmask: "24"
|
|
|
|
- name: Prompt for IP with immediate validation
|
|
ansible.builtin.pause:
|
|
prompt: "Enter ip in x.x.x.x/x format [192.168.0.90/24]"
|
|
register: ip_result
|
|
until: >
|
|
ip_result.user_input | length == 0 or
|
|
ip_result.user_input is regex('^((25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)/(3[0-2]|[12]?\\d)$')
|
|
retries: 2
|
|
delay: 0
|
|
|
|
- name: Use user input only if provided, otherwise keep the default (IP)
|
|
ansible.builtin.set_fact:
|
|
lxc_ip_address: "{{ ip_result.user_input.split('/') | first }}"
|
|
when: ip_result.user_input | length > 0
|
|
|
|
- name: Use user input only if provided, otherwise keep the default (netmask)
|
|
ansible.builtin.set_fact:
|
|
lxc_netmask: "{{ ip_result.user_input.split('/') | second }}"
|
|
when: ip_result.user_input | length > 0
|