vault backup: 2026-05-24 15:03:28
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
---
|
||||
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 }}'
|
||||
```
|
||||
Reference in New Issue
Block a user