是否可以在vars_prompt
?
我希望做这样的事情:
- hosts: production
vars_prompt:
confirm: "This playbook is configured to act on all $hosts hosts, please confirm"
... vars_prompt
打印的问题应该是:
"This playbook is configured to act on all **production** hosts, please confirm"
答案 0 :(得分:5)
这并没有完全回答这个问题,因为我试图使用当前稳定版本的Ansible显然无法实现,但我想描述一个帮助我解决用例的解决方法:
首先,我想从hosts
消息中的剧本中输出vars_prompt
的原因是为了确保该剧本永远不会在不适合的主机上运行。该剧本为VM设置了备份,虽然它的动作是幂等的,但我的部分虚拟机首先需要备份。所以我编写了剧本来自动在VM上安装备份客户端,并在中央备份服务器上配置新客户端。
我所做的是确保我只为预期的主机运行此剧本是为了使剧本本身的hosts
参数成为变量,如下所示:
- hosts: '{{ host }}'
如果在命令行中没有指定主机,则playbook将立即失败。在命令行上指定这样一个变量的方法是:
ansible-playbook --extra-vars="host=HOSTNAME" playbook.yml
答案 1 :(得分:2)
这是不可能的,至少就像ansible 1.4.4版一样。 vars_prompt确切地显示了引号内的内容,因此任何$,{{}}等都与输入的完全一致。
发帖来提交功能请求