Saat membuat peran Ansible baru, templat membuat direktori vars
a dan defaults
direktori dengan main.yml
file kosong . Ketika mendefinisikan peran saya, saya dapat menempatkan definisi variabel dalam salah satu dari ini, dan mereka akan tersedia dalam tugas saya.
Apa perbedaan antara memasukkan definisi ke dalam defaults
dan vars
? Apa yang harus masuk defaults
, dan apa yang harus masuk vars
? Apakah masuk akal untuk menggunakan keduanya untuk data yang sama?
Saya tahu ada perbedaan dalam hal prioritas / prioritas di antara keduanya, tetapi saya ingin memahami apa yang harus dilakukan.
Katakanlah peran saya akan membuat daftar direktori pada sistem target. Saya ingin memberikan daftar direktori default yang akan dibuat, tetapi ingin memungkinkan pengguna untuk menimpanya ketika menggunakan peran.
Ini akan terlihat seperti apa:
---
- directories:
- foo
- bar
- baz
Saya bisa menempatkan ini ke dalam defaults/main.yml
atau di dalam vars/main.yml
, dari perspektif eksekusi, itu tidak akan membuat perbedaan - tetapi ke mana harus pergi?
defaults
dan apa yangvars
lebih dalam .