Collection level variable指的是在Ansible中针对不同的Collection可以设定不同的变量值。具体实现可以通过在collection的vars目录下新建一个main.yml文件来设置变量。
示例:
将变量放在collection/namespace/collection_name/vars/main.yml中:
# collection/namespace/collection_name/vars/main.yml
---
my_collection_var: My Collection variable
在playbook或者role中可以使用lookup函数来访问Collection level variable:
# Example playbook
- hosts: all
gather_facts: false
tasks:
- name: Set collection variable
set_fact:
my_collection_var: "{{lookup('community.general.collection_info', 'namespace/collection_name').vars.my_collection_var}}"
- name: Display collection variable
debug:
var: my_collection_var
这里使用了community.general.collection_info中的lookup函数来获得Collection level variable的值。