ansible:如何在提示符中进行字符串插值?

时间:2015-01-25 13:15:15

标签: ansible ansible-playbook

我怎样才能完成这样的事情?

  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"

1 个答案:

答案 0 :(得分:2)

vars_prompt在事实收集之前运行。我不认为你能做到这一点,不是用任何标准方式。引用Ansible的作者:

  

Ansible已经明确强调自动化并提出要求   任务级别的问题不是我们真正想做的事情。

     

但是,您仍然可以在播放级别询问vars_prompt问题并使用   整个任务中的变量。你只是不能提问   作用。

     

实际上,这就是我想强制执行的 - 如果有很多Galaxy   角色开始提问,我可以看到这很烦人:)

请参阅ansible-devel邮件列表上的related discussion