入力

出力

HCLとは?

HCL (HashiCorp Configuration Language)は、HashiCorpが作成した設定言語で、主にTerraformでインフラストラクチャをコードとして定義するために使用されます。波括弧を使用したブロック構造を持ち、属性、ネストされたブロック、式、コメントをサポートしています。

HCLフォーマッターは、2スペースのインデントレベルでインデントを修正し、ブロック構造を正規化し、空白を整理します。これにより、チームはTerraformおよびHCLのコードベースを一貫した状態に保つことができます。HCLのソースはGitHubで公開されており、プロバイダーやモジュールはTerraform Registryで確認できます。

使い方

1

HCLのコンテンツを貼り付け

TerraformまたはHCLファイルの内容を左側のエディターに貼り付けるか、アップロードをクリックして.tfまたは.hclファイルを読み込みます。

2

即座にフォーマット

フォーマッターがインデント(1レベルあたり2スペース)を修正し、ブロック構造を正規化し、末尾の空白を削除します。

3

コピーまたはダウンロード

コピーボタンで結果をコピーするか、ダウンロード.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構文を使用します。モジュールファイルの内容を貼り付けるだけで、フォーマッターがインデントを修正しブロック構造を正規化します。コミット前の共有コードの整理に最適です。

関連ツール