2014-09-03 38 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

相关问题