एक नई Ansible भूमिका बनाते समय, टेम्पलेट एक खाली फ़ाइल के साथ एक varsऔर एक defaultsनिर्देशिका दोनों बनाता है main.yml। अपनी भूमिका को परिभाषित करते समय, मैं इनमें से किसी एक में परिवर्तनशील परिभाषाएँ रख सकता हूं, और वे मेरे कार्यों में उपलब्ध होंगी।
defaultsऔर परिभाषाओं के बीच अंतर क्या है vars? क्या में जाना चाहिए defaults, और क्या करना चाहिए vars? क्या यह एक ही डेटा के लिए दोनों का उपयोग करने के लिए समझ में आता है?
मुझे पता है कि दोनों के बीच पूर्वता / प्राथमिकता में अंतर है, लेकिन मैं समझना चाहूंगा कि कहां जाना चाहिए।
मान लीजिए कि मेरी भूमिका लक्ष्य प्रणाली पर निर्देशिकाओं की एक सूची तैयार करेगी। मैं बनाई जाने वाली डिफ़ॉल्ट निर्देशिकाओं की एक सूची प्रदान करना चाहूंगा, लेकिन भूमिका का उपयोग करते समय उपयोगकर्ता को उन्हें ओवरराइड करने की अनुमति देना चाहूंगा।
यहां देखें कि यह कैसा होगा:
---
- directories:
- foo
- bar
- baz
मैं इसे या तो में defaults/main.ymlया vars/main.ymlएक निष्पादन परिप्रेक्ष्य से अंदर रख सकता हूं , इससे कोई फर्क नहीं पड़ेगा - लेकिन इसे कहां जाना चाहिए?
defaultsकिvarsआगे क्या करना है और क्या करना है ।