---
status: stable
type: concept
tags:
  - devops
updated: 2026-02-27
title: Loops - Ansuble
created: 2025-12-17
---

# 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 }}'
```