1
我試圖在Ansible中使用vars_prompt
,默認值取自事實(或其他先前定義的變量)。該劇本旨在用作初始配置的特別配置。在Ansible的vars_prompt中使用變量作爲默認值
我的劇本:
---
- 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 }}"
當前的結果:
please enter the name for the target [{{ ansible_hostname }}]:
ERROR! 'ansible_hostname' is undefined
預期的結果(假設ansible_hostname=server01
:
please enter the name for the target [server01]:
是否有可能在Ansible實現
我敢打賭,你在這裏運氣不好。在這個階段沒有主機變量 - 在任何主機完成任何任務(包括設置)之前,提示都是完整的並提出問題。可能是'{{new_hostname |默認(ansible_hostname)}}並且''new'hostname'和'-e'傳遞是一個解決方案。 –
「*在這個階段沒有宿主變量*」 - 問題是:在這個階段是否有任何變量被解釋(似乎任何變量都被視爲一個字符串)。除此之外,我開始懷疑我是否可以在本地創建一個來自j2模板的動態劇本並將其包含在內。 – techraf
快速查看代碼,提示此部分劇本不是模板化的。 –