如果我的Ansible hosts
文件中有以下条目:
[dbserver]
myserver
然后在我的任务代码的其他地方,我可以将myserver
称为{{ groups['dbserver'][0] }}
来动态获取主机名。效果很好。
现在 - 类似的情况。假设我将hosts
文件更改为:
[dbserver]
db1 ansible_host=myserver ansible_user=myuser
我发现{{ groups['dbserver'][0] }}
现在将返回" db1"它似乎是一个简单的字符串。但是,如果我需要同时参考实际主机名" myserver"并且还需要了解用户" myuser"。如何访问这些值?
答案 0 :(得分:3)
ansible_host
和ansible_user
是为特定主机定义的,因此可以hostvars
访问它们:
- debug:
var: hostvars['db1']['ansible_host']
- debug:
var: hostvars['db1']['ansible_user']