在“inventory_hostname”时使主机组成为变量的语法是什么?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在“inventory_hostname”时使主机组成为变量的语法是什么?相关的知识,希望对你有一定的参考价值。
我最近发现如何使用“when inventory_hostname”来为主机组中的第一个主机设置set_fact。我想知道如何将变量作为主机组传递。在我的测试中,我使用以下内容:
库存文件:
---
[test]
test-001.example.com
test-002.example.com
诗篇文件:
---
declared_hostgroup: test
剧本:
- name: set first host in group as master
set_fact:
test_order: MASTER
when: inventory_hostname == group.test[0]
这很好用。但我想将“group.test”中的“test”替换为变量“declared_hostgroup”。我尝试{{}}语法没有成功。任何建议都会非常感激。
答案
这是正确的语法:
when: inventory_hostname == group[declared_hostgroup][0]
但请记住,尽管Ansible试图保持主机的顺序一致,但它可能会在未来的某个时间制动(例如,不同的排序顺序或其他一些怪癖),因此您可能希望在清单中标记主机内部清单。
以上是关于在“inventory_hostname”时使主机组成为变量的语法是什么?的主要内容,如果未能解决你的问题,请参考以下文章