Форматтер YAML для Ansible playbook
Приведите в порядок YAML-файлы Ansible playbook, ролей или списков задач: нормализуйте отступы до единого шага в 2 или 4 пробела и исправьте дефисы элементов списков. Работает полностью в вашем браузере — ничего не загружается.
Ввод
Вывод
Руководства
Неаккуратный YAML Ansible — один из самых частых источников трения в рабочих процессах DevOps: playbook-файлы копируются между ролями, редактируются разными членами команды с разными настройками редакторов или вставляются из Slack и трекеров задач, и в итоге в одном файле смешиваются отступы в 2, 3 и 4 пробела. Поскольку структура YAML и есть его пробелы, непоследовательные отступы — это не просто некрасиво: они могут молча изменить, к какой задаче относится тот или иной элемент.
Этот инструмент переоформляет отступы в YAML playbook-файлов, ролей и списков задач Ansible до единого шага (2 или 4 пробела), чтобы визуальная структура соответствовала реальному смыслу документа. Он также приводит в порядок дефисы элементов списков, сводя - name: foo или -name: foo к принятому виду - name: foo.
Как пользоваться
- Вставьте ваш
playbook.yml,tasks/main.ymlроли или любой список задач в поле ввода — или загрузите файл.yml/.yamlнапрямую. - Выберите 2 пробела или 4 пробела как размер отступа (2 — это общепринятая в сообществе Ansible конвенция).
- Отформатированный YAML мгновенно появляется на панели вывода. Скопируйте его или скачайте как
playbook.yml.
Инструмент обновляется по мере ввода, так что вы можете вставить небрежный, скопированный YAML и сразу увидеть, как он превращается в чистую, единообразную структуру.
Что инструмент делает — и чего не делает
Этот форматтер работает построчно: он отслеживает, насколько глубоко каждая строка была изначально отступлена относительно соседних строк, а затем заново выводит каждую строку с пропорциональным единым шагом отступа. Этого достаточно, чтобы исправить подавляющее большинство реальных «грязных» YAML — непоследовательные пробелы, смешение табуляции с пробелами и неровные маркеры списков.
Чего он намеренно не делает — так это не разбирает YAML в структурированный документ. Он не переставляет ключи задач Ansible (name → module → when → register и т.д.), не проверяет структуру playbook (отсутствующий hosts:, задачи без module) и не отмечает проблемы в стиле ansible-lint, например короткие имена модулей, которые должны быть полностью квалифицированными именами коллекций. Для всего этого нужен настоящий YAML-парсер и понимание схемы с учётом Ansible, чего этот лёгкий форматтер без зависимостей не делает. Если ваш YAML использует коллекции в потоковом стиле ({ key: value }, [a, b, c]) или многострочные блочные скаляры (|, >), эти значения передаются как есть, без переструктурирования — нормализуются только построчные отступы и маркеры списков.
Для большинства повседневных задач вроде «мой playbook в беспорядке, пожалуйста, уберите лишние пробелы» этого ровно достаточно. Для глубокого линта запускайте сам ansible-lint.
Загружается ли мой YAML куда-либо?
Нет. Форматирование происходит полностью в вашем браузере — YAML, который вы вставляете или загружаете, никогда не покидает ваше устройство и не касается наших серверов.
Проверит ли этот инструмент корректность моего playbook?
Нет — он только нормализует отступы и пробелы вокруг маркеров списков. Он не обнаружит отсутствующие обязательные ключи, неверные имена модулей или логические ошибки. Для настоящей проверки используйте ansible-playbook --syntax-check или ansible-lint.
Работает ли он и с YAML, не связанным с Ansible?
Да. Хотя инструмент заточен под playbook Ansible, в его основе лежит универсальный переоформитель отступов YAML, — он отлично справляется с манифестами Kubernetes, рабочими процессами GitHub Actions и любым другим YAML-файлом, которому просто нужно привести отступы в порядок.
Что произойдёт, если я вставлю недействительный или не-YAML текст?
Форматтер никогда не выдаёт ошибку. Поскольку он работает со строками и отступами, а не разбирает документ, он просто переоформит отступы любого текста, который вы ему дадите, как сможет, вместо того чтобы показывать сообщение об ошибке парсинга.
Use it from code
From 3 credits per callREST API
curl -X POST https://api.iotools.cloud/v1/tool/ansible-playbook-yaml-formatter \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"inputYaml": "- hosts: web\n become: yes\n vars:\n nginx_p…",
"indentSize": "2"
}'Swap in your own key from your account. The tool's fields are the body — no wrapper.
Ask an AI agent
Use the IOTools `ansible-playbook-yaml-formatter` tool (Ansible Playbook YAML Formatter) on this input:
YOUR_INPUT_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.