Khi tạo một vai trò Ansible mới, mẫu tạo cả thư mục a vars
và defaults
thư mục chứa một main.yml
tệp trống . Khi xác định vai trò của mình, tôi có thể đặt các định nghĩa biến trong một trong hai định nghĩa này và chúng sẽ có sẵn trong các nhiệm vụ của tôi.
Sự khác biệt giữa việc đưa các định nghĩa vào defaults
và là vars
gì? Những gì nên đi vào defaults
, và những gì nên vào vars
? Liệu nó có ý nghĩa để sử dụng cả hai cho cùng một dữ liệu?
Tôi biết rằng có một sự khác biệt về quyền ưu tiên / ưu tiên giữa hai người, nhưng tôi muốn hiểu những gì nên đi đâu.
Hãy nói rằng vai trò của tôi sẽ tạo ra một danh sách các thư mục trên hệ thống đích. Tôi muốn cung cấp một danh sách các thư mục mặc định sẽ được tạo, nhưng muốn cho phép người dùng ghi đè lên chúng khi sử dụng vai trò.
Đây là những gì nó sẽ trông như thế nào:
---
- directories:
- foo
- bar
- baz
Tôi có thể đặt cái này vào defaults/main.yml
hoặc trong vars/main.yml
, từ góc độ thực thi, nó sẽ không tạo ra bất kỳ sự khác biệt nào - nhưng nó nên đi đâu?
defaults
và những gìvars
tiếp theo.