我有以下Ansible项目结构:
├── demo.yml
├── hosts
├── group_vars
│ └── all
└── roles
├── common
│ ├── tasks
│ │ └── main.yml
│ └── templates
│ └── init.j2
Inside' hosts',我有:
[primary]
server1
[secondary]
server2
在roles / common / templates / init.j2中,我希望能够引用 [primary] 组变量。因为Ansible使用Jinja2作为其template module。我被引导到this Jinja2 doc。
我试过了:
print("{{ group['primary'] }}")
但它会回来:
['server1']
现在我只能在循环中得到它:
{% for host in groups['primary'] %}
print("{{ host }}")
{% endfor %}
它会返回我想要的东西:
server1
但是如何在不使用循环的情况下获得此结果?
答案 0 :(得分:4)
试试这个......
groups['primary'][0]
或只是打印组,您应该能够看到数据的存储方式。
希望这有帮助!