在Ansible中,可以使用内置的role_names
变量来获取playbook范围内所有使用的角色的名称列表。
以下是一个使用role_names
变量的示例:
---
- name: Example Playbook
hosts: localhost
roles:
- role: my_role1
- role: my_role2
- role: my_role3
tasks:
- name: Display role_names
debug:
var: role_names
在上面的示例中,我们定义了一个名为Example Playbook
的playbook,并在roles
部分中列出了三个角色(my_role1,my_role2和my_role3)。
然后,我们在tasks
部分中添加了一个任务,使用debug
模块打印role_names
变量的值。
运行这个playbook后,输出将会显示所有使用的角色的名称列表:
TASK [Display role_names] ******************************************************
ok: [localhost] => {
"role_names": [
"my_role1",
"my_role2",
"my_role3"
]
}
这样,你就可以在playbook范围内访问role_names
变量,并根据需要进行进一步处理。