Bicep Formatter & Validator
Azure Bicep インフラストラクチャ コード テンプレートをフォーマットして検証 — resource、module、param、output 宣言を一貫した 2 または 4 スペース インデントに再インデント化し、バランスの取れていないブラケット、終了していない文字列/コメント、予期しないトップレベルステートメントをキャッチします。
入力
出力
| 行 | 重大度 | メッセージ |
|---|---|---|
| No data yet | ||
ガイド
インデントが不均一または不足している Bicep リソース テンプレートを貼り付けると、クリーンにネストされた一貫したインデント バージョンが返されます — ブラウザ内で直接、サーバーに何もアップロードされません。Bicep Formatter & Validator は、param、var、resource、module、output および type 宣言を一貫した 2 または 4 スペース インデントに再インデント化し、基本的な構造的問題を検出します: バランスの取れていないブラケット、行をまたぐことができない文字列、終了していないコメント、または予期しないトップレベル ステートメント。
Bicep CLI または VS Code 拡張機能が手元にない場合に対応するために構築されました: プルリクエストから貼り付けられたテンプレート、ドキュメントまたは AI アシスタントからコピーされたフラット化または混在したインデントのスニペット、またはエディターに貼り戻す前の簡単なサニティチェック。
使い方
- Bicep テンプレートを入力ボックスに貼り付けるか、
.bicepファイルをアップロードします。 - 必要に応じて インデント サイズ を 2 スペースと 4 スペースの間で切り替えます。
- フォーマット済みの結果をコピーするか、
main.bicepとしてダウンロードします。
フォーマットは入力時またはオプション変更時に自動的に実行されるため、結果がすぐに表示されます。別の 検証の問題 テーブルで見つかったすべての問題が一覧表示されます。または、問題がないことが確認されます。
実行内容
- 一貫したインデント。ソースが偶然に持っているインデントではなく、実際のブラケット ネストから計算されます。ゼロ インデントのテンプレートは、既に整理されたテンプレートと同じようにフォーマットされます。
- デコレータとループ式が正しく「ハグ」します。
@allowed([...])とループ包含リソースの= [for item in items: {...}]は 1 行に 2 つのブラケットを開きますが、内容のインデントは常に 1 レベルのみで、実際の Bicep フォーマッターがそれらを処理する方法に一致します — ブラケットごと 1 インデントの素朴なカウントではありません。 - 文字列とコメントはそのままです。 文字列内のブラケット(
${...}補間を含む。さらにネストされた文字列と式を含む可能性があります)は、インデントに影響しません。複数行の'''...'''文字列またはブロック コメント/* ... */は、開始後もバイト単位で保持され、リテラル コンテンツが破損するリスクはありません。 - 何も並べ替えられません。 プロパティの順序、行内のスペース、およびすべての値は、記述されたとおりに残されます — ただ先頭のホワイトスペースのみが変更されます。
- 基本的な検証: バランスの取れていない
{ }/[ ]/( )、生改行に達するプレーン'...'文字列('''文字列のみが改行をまたぐことができます)、終了していないブロック コメント、および認識されたデコレーション キーワード(param、var、resource、module、output、type、func、targetScope、metadata、import、extension、using、provider)で始まらないトップレベル行。
プライバシー
すべてはブラウザでクライアント側で実行されます。テンプレートがサーバーにアップロードされることはありません — 実際のサブスクリプション ID またはリソース名を含むテンプレートを貼り付けても、マシンから離れることはありません。
これは Bicep CLI の bicep format に置き換わりますか?
インデントの修正と上記の 4 ~ 5 の基本的なエラーのキャッチについては、はい。Azure リソース スキーマに対してプロパティ名を型チェックしたり、モジュール参照を解決したり、式を評価したりすることはありません — それは bicep build/bicep lint 用です(.NET ベースの Bicep CLI が必要です)。
テンプレートが破損しますか?
フォーマッターは先頭のホワイトスペースのみを変更 — プロパティの順序、値、または内部スペースに触れることはありません。安全に再フォーマットできない構造的問題(バランスの取れていないブラケット、終了していない文字列)を見つけた場合、入力をそのままにして、推測するのではなく、[検証の問題] テーブルに問題を報告します。
関連ツール
- Terraform Formatter — HashiCorp の競合している IaC 言語と同じ種類の再インデント。
- Kubernetes YAML Formatter — Bicep テンプレートが並べてデプロイすることが多い YAML マニフェスト用。
- JSON Formatter —
.bicepファイルが変換される、コンパイル済みの ARM テンプレート用。
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.