Bicep Formatter & Validator
Formate e valide modelos de infraestrutura como código do Azure Bicep — reindente declarações de resource, module, param e output para espaçamento consistente de 2 ou 4 espaços, e capture chaves desequilibradas, strings/comentários não terminados e declarações top-level inesperadas.
Entrada
Saída
| Linha | Severidade | Mensagem |
|---|---|---|
| No data yet | ||
Guias
Cole um modelo de recurso Bicep com espaçamento inconsistente ou ausente e obtenha uma versão limpa, aninhada de forma consistente — direto em seu navegador, sem nada enviado para um servidor. O Bicep Formatter & Validator reindenta as declarações param, var, resource, module, output e type para um aninhamento consistente com espaçamento de 2 ou 4 espaços, e sinaliza problemas estruturais básicos: chaves desequilibradas, uma string que não pode legalmente abrir uma linha, um comentário não terminado, ou uma declaração top-level incorreta.
Construído para os momentos em que você não tem a Bicep CLI ou a extensão VS Code à mão: um modelo colado de uma solicitação de pull, um trecho copiado da documentação ou de um assistente de IA com espaçamento achatado ou misto, ou uma verificação rápida de sanidade antes de colar algo de volta ao seu editor.
Como usar
- Cole seu modelo Bicep na caixa de entrada, ou envie um arquivo
.bicep. - Opcionalmente, alterne o Tamanho de Indentação entre 2 e 4 espaços.
- Copie o resultado formatado, ou baixe como
main.bicep.
A formatação é executada automaticamente conforme você digita ou altera uma opção, para que você veja o resultado imediatamente. Uma tabela separada de Problemas de Validação lista tudo o que foi encontrado — ou confirma que não há nada de errado.
O que ele faz
- Espaçamento consistente, calculado a partir do aninhamento real de chaves em vez de qualquer espaçamento que a origem possa ter — um modelo com espaçamento zero formata exatamente como um que já estava arrumado.
- Decoradores e expressões de loop "abraçam" corretamente.
@allowed([...])e a compreensão de loop do recurso's= [for item in items: {...}]abre duas chaves em uma linha, mas apenas indenta seu conteúdo por um nível, correspondendo a como o formatador Bicep real as trata — não uma contagem ingênua de um-espaçamento-por-chave. - Strings e comentários são deixados em paz. Chaves dentro de uma string — incluindo uma interpolação
${...}, que pode ter mais strings e expressões aninhadas — nunca afetam o espaçamento. Uma string multi-linha'''...'''ou comentário de bloco/* ... */é preservada byte-a-byte quando iniciada, em vez de arriscar corromper conteúdo literal. - Nada é reordenado. A ordem das propriedades, o espaçamento dentro de uma linha e cada valor são deixados exatamente como escritos — apenas o espaço em branco inicial muda.
- Validação básica: desbalanceamento
{ }/[ ]/( ), uma string simples'...'que atinge uma quebra de linha bruta (apenas strings'''podem abrir linhas), comentário de bloco não terminado e uma linha top-level que não começa com uma palavra-chave de declaração reconhecida (param,var,resource,module,output,type,func,targetScope,metadata,import,extension,using,provider).
Privacidade
Tudo acontece no lado do cliente em seu navegador. Seu modelo nunca é enviado para um servidor — cole um com IDs de assinatura reais ou nomes de recursos e ele nunca sairá de sua máquina.
Isso substitui o bicep format da Bicep CLI?
Para corrigir o espaçamento e capturar os quatro ou cinco erros básicos acima, sim. Ele não faz verificação de tipo dos nomes de propriedades contra esquemas de recursos do Azure, resolve referências de módulos ou avalia expressões — é para isso que servem bicep build/bicep lint (que precisam da Bicep CLI baseada em .NET).
Isso vai quebrar meu modelo?
O formatador apenas altera o espaço em branco inicial — nunca toca na ordem das propriedades, valores ou espaçamento interior. Quando encontra um problema estrutural que não pode reforçar com segurança (uma chave desequilibrada, uma string não terminada), deixa sua entrada intacta e relata o problema na tabela de Problemas de Validação em vez de adivinhar.
Ferramentas Relacionadas
- Terraform Formatter — o mesmo tipo de reindentação para a linguagem IaC concorrente do HashiCorp.
- Kubernetes YAML Formatter — para os manifestos YAML que os modelos Bicep frequentemente implantam junto.
- JSON Formatter — para o modelo ARM compilado que um arquivo
.biceptranspila para.
Use it from code
From 3 credits per callREST API
curl -X POST https://api.iotools.cloud/v1/tool/bicep-formatter-validator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"bicepInput": "@description('Name of the storage account')\npara…",
"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 `bicep-formatter-validator` tool (Bicep Formatter & Validator) on this input:
YOUR_INPUT_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.