33 lines
847 B
Markdown
33 lines
847 B
Markdown
# Ansible — Loops (one-screen)
|
|
|
|
## 1) Зачем
|
|
Циклы позволяют применять один и тот же модуль/таску к набору значений.
|
|
|
|
## 2) `loop` (универсальный)
|
|
Удобно, когда item — структура (dict):
|
|
```yaml
|
|
- hosts: all
|
|
tasks:
|
|
- name: Create users
|
|
user:
|
|
name: "{{ item.name }}"
|
|
uid: "{{ item.uid }}"
|
|
loop:
|
|
- { name: Boris, uid: 1011 }
|
|
- { name: Anna, uid: 1012 }
|
|
```
|
|
|
|
## 3) `with_*` (старые/специальные итераторы)
|
|
Пример `with_items`:
|
|
```yaml
|
|
- hosts: localhost
|
|
vars:
|
|
fruits: [Apple, Banana, Grapes, Orange]
|
|
tasks:
|
|
- command: 'echo "{{ item }}"'
|
|
with_items: '{{ fruits }}'
|
|
```
|
|
|
|
---
|
|
**Source:** [[01 Library/02 DevOps/Ansible/Loops - Ansuble|Loops - Ansuble]]
|