में परिवर्तनीय परिभाषित करें मैं इस तरह की एक उत्तरदायी प्लेबुक में सशर्त रूप से एक चर परिभाषित करना चाहता हूं: my_var: "{{ 'foo' if my_condition}}"
। यदि स्थिति सत्य को हल नहीं करती है तो मैं चर को अपरिभाषित रखना चाहता हूं। fatal: [foo.local] => {'msg': 'AnsibleUndefinedVariable: One or more undefined variables: the inline if-expression on line 1 evaluated to false and no else section was defined.', 'failed': True}
: अगर मैं यह करने के लिए कोशिशसशर्त रूप से Ansible
Ansible एक त्रुटि देता है। वैसे भी यह एक त्रुटि क्यों है?
पूरा मामला इस तरह दिखता है: {role: foo, my_var: "foo"}
। यदि my_var
परिभाषित किया गया है, तो भूमिका कुछ खास होती है। कुछ मामलों में, मैं यह करने की भूमिका नहीं चाहता हूं। मैं when: condition
का उपयोग कर सकता था, लेकिन फिर मुझे पूरी भूमिका ब्लॉक की प्रतिलिपि बनाना होगा। मैं एक अतिरिक्त बूल वैरिएबल का भी उपयोग कर सकता हूं, लेकिन मुझे भूमिका में "इंटरफ़ेस" को बदलने के बिना समाधान चाहिए।
कोई भी विचार?
मैं शेल कमांड का उपयोग करने के बजाय फ़ाइल की जांच करने के लिए स्टेट मॉड्यूल का उपयोग करने की सलाह दूंगा। –