专家
我是Ansible的新手,正在学习编写剧本。偶然发现一种运动,需要一些帮助- 遍历清单主机组,并根据主机组将/ home / student / text1中的任何现有内容替换为文本: -如果主持人在主持人组中,则文本应为:欢迎加入主持人A -如果主持人在B主持人组中,则文本应为:欢迎来到B组 -如果主机在C主机组中,则文本应为:欢迎使用C组
我可以通过以下循环遍历库存:“ {{groups ['all']}}”,但我又要如何设置另一个条件,即如果主机在A组中,而主机在其他B组中,那么遍历整个库存?
谢谢!
答案 0 :(得分:0)
Q:“根据主机组用文本替换/ home / student / text1中的任何现有内容:-如果主机在A主机组中,则文本应为:欢迎使用A组-如果主机在B主机中组,文本应为:欢迎来到B组-如果主持人在C主机组中,文本应为:欢迎来到C组”
A:我希望如果host是更多组的成员,例如B和C,文件/ home / student / text1应该看起来像
welcome to group B
welcome to group C
可以使用特殊变量group_names。
group_names:当前主机所属的组的列表
例如
- hosts: all
tasks:
- template:
src: text1.j2
dest: /home/student/text1
$ cat text1.j2
{% for group in group_names %}
welcome to group {{ group }}
{% endfor %}
(未经测试)