本文へ移動
QKQuickKitEN
Kubernetes・IaCLOCALブラウザ内で処理入力に機密情報を含む可能性があります

HCL インデント整形

文字列・comment・heredocのtextを保持しながら、限定されたHCL native syntax snippetのインデントを正規化します。

入力と主要な処理をブラウザ内で行い、その入力内容をQuickKitサーバーへ送信しない設計です。

実運用中の秘密情報を避け、可能ならダミー値やマスク済みデータを使用してください。 データ取扱いの詳細

インデント整形結果

仕組みと使い方

これは意図的に構造的インデントだけを整えるToolで、完全なHCL parserでもterraform fmtでもありません。quoted string、line/block comment、heredoc、文字列・heredoc内のtemplate sequence(${ … } / %{ … })、対応するbrace・bracket・parenthesisを認識して2space indentを適用します。HCLと同じく、heredocは文字列・comment外の<<ID / <<-IDで、identifierの後に同じ行で何も続かない場合だけ開始し、本文中の終端行だけで閉じます(${ … }の中の行では閉じません)。heredocのtextやblock commentの中で始まる行は入力のまま保持します。複数行の${ … } / %{ … }の中で始まる行はheredoc内でもcodeなので、hclwriteと同じく開いているsequenceごとに1段としてインデントを整えます。その行の閉じ}の後に続くheredocのtextは入力のまま保持します。等号揃え、HCL expression/template解析、Terraform semantics検証、canonical Terraform formatの保証は行いません。入力は128 KiB・4000行までです。本番用のcanonical整形では対象Terraform versionのterraform fmtを実行し、続けてterraform validateで確認してください。