我在Ansible方面的经验有限,只能尝试以下方法:
我的库存文件如下:
[SiteA]
Server1
Server2
[SiteB]
Server1B
Server2B
[datacenter:children]
SiteA
SiteB
等
在我的.yaml剧本中,我有以下内容:
---
- hosts: datacenter
gather_facts: no
connection: network_cli
vars_prompt:
- name: "user"
prompt: "Enter user"
- name: "password"
prompt: "Enter password"
tasks:
[doing some stuff, it works fine]
我想要的是提示用户有关远程目标应该是什么的问题。就像询问密码/用户一样,我想将他们的答案存储为变量并将其传递给主机。
所以基本上:
ansible-playbook playbook.yaml
What target host do u want? [options SiteA, SiteB, datacenter]
<user input of the options>
将他们的答案传递给:
- hosts: [userinput]
我尝试执行与请求用户/密码相同的操作,但是一直收到语法错误。目标主机应基于用户想要的目标是动态的。