मैं उत्तरदायी प्लेबुक में yaml सरणी --extra-vars
पर कैसे जा सकता हूं। उत्तरदायी दस्तावेज इसके वाक्यविन्यास की घोषणा नहीं करता है और न ही मैं इसे किसी भी इंटरनेट संसाधन पर पा सकता हूं।--extra-vars में पास सरणी - उत्तर
मेरा मतलब है अगर मैं एक प्लेबुक है:
---
- hosts: {{hostName}}
- remote_user: admin
...
तब मैं
ansible-playbook DeployWar.yml --extra-vars="hostName=tomcat-webApp"
की तरह मेरे प्लेबुक बुलाना चाहिए लेकिन मैं दो सर्वर पर इस प्लेबुक चलाना चाहते हैं tomcat-webApp
और tomcat-all
कहते हैं, और मैं इसे बाहर की ओर से नियंत्रित करना चाहता हूं यानी --extra-vars
का उपयोग करना। मैंने जो करने की कोशिश की है वह है:
ansible-playbook DeployWar.yml --extra-vars="hostName=[tomcat-webApp, tomcat-all]"
ansible-playbook DeployWar.yml --extra-vars="hostName={tomcat-webApp, tomcat-all}"
ansible-playbook DeployWar.yml --extra-vars="[{hostName: tomcat-webApp}, {hostName: tomcat-all}]"
लेकिन सभी मामलों में प्लेबुक मेरी कॉल में एक वाक्यविन्यास त्रुटि घोषित करने में विफल रहता है। किसी भी मदद की सराहना की।
जब भी मैं JSON के साथ काम कर रहा हूँ, चाहे अतिरिक्त वार्स में या कहीं और मैं http://jsonlint.com के उपयोग को खोजने एक lifesaver होने के लिए। {Test_list: [1,2,3]} को उस साइट पर पेस्ट करके आप जल्दी से सत्यापित कर सकते हैं कि आपका JSON वाक्य रचनात्मक रूप से सही है। यह विशेष रूप से उपयोगी होता है जब उत्तर में एकाधिक चर गुजरते हैं या जब आपके पास कोई अन्य जटिल JSON है जिसके साथ आप काम कर रहे हैं। –
यह उत्तर वास्तव में पुराना है - '--extra-vars = '{test_list: [1,2,3]}' 'का उपयोग करने से त्रुटि होगी' त्रुटि: डबल कोट्स में संलग्न संपत्ति का नाम अपेक्षित: पंक्ति 1 कॉलम 2 (चार 1) '(कम से कम 1.9.4 के साथ, जिसका मैं उपयोग कर रहा हूं), क्योंकि यह वैध JSON नहीं है। सही संस्करण '--extra-vars =' {"test_list" होगा: [1,2,3]} '' – iquito
अतिरिक्त-वर्क्स प्रारूपण को अपडेट किया गया, धन्यवाद! – jarv