HCL ↔ JSON変換ツール
リアルタイム解析、シンタックスハイライト、ツリービュー付きでTerraform HCLとJSONフォーマット間を変換。
このツールについて
HCL↔JSON変換ツールは、HashiCorp Configuration Language(HCL)と JSONフォーマット間のデータ変換をリアルタイムで実行する無料のブラウザベース ツールです。HCLはTerraform、Packer、Vault、Consul、Nomad、Waypointで 使用されるネイティブの設定言語です。この変換ツールはHCLの人間にやさしい 構文とJSONの機械可読フォーマット間をすばやく変換でき、TerraformのJSON 設定構文、CI/CDパイプライン、プログラマティックなインフラ管理で作業する 際に不可欠です。
パーサーはすべてのコアHCL構造を処理します:resource、variable、
output、data、locals、module、provider、
terraformブロック。文字列、数値、ブーリアン、リスト、マップ値の属性、
ネストされたブロック、${var.name}のような文字列補間式、heredoc文字列を
サポートしています。JSONからHCLに戻す際は、既知のブロック型が単純なキーバリュー
ペアではなく、適切なブロック構文で自動的に再構築されます。
このツールはHCLとJSON出力の両方にシンタックスハイライトを提供し、ブロック
キーワード、文字列、数値、ブーリアン、関数呼び出し、var.regionや
local.tagsのような参照式に色付けします。ツリービューモードでは、
パースされたJSON構造をインタラクティブに探索し、ネストされたオブジェクトや
配列を展開・折りたたみできます。エラーメッセージには利用可能な場合は
行番号が含まれるため、HCL入力の問題をすばやく特定できます。
すべての処理はブラウザ内で完全に行われます。Terraform設定がデバイスから 送信されることはなく、サーバーとの通信、ログ記録、サードパーティサービスの 利用はありません。データベースの資格情報、APIキー、インフラの秘密情報を含む 設定の変換も安全に行えます。JSON ↔ YAML変換ツールで のマルチフォーマットワークフロー、TOML ↔ JSON変換ツール での類似の設定ファイル変換、TerraformとKubernetesマニフェストを併用する際の YAMLフォーマッターと併せて特に便利です。
使い方
- 上部のHCL → JSONまたはJSON → HCLトグルボタンで変換方向を選択します。
- 左側の入力パネルに設定を貼り付けまたは入力します。プリセットボタン(AWS EC2インスタンス、変数定義、S3バケット、VPCネットワーク)をクリックしてサンプルを読み込むこともできます。
- 入力しながら右側の出力パネルに変換出力が即座に表示されます。
- HCL → JSON変換の場合、オプションバーで希望のJSONインデント(2スペースまたは4スペース)を選択します。
- コードとツリービューを切り替えて、パースされたJSON構造をインタラクティブに探索できます。
- コピーをクリックするかCtrl+Shift+Cを押して出力をクリップボードにコピーします。
- スワップボタンで方向を逆にし、現在の出力を入力に移動して往復変換を行えます。
HCL ↔ JSON変換の人気サンプル
よくある質問
HCLとは何ですか?どこで使われていますか?
HCL(HashiCorp Configuration Language)はHashiCorpが作成した構造化設定言語です。Terraform(Infrastructure as Code)、Packer(マシンイメージ)、Vault(シークレット管理)、Consul(サービスメッシュ)、Nomad(ワークロードオーケストレーション)、Waypoint(アプリケーションデプロイ)の主要な設定構文です。HCLは機械解析可能でありながら人間が読みやすいように設計されています。
どのHCL構造がサポートされていますか?
パーサーはすべての主要なHCLブロックタイプをサポートしています:resource、variable、output、data、locals、module、provider、terraformブロック。文字列、数値、ブーリアン、リスト、マップの属性、ネストされたブロック、文字列補間式(${...})、heredoc文字列(<<-EOT)、コメント(#と//)、関数呼び出し構文を処理します。
なぜHCLをJSONに変換するのですか?
TerraformはJSON形式を代替設定構文(.tf.jsonファイル)としてサポートしています。JSON形式はTerraform設定のプログラマティック生成、CI/CDパイプラインの統合、コード生成ツール、標準的なJSONツールでTerraform設定を操作する必要があるあらゆるシナリオに有用です。
JSONからHCLへの変換は有効なTerraformを生成しますか?
変換ツールはTerraformの規約に従った構文的に正しいHCLを生成します。既知のブロックタイプ(resource、variable、outputなど)は適切なブロック構文で再構築されます。ただし、セマンティックな検証(リソースタイプの存在確認や属性名の妥当性チェック)は行われません。適用前に必ずterraform validateで検証してください。
Terraformの式はどのように処理されますか?
${var.name}のような文字列補間式やvar.regionやlocal.tagsのような参照は、変換時に文字列として保持されます。関数呼び出しも文字列値としてキャプチャされます。ツールは式の評価ではなく構造的な変換に焦点を当てているため、すべての式はそのまま通過します。
データは安全ですか?
はい。すべての解析と変換はJavaScriptを使用してブラウザ内で完全に実行されます。データがサーバーに送信されることはありません。APIキー、データベースパスワード、インフラの秘密情報を含むTerraform設定がデバイスから出ることはありません。ブラウザの開発者ツールのネットワークタブで確認できます。
利用可能なキーボードショートカットは何ですか?
Ctrl+Shift+Cで変換出力をクリップボードにコピーします。変換は入力時に自動的に行われるため、別途変換アクションは必要ありません。
関連ツール
JSON ↔ YAML変換
JSONとYAML形式をバリデーション付きで即座に変換します。
TOML ↔ JSON変換
TOMLとJSON形式を即座に変換します。Cargo.toml、pyproject.toml等の設定ファイルに最適。
JSONフォーマッター
JSONの整形、検証、ツリー表示をシンタックスハイライト付きで行えます。
YAMLフォーマッター
カスタマイズ可能なインデントと構文エラー表示でYAMLの整形、検証、圧縮を行います。
Terraform変数ジェネレーター
ビジュアルフォームからTerraform変数定義(variables.tf)とtfvarsファイルを生成します。型サポートとバリデーションルール付き。
Terraform HCLフォーマッター
Terraform HCLコードをフォーマット、検証、整形します。自動インデント、イコール揃え、属性ソート、シンタックスハイライト付き。