我怎样才能完成这样的事情?
vars_prompt:
new_password: "new password for {{ target_username }}@{{ ansible_hostname }}?"
编辑:根据mgsk's回答,我决定只在帐户创建过程中存储默认密码,而不是提示用户。我的ssh
游戏无论如何都会禁用密码登录,所以我只是试图阻止帐户锁定,因为没有为用户输入密码。
所以我写了一个默认密码,然后用这个处理程序提醒操作员改变它:
handlers:
- name: warn default password
debug: msg="default password installed for {{ target_username }}; be sure to change it"
答案 0 :(得分:2)
vars_prompt
在事实收集之前运行。我不认为你能做到这一点,不是用任何标准方式。引用Ansible的作者:
Ansible已经明确强调自动化并提出要求 任务级别的问题不是我们真正想做的事情。
但是,您仍然可以在播放级别询问vars_prompt问题并使用 整个任务中的变量。你只是不能提问 作用。
实际上,这就是我想强制执行的 - 如果有很多Galaxy 角色开始提问,我可以看到这很烦人:)
请参阅ansible-devel邮件列表上的related discussion。