--- status: stable type: concept tags: - devops - ansible created: 2025-12-17 updated: 2026-05-07 title: Loops - Ansuble --- # Loops - Ansuble Для перебора значений в модулях Ansbible используются две конструкции: 1. `loop` - универсален, используется, когда перебираемые значения - это строки в словаре (`user = { name: Boris; age: 22 }`) 2. Директива `with_*` - где `*` - обозначение конкретного итератора ## Loop ```text - name: Цикл hosts: all tasks: - name: Цикл loop для создания пользователя user: name: '{{ item.name }}' age: '{{ item.age }}' uid: '{{ item.uid }}' loop: - name: Boris age: 22 uid: 1011 - name: Anna age: 23 uid: 1012 ... ``` ## with_ ```text - name: Цикл hosts: all tasks: - name: Цикл with для создания пользователя user: name: '{{ item }}' age: '{{ item }}' uid: '{{ item }}' with_items: - name: Boris - name: Anna ... ``` ```text - name: 'Print list of fruits' hosts: localhost vars: fruits: - Apple - Banana - Grapes - Orange tasks: - command: 'echo "{{ item }}"' with_items: '{{ fruits }}' ```