Estaba intentando usar vars_prompt
en Ansible con valores predeterminados tomados de los hechos (o de otra manera una variable previamente definida). El libro de jugadas está destinado a ser utilizado como ad-hoc para el aprovisionamiento inicial.
Mi libro de jugadas:
--- - hosts: server01 gather_facts: True vars_prompt: - name: new_hostname prompt: please enter the name for the target default: "{{ ansible_hostname }}" private: no tasks: - debug: msg="{{ new_hostname }}"
Resultado actual:
please enter the name for the target [{{ ansible_hostname }}]: ERROR! 'ansible_hostname' is undefined
Resultados esperados (suponiendo ansible_hostname=server01
:
please enter the name for the target [server01]:
¿Es posible lograrlo en Ansible?
Esto se puede implementar usando el módulo de pause
:
--- - hosts: server01 gather_facts: True tasks: - pause: prompt: please enter the name for the target [{{ ansible_hostname }}] register: prompt - debug: msg: "{{ prompt.user_input if prompt.user_input else ansible_hostname }}"