2017-01-06 26 views
4

Если у меня есть следующая запись в моем файле анзибль hosts:Обращаясь к значению части записи инвентаризации анзибля

[dbserver] 
myserver 

Затем в другом месте в моем коде задачи я могу сослаться на myserver, как {{ groups['dbserver'][0] }}, чтобы получить имя хоста динамически. Прекрасно работает.

Теперь - аналогичный сценарий. Скажем, я изменил файл hosts на:

[dbserver] 
db1 ansible_host=myserver ansible_user=myuser 

То, что я узнал, что {{ groups['dbserver'][0] }} теперь вернется «DB1», и это, кажется, простая строка. Но что делать, если мне нужно ссылаться как на фактическое имя хоста «myserver», так и на то, чтобы знать пользователя «myuser». Как получить доступ к этим значениям?

ответ

3

ansible_host и ansible_user определены для определенных хостов, поэтому они доступны с hostvars:

- debug: 
    var: hostvars['db1']['ansible_host'] 
- debug: 
    var: hostvars['db1']['ansible_user'] 
+0

Fantastic! Именно ответ, который я искал! – Bostone