HCLフォーマッター
HCL (HashiCorp Configuration Language) およびTerraformファイルをオンラインでフォーマット・整形。インデントの修正やHCL構文の正規化を行います。
入力
出力
HCLとは?
HCL (HashiCorp Configuration Language)は、HashiCorpが作成した設定言語で、主にTerraformでインフラストラクチャをコードとして定義するために使用されます。波括弧を使用したブロック構造を持ち、属性、ネストされたブロック、式、コメントをサポートしています。
HCLフォーマッターは、2スペースのインデントレベルでインデントを修正し、ブロック構造を正規化し、空白を整理します。これにより、チームはTerraformおよびHCLのコードベースを一貫した状態に保つことができます。HCLのソースはGitHubで公開されており、プロバイダーやモジュールはTerraform Registryで確認できます。
使い方
HCLのコンテンツを貼り付け
TerraformまたはHCLファイルの内容を左側のエディターに貼り付けるか、アップロードをクリックして.tfまたは.hclファイルを読み込みます。
即座にフォーマット
フォーマッターがインデント(1レベルあたり2スペース)を修正し、ブロック構造を正規化し、末尾の空白を削除します。
コピーまたはダウンロード
コピーボタンで結果をコピーするか、ダウンロードで.tfファイルとして保存します。
フォーマット例
例:Terraformリソースブロック
フォーマット前のHCL:
resource "aws_instance" "web" {
ami="ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
tags={Name="web-server",Env="prod"}
}フォーマット後:
resource "aws_instance" "web" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
tags = {
Name = "web-server"
Env = "prod"
}
}よくある質問
HCLとTerraformの違いは何ですか?
Terraformはインフラストラクチャをコードとして管理するツールで、HCLはTerraformが使用する設定言語です。HCLはPacker、Vault、Consulなど、他のHashiCorpツールでも使用されています。
このツールはterraform fmtの代わりになりますか?
これはHCLを素早く確認・整理するためのオンラインフォーマッターです。本番環境では、terraform fmtが公式のフォーマッターであり、CI/CDパイプラインで使用すべきです。HCLスタイルガイドに完全なフォーマット規約が記載されています。
PackerやVaultのHCLファイルもフォーマットできますか?
はい。このフォーマッターはすべてのHashiCorpツールで使用される標準的なHCL構文に対応しています。
TerraformモジュールやShared設定ファイルの整理にも使えますか?
もちろんです。Terraformのモジュールはルート設定と同じHCL構文を使用します。モジュールファイルの内容を貼り付けるだけで、フォーマッターがインデントを修正しブロック構造を正規化します。コミット前の共有コードの整理に最適です。