में पूरे लूप को छोड़ें यदि मैं Ansible में पूरे लूप को छोड़ना चाहता हूं तो मुझे क्या करना चाहिए?Ansible
दिशा-निर्देशों के अनुसार,
जबकि
with_items
साथwhen
संयोजन (लूप्स देखें), ...when
बयान प्रत्येक आइटम के लिए अलग से संसाधित किया जाता है।
कि
---
- hosts: all
vars:
skip_the_loop: true
tasks:
- command: echo "{{ item }}"
with_items: [1, 2, 3]
when: not skip_the_loop
तरह प्लेबुक चल रहा इस प्रकार, जबकि मैं
skipping: [localhost] => (item=1)
skipping: [localhost] => (item=2)
skipping: [localhost] => (item=3)
मिल जबकि मैं एक शर्त है हर बार की जाँच की जा नहीं करना चाहती।
तब मैं इनलाइन की स्थिति
- hosts: all
vars:
skip_the_loop: true
tasks:
- command: echo "{{ item }}"
with_items: "{{ [1, 2, 3] if not skip_the_loop else [] }}"
यह मेरी समस्या का समाधान करने लगता है का उपयोग करने का विचार आया, लेकिन फिर मैं आउटपुट के रूप में कुछ भी नहीं मिलता है।
skipping: Loop has been skipped
मुझे नहीं लगता कि आप एक बेहतर परिणाम प्राप्त कर सकते हैं करते हैं:
tasks/
मेंकहीं जबकि एक फ़ाइल
loop.yml
कहा जाता है आपके दूसरे की तुलना में। यदि आप वास्तव में – SztupY@SztupY मुद्रित कुछ की आवश्यकता है, तो आप केवल एक डीबग स्टेटमेंट जोड़ सकते हैं, मैंने पहले से ही इसे किया है, लेकिन फिर भी यह वांछित परिणाम नहीं है, दुर्भाग्यवश –
किसी भी कारण से आप प्रत्येक के लिए शर्त नहीं चलाना चाहते हैं पाश? क्या यह केवल बदसूरत आउटपुट की वजह से है, या क्योंकि सशर्त चेक में बहुत समय/संसाधन लगता है? – SztupY