Podczas tworzenia nowej roli Ansible szablon tworzy zarówno katalog, jak vars
i defaults
katalog z pustym main.yml
plikiem. Definiując swoją rolę, mogę umieścić definicje zmiennych w dowolnej z nich, a będą one dostępne w moich zadaniach.
Jaka jest różnica między umieszczaniem definicji w defaults
a vars
? W co powinno się wejść defaults
i w co należy vars
? Czy sensowne jest używanie obu dla tych samych danych?
Wiem, że istnieje różnica w pierwszeństwie / priorytecie między nimi, ale chciałbym zrozumieć, co powinno się udać.
Powiedzmy, że moja rola utworzyłaby listę katalogów w systemie docelowym. Chciałbym podać listę domyślnych katalogów, które mają zostać utworzone, ale chciałbym, aby użytkownik mógł je zastąpić podczas korzystania z roli.
Oto jak to by wyglądało:
---
- directories:
- foo
- bar
- baz
Mógłbym umieścić to albo w, defaults/main.yml
albo w vars/main.yml
, z perspektywy wykonania, nie miałoby to żadnego znaczenia - ale gdzie to powinno iść?
defaults
a covars
dalej.