创建新的Ansible角色时,模板会同时创建vars
和一个defaults
带有空main.yml
文件的目录。在定义角色时,我可以将变量定义放在任何一个中,并且它们将在我的任务中可用。
将定义放入defaults
和之间有什么区别vars
?应该进入defaults
什么,应该进入vars
什么?将两者用于同一数据是否有意义?
我知道两者之间的优先级/优先级有所不同,但是我想了解应该去哪里。
假设我的角色将在目标系统上创建目录列表。我想提供要创建的默认目录的列表,但想允许用户在使用角色时覆盖它们。
如下所示:
---
- directories:
- foo
- bar
- baz
从执行的角度来看,我可以将其放置在defaults/main.yml
或中vars/main.yml
,这没有任何区别-但是应该去哪里?
defaults
以及接下来要放的内容vars
。