我有一个包含一些vars_promt
的剧本vars_prompt:
- name: domain_username
prompt: "Domain username? (firstname.lastname)"
private: no
- name: domain_password
prompt: "Domain password?"
private: yes
- name: pref_editor
prompt: "[A]tom or [V]isual Studio Code?"
private: no
我现在想以编程方式访问这些变量,例如
hostvars[inventory_hostname][variable]
其中variable
例如domain_username
但是vars_prompt
中的变量不包含在hostvars
中,查看文档时我无法找出哪个变量具有该范围。
答案 0 :(得分:1)
vars_prompt
个变量位于Play
范围内。它们对于当前播放中的所有主机是相同的,并且可以通过名称引用:
- debug: var=domain_username
hostvars
拥有主持人的事实。如果您需要在以后的播放中访问提示变量,可以设置如下事实:
- set_fact:
domain_username_fact: "{{ domain_username }}"
因此它成为主持人的事实,并以hostvars['some host'].domain_username_fact
提供。
答案 1 :(得分:0)
虽然我还没找到任何文档,但我确实找到了snipped
相关部分是:
Module Variables ("vars"):
--------------------------------
{{ vars | to_nice_json }}
因此,我可以hostvars[inventory_hostname][variable]
vars[variable]
。