参考Ansible inventory entry的value部分
Referring to the value part of Ansible inventory entry
如果我的 Ansible hosts
文件中有以下条目:
[dbserver]
myserver
然后在我的任务代码的其他地方,我可以将 myserver
称为 {{ groups['dbserver'][0] }}
以动态获取主机名。效果很好。
现在 - 类似的情况。假设我将 hosts
文件更改为:
[dbserver]
db1 ansible_host=myserver ansible_user=myuser
我发现 {{ groups['dbserver'][0] }}
现在将 return "db1" 并且它似乎是一个纯字符串。但是如果我需要引用实际的主机名 "myserver" 并且还需要知道用户 "myuser" 怎么办?我如何访问这些值?
ansible_host
和 ansible_user
是为特定主机定义的,因此可以通过 hostvars
:
访问它们
- debug:
var: hostvars['db1']['ansible_host']
- debug:
var: hostvars['db1']['ansible_user']
如果我的 Ansible hosts
文件中有以下条目:
[dbserver]
myserver
然后在我的任务代码的其他地方,我可以将 myserver
称为 {{ groups['dbserver'][0] }}
以动态获取主机名。效果很好。
现在 - 类似的情况。假设我将 hosts
文件更改为:
[dbserver]
db1 ansible_host=myserver ansible_user=myuser
我发现 {{ groups['dbserver'][0] }}
现在将 return "db1" 并且它似乎是一个纯字符串。但是如果我需要引用实际的主机名 "myserver" 并且还需要知道用户 "myuser" 怎么办?我如何访问这些值?
ansible_host
和 ansible_user
是为特定主机定义的,因此可以通过 hostvars
:
- debug:
var: hostvars['db1']['ansible_host']
- debug:
var: hostvars['db1']['ansible_user']