Formatador de YAML de Playbooks Ansible
Limpe YAML de playbooks, roles ou listas de tarefas Ansible bagunçados normalizando a indentação para um passo consistente de 2 ou 4 espaços e arrumando os hifens dos itens de lista. Funciona inteiramente no seu navegador — nada é enviado.
Entrada
Saída
Guias
O YAML Ansible bagunçado é um dos pontos de atrito mais comuns nos fluxos de trabalho de DevOps — playbooks são copiados e colados entre roles, editados por membros diferentes da equipe com configurações de editor diferentes, ou colados do Slack e de rastreadores de tickets, e acabam com uma mistura de indentação de 2, 3 e 4 espaços no mesmo arquivo. Como a estrutura do YAML é o seu espaço em branco, a indentação inconsistente não é apenas feia — ela pode silenciosamente mudar a qual tarefa algo pertence.
Esta ferramenta reindenta o YAML de playbooks, roles e listas de tarefas do Ansible para uma etapa de indentação consistente (2 ou 4 espaços), de modo que a estrutura visual corresponda ao que o documento realmente significa. Ela também organiza os hifens dos itens de lista, reduzindo - name: foo ou -name: foo para o convencional - name: foo.
Como usar
- Cole seu
playbook.yml, otasks/main.ymlde uma role ou qualquer lista de tarefas na caixa de entrada — ou envie um arquivo.yml/.yamldiretamente. - Escolha 2 espaços ou 4 espaços como tamanho da indentação (2 é a convenção da comunidade Ansible).
- O YAML formatado aparece instantaneamente no painel de saída. Copie-o ou baixe-o como
playbook.yml.
A ferramenta é atualizada enquanto você digita, então você pode colar YAML áspero copiado de outro lugar e vê-lo se encaixar em uma forma limpa e consistente.
O que ela faz — e o que não faz
Este formatador trabalha linha por linha: ele rastreia o quão profundamente cada linha estava originalmente indentada em relação às linhas ao redor e, em seguida, reemite cada linha em uma etapa de indentação proporcional e uniforme. Isso é suficiente para corrigir a grande maioria do YAML bagunçado do mundo real — espaçamento inconsistente, tabulações misturadas com espaços e marcadores de lista irregulares.
O que ela deliberadamente não faz é analisar o YAML em um documento estruturado. Ela não reordena as chaves de tarefas do Ansible (name → module → when → register, etc.), não valida a estrutura do playbook (hosts: ausente, tarefas sem module) e não sinaliza problemas no estilo do ansible-lint, como nomes de módulos curtos que deveriam ser nomes de coleções totalmente qualificados. Tudo isso exige um analisador YAML de verdade e conhecimento de esquema ciente do Ansible, que este formatador leve e sem dependências não tenta. Se o seu YAML usa coleções em estilo de fluxo ({ key: value }, [a, b, c]) ou escalares de bloco de várias linhas (|, >), esses valores são repassados como estão em vez de serem reestruturados — apenas a indentação no nível da linha e os marcadores de lista são normalizados.
Para a maioria das tarefas cotidianas de "meu playbook está um caos, por favor limpe o espaço em branco", é exatamente o que é necessário. Para linting profundo, execute o ansible-lint você mesmo.
Meu YAML é enviado para algum lugar?
Não. A formatação acontece inteiramente no seu navegador — o YAML que você cola ou envia nunca sai do seu dispositivo nem toca nossos servidores.
Isso validará se meu playbook está correto?
Não — ele apenas normaliza a indentação e o espaçamento dos marcadores de lista. Ele não detectará chaves obrigatórias ausentes, nomes de módulos inválidos ou erros de lógica. Use ansible-playbook --syntax-check ou ansible-lint para validação de verdade.
Ele também funciona em YAML não-Ansible?
Sim. Embora seja voltado para playbooks Ansible, a operação subjacente é um reindentador de YAML de propósito geral — funciona bem em manifests do Kubernetes, fluxos de trabalho do GitHub Actions ou qualquer outro arquivo YAML que só precise de limpeza de indentação.
O que acontece se eu colar texto inválido ou que não é YAML?
O formatador nunca dá erro. Como ele trabalha com linhas e indentação em vez de analisar um documento, ele simplesmente reindenta o texto que você fornecer da melhor forma possível, em vez de mostrar uma mensagem de erro de parse.
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.