我在vars提示下面的代码片段没有按预期工作。 我试图仅在使用--limit执行playbook时针对特定主机组时提示用户,不应显示所有其他主机和组提示。
以下代码提示我,无论我在小组剧本电话中提供 - 限制。
vars_prompt:
- name: playbook_password
prompt: Please enter the playbook password
private: 'yes'
when: ('dbservers' in group_names)
答案 0 :(得分:4)
vars_prompt
受Play限制,因此您无法对其应用任何条件。
您可以在任务内使用pause
提示解决方法:
- name: playbook_password task
pause:
prompt: Please enter the playbook password
when: "'dbservers' in group_names"
register: playbook_password_prompt
- name: set playbook_password fact
set_fact:
playbook_password: "{{ playbook_password_prompt.user_input }}"
when: not playbook_password_prompt | skipped