खोज…


with_items - सरल सूची

with_items एक with_items लूप का उपयोग मूल्यों पर आसानी से लूप करने के लिए किया जा सकता है।

- name: Add lines to this file
  lineinfile: dest=/etc/file line={{ item }} state=present
  with_items:
    - Line 1
    - Line 2
    - Line 3

with_items - पूर्वनिर्धारित सूची

तुम भी एक चर सूची पर लूप कर सकते हैं।

Var से:

favorite_snacks:
  - hotdog
  - ice cream
  - chips

और फिर लूप:

- name: create directories for storing my snacks
  file: path=/etc/snacks/{{ item }} state=directory
  with_items: '{{ favorite_snacks }}'

यदि आप Ansible 2.0 का उपयोग कर रहे हैं, तो आपको चर के लिए कॉल के आसपास उद्धरणों का उपयोग करना चाहिए।

with_items - पूर्वनिर्धारित शब्दकोश

शब्दकोशों के साथ अधिक जटिल लूप बनाना संभव है।

Var से:

packages:
  - present: tree
  - present: nmap
  - absent: apache2

फिर लूप:

- name: manage packages
  package: name={{ item.value }} state={{ item.key }}
  with_items: '{{ packages }}'

या, यदि आप कुंजी मूल्य का उपयोग करना पसंद नहीं करते हैं:

वार्स:

packages:
  - name: tree
    state: present
  - name: nmap
    state: present
  - name: apache2
    state: absent

फिर लूप:

- name: manage packages
  package: name={{ item.name }} state={{ item.state }}
  with_items: '{{ packages }}'

with_items - शब्दकोश

आप थोड़े अधिक जटिल लूप के लिए एक शब्दकोश का उपयोग कर सकते हैं।

- name: manage packages
  package: name={{ item.name }} state={{ item.state }}
  with_items:
    - { name: tree, state: present }
    - { name: nmap, state: present }
    - { name: apache2, state: absent }

स्थिर फंदा

आप with_nested का उपयोग करके नेस्टेड लूप बना सकते हैं।

var से:

keys:
  - key1
  - key2
  - key3
  - key4

फिर लूप:

- name: Distribute SSH keys among multiple users
  lineinfile: dest=/home/{{ item[0] }}/.ssh/authorized_keys line={{ item[1] }} state=present
  with_nested:
    - [ 'calvin', 'josh', 'alice' ]
    - '{{ keys }}'

यह कार्य प्रत्येक उपयोगकर्ता पर लूप करेगा और सूची में परिभाषित 4 कुंजियों के साथ उनकी authorized_keys फ़ाइल को पॉप्युलेट करेगा।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow