jinja2 - How to write dynamic variable in Ansible playbook -
यदि केवल param1 param1, param2 पारित यदि param1, param2, param3 पारित किया जाता है तो वैरिएबल वैल्यू होगा Myvariable: 'param1, param2, param3' जब मैं टेम्पलेट के माध्यम से गतिशील रूप से चर बनाने की कोशिश करता हूं तो मेरी प्लेबुक हमेशा पिछले वैरिएबल वैल्यू लेती है। लेकिन अंदर मैं यहाँ एक कोशिश करता हूं तो अंदर myrole निर्देशिका I टेम्पलेट / myvar.j2 क्या यह संभव है मुझे यकीन है कि आप जो करना चाहते हैं, उसके लिए चालाक तरीके हैं लेकिन यह काम करना चाहिए: उम्मीद है कि मदद करता है मुझे यकीन नहीं है कि आप गतिशील रूप से चर का निर्माण कर सकते हैं और यह एक इटरेटर में कर सकते हैं। लेकिन आप एक छोटा अजगर कोड या किसी भी अन्य भाषा को भी लिख सकते हैं और इसे उत्तरदायी में प्लग कर सकते हैं अतिरिक्त वार्स पैरामीटर के आधार पर मुझे
ansible playbook
ansible-playbook playbook.yml -e "param1 = value1 param2 = value2 param3 = value3"
myvariable: 'param1, param2'
dest = roles / myrole / vars / main.yml इसके लेखन सही मूल्य।
- मेजबान: स्थानीय उपयोगकर्ता: रोप इकट्ठा करें: कनेक्शन: स्थानीय कनेक्शन: - टेम्पलेट: src = भूमिकाएं / मैरोल / टेम्पलेट / माइवर .j2 dest = roles / myrole / vars / main.yml - debug: var = myvariable भूमिकाएं: - {role: myrole}
टेम्पलेट और
वार्स
- भूमिकाएं - मैरियोल - वार्स / मुख्य.इंम - टेम्पलेट / myvar.j2 बना दिया है < / प्री>
{% यदि परम 1 परिभाषित किया गया है और param2 को परिभाषित किया गया है और param3 को परिभाषित किया गया है% myvariable: 'param1, param2 , param3 '{% elif param1 परिभाषित है और param2 परिभाषित%} myvariable:' param1, param2 '{% elif param1% परिभाषित किया गया है} myvariable:' param1 '{% else%} myvariable:' default-param '{% endif जैसा कि मुझे पता है कि केवल दो हालत तो मैं इसे
इनलाइन अभिव्यक्ति जैसा नीचे की तरह कर सकता हूँ
{{ param1, param2 'अगर param1 परिभाषित किया गया है और param2 को परिभाषित किया गया है' डिफ़ॉल्ट-पार Am '}}
& lt; कुछ करें & gt; यदि & lt; कुछ सच है & gt; else & lt; कुछ और करें & gt;
if - elif - else में
इनलाइन एक्सप्रेशन जैसा ऊपर दिया गया है या उत्तरदायी प्लेबुक में गतिशील रूप से मूल्य निर्दिष्ट करने का कोई अन्य तरीका?
- नाम: टेस्ट वर् मेजबान: सभी इकट्ठा करें: कोई वार्स: myvariable: झूठी कार्य: - नाम: param1 set_fact: myvariable: "{{param1}}" कब: param1 परिभाषित है - नाम: param2 set_fact : myvariable: "{{param2 यदि नहीं myvariable अन्य myvariable + ',' + param2}}" जब: param2 परिभाषित किया गया है - नाम: param3 set_fact: myvariable: "{{param3 यदि नहीं myvariable अन्य myvariable + ',' + param3} } "कब: param3 परिभाषित किया गया है - नाम: डिफ़ॉल्ट set_fact: myvariable:" default "जब: myvariable नहीं - डीबग: var = myvariable
Comments
Post a Comment