访问属于另一个组的角色的模板文件中的组变量
Accessing group variable in template file of role belonging to another group
库存文件:
[1]
IP
[2]
IP
[1:vars]
foo=test
如何访问将在组 [2] 上执行的角色中的变量 foo
?
变量来自何处(库存、剧本、额外)并不重要,您可以通过名称访问它,例如:
- debug:
msg: "{{ foo }}"
如果在多个地方定义了同名变量,则优先级高者优先(参见docs)。
首先,您不能用单个数字命名主机组,因此修复清单文件:
[group1]
IP1
[group2]
IP2
[group1:vars]
foo=test
然后当 运行 反对 group2
时,要访问为 group1
定义的变量,请使用以下结构:
- debug:
var: hostvars[groups['group1'][0]]['foo']
一般来说,我会尽量避免这样的引用。
库存文件:
[1]
IP
[2]
IP
[1:vars]
foo=test
如何访问将在组 [2] 上执行的角色中的变量 foo
?
变量来自何处(库存、剧本、额外)并不重要,您可以通过名称访问它,例如:
- debug:
msg: "{{ foo }}"
如果在多个地方定义了同名变量,则优先级高者优先(参见docs)。
首先,您不能用单个数字命名主机组,因此修复清单文件:
[group1]
IP1
[group2]
IP2
[group1:vars]
foo=test
然后当 运行 反对 group2
时,要访问为 group1
定义的变量,请使用以下结构:
- debug:
var: hostvars[groups['group1'][0]]['foo']
一般来说,我会尽量避免这样的引用。