2014-09-03 78 views
3

我有以下Ansible項目結構:如何引用Ansible模板中的主機變量?

├── demo.yml 
├── hosts 
├── group_vars 
│   └── all 
└── roles 
    ├── common 
    │   ├── tasks 
    │   │   └── main.yml 
    │   └── templates 
    │    └── init.j2 

裏面 '主人',我有:

[primary] 
server1 
[secondary] 
server2 

在角色/普通/模板/ init.j2,我希望能夠參考到[主]組變量。由於Ansible使用Jinja2的template module。我被導向this Jinja2 doc

我想:

print("{{ group['primary'] }}") 

但它會返回:

['server1'] 

現在,我只能一個循環裏找到它:

{% for host in groups['primary'] %} 
    print("{{ host }}") 
{% endfor %} 

它將返回我想要什麼:

server1 

但是,如何在不使用循環的情況下得到此結果?

回答

3

嘗試......

groups['primary'][0] 

或只是打印組,你應該能夠看到數據是如何存儲。

希望這會有所幫助!

+0

我使用組['primary'] [0],它工作。謝謝。 – 2014-09-03 19:08:26

相關問題