Terraform
Terraform(英語) は、開発者と運用チームが手動設定ではなく宣言型構成ファイルを使用してクラウドのリソースとインフラストラクチャを定義、管理、プロビジョニングできるようにする、インフラストラクチャアズコードツールです。
Terraform を使用すると、仮想マシン、ネットワーク、ストレージなどのインフラストラクチャリソースをコードで記述できます。 Terraform は、これらのリソースを自動的に作成および管理します。 このアプローチにより、インフラストラクチャのバージョン管理、レビュー、再現が容易になり、開発、テスト、本番環境全体で一貫性のある環境を維持できるようになります。
Terraform の構成には、複数の環境や相互接続されたコンポーネントが含まれることがよくあります。 セットアップは Terraform ワークスペース や Terraform スタック として整理でき、どちらも DataGrip でサポートされています。
IDE は、コアとなる Terraform 要素とプロバイダ定義の概念に関するスマートなコードインサイトを提供することで、生産性を維持し、インフラストラクチャコードをより迅速に、より少ない注意散漫で記述できるように支援します。 これには、次の機能が含まれます。
設定 ダイアログ (Ctrl+Alt+S) の ページと ページで色設定をカスタマイズできます。
ページの 設定 ダイアログ (Ctrl+Alt+S) で、Terraform に関連するコードスタイル設定にアクセスできます。
プロジェクト ツールウィンドウで、ディレクトリを右クリックして 新規 を選択し (または Alt+Insert を押し)、次に Terraform ファイル を選択します。 これにより、使用可能な Terraform ファイルテンプレートから選択できるダイアログが開きます。

Terraform ファイルテンプレートを変更するには、 設定 ダイアログ (Ctrl+Alt+S) を開き、 に移動します。
DataGrip は、既知のプロバイダ、プロバイダ関数、リソース、データソース、引数など、Terraform ファイル内で補完を提供します。

プロバイダ要件を設定する際、IDE は
required_providersブロック内のソースやバージョンなどの関連属性とともに、利用可能なプロバイダを提案します。 これにより、Terraform 仕様に従って要件を定義できます。 プロバイダ要件の詳細については、 Terraform のドキュメント(英語)を参照してください。Terraform スタックファイルでは、DataGrip がスタックルートブロックおよびそのプロパティに対する補完を提供します。 必要なプロパティは自動的に挿入され、不足しているプロパティは IDE によってハイライトされます。
.tfcomponent.hcl ファイルでは、DataGrip はプロバイダ宣言と構成、
componentおよびstackブロックで使用されるモジュール変数とプロバイダの補完をサポートします。行全体コード補完
ローカルで実行するディープラーニングモデルを使って、コードの行全体を補完します。

ページの 設定 ダイアログ (Ctrl+Alt+S) で、Terraform の行全体コード補完を無効にすることができます。
リソース、変数、ローカル、データソースについて、DataGrip はインレイヒントの形でそれらの使用回数を表示します。 インレイヒントをクリック (または Ctrl+B を押す) すると、そのすべての使用箇所が表示され、そこに移動します。

の 設定 ダイアログ (Ctrl+Alt+S) で、使用状況のインレイヒントを無効化、有効化、位置変更できます。
重複や競合、非推奨または欠落している要素、未解決の参照、不明なリソースなども検出することができます。

の 設定 ダイアログ (Ctrl+Alt+S) で、すべての Terraform、インスペクションを確認できます。
リファクタリング
要素とそのすべての使用箇所の名前を変更するには、 Shift+F6 を押します。
ファイル監視は、ファイルを保存するたびに Terraform コマンド(例:
terraform フォーマット)を実行できます。 この機能を有効にするには、 File Watchers(英語) プラグインをインストールしてください。構造 ツールウィンドウを使用して、Terraform ファイルをすばやくプレビューおよび移動します。

ツールウィンドウは、 または Alt+7 を押すことで使用できます。
引数の上にカーソルを合わせると、その引数のクイックドキュメントを表示できます。

詳細については、 Shift+F1 を押して、Terraform レジストリ (このドキュメントのソース) を開くこともできます。
コーディング支援には、ブレースマッチング Ctrl+Shift+M 、コードの折りたたみ Ctrl+NumPad +/Ctrl+NumPad - 、行コメントの追加 Ctrl+/ およびブロックコメントの追加 Ctrl+Shift+/ 、そして Terraform ファイルへの コピーライトテキストの挿入も含まれます。
Terraform および HCL プラグインをインストールする
この機能は、インストールして有効にする必要がある Terraform と HCL(英語) プラグインに依存しています。
Ctrl+Alt+S を押して設定を開き、 を選択します。
マーケットプレース タブを開き、 Terraform と HCL プラグインを見つけて、 インストール をクリックします (プロンプトが表示されたら、IDE を再起動します)。
Terraform 実行パスを指定する
実行構成を使用して IDE から Terraform コマンドを実行するには、マシンに Terraform がインストールされている必要があります。
Ctrl+Alt+S を押して設定を開き、 を選択します。
ほとんどの場合、DataGrip は Terraform 実行ファイルへのパスを自動的に検出します。 IDE が実行ファイルのバージョンとパスを検出しない場合は、 検出とテスト をクリックしてください。
マシンに Terraform がインストールされていない場合は、 インストール をクリックします。

必要に応じて、 Terraform 実行可能パス フィールドに Terraform へのパスを手動で指定できます。
Terraform を実行
Terraform と HCL プラグインは、Terraform 専用の実行構成を提供します。 これらの実行構成を使用すると、引数の追加や環境変数の受け渡しなど、 terraform コマンドの実行をカスタマイズできます。
ガターアイコンを使用して Terraform を実行する
Terraform ファイルで、ガターの
をクリックします。
開いたウィンドウで、実行プランを作成する場合は プラン を選択し、すでに Terraform プランがありそれを適用する場合は 適用 を選択します。

このディレクトリに対して Terraform 初期化手順が実行されていない場合は、 実行 ガターアイコンに警告サインが表示されます。 この場合、DataGrip は terraform plan または terraform apply を実行する前に terraform init コマンドを実行することを推奨します。
ガターアイコンから Terraform を実行すると、一時的な実行構成が作成されます。 実行ウィジェットで をクリックし、 構成の保存 を選択すると、永続的な構成として保存できます。
Terraform 実行構成を手動で作成する
に移動します。 または、 Alt+Shift+F10 を押してから 0 を押します。
新しい構成の追加 ボタン (
) をクリックし、 Terraform の入力を開始します。

実行構成のタイプを選択してください:
テラフォーム初期化 は
terraform initコマンドを実行しますTerraform 検証 は
terraform validateコマンドを実行しますTerraform プラン は
terraform planコマンドを実行しますTerraform 適用 は
terraform applyコマンドを実行しますTerraform 破壊 は
terraform destroyコマンドを実行しますTerraform は、他の Terraform コマンドを提供することができます。
コマンド リストで、Terraform コマンドを選択します。 このリストに含まれていないコマンドを実行するには、 カスタム を選択し、 プログラム引数 フィールドに指定します。
実行構成に名前を付け、必要に応じて作業ディレクトリを変更します。 環境変数を使用する場合は、 環境変数 フィールドに指定するか、ファイルを選択してそこから変数を使用します。
Terraform プロバイダーのメタデータをリフレッシュ
Terraform と HCL プラグインには特定のバージョンのプロバイダーメタデータが付属しており、既知のプロパティやインスペクションの補完などのコーディング支援が可能になります。
プロジェクトで異なるプロバイダーバージョンを使用する場合 (たとえば、 required_providers ブロックで変更した後)、 terraform init を実行してプロジェクトを初期化します。
で ローカルメタデータを自動的に構築するオプションが有効になっている場合、DataGrip はローカルプロバイダーのメタデータを自動的に再生成します。 このオプションが無効になっている場合は、メタデータを手動でリフレッシュできます。
プロバイダーのメタデータを手動でリフレッシュする
プロジェクトを初期化した後、次のいずれかを実行します。
Terraform 構成ファイルを開き、エディター内の任意の場所を右クリックします。
プロジェクト ツールウィンドウ Alt+2 を開き、Terraform 構成ファイルを右クリックします。
コンテキストメニューから を選択します。

Terraform コードを再フォーマットする
DataGrip を利用して Terraform ファイルにコードスタイルを適用できます。 DataGrip にはフォーマットツールが 2 つ含まれています:
Terraform フォーマッタを使用する
Terraform フォーマットツール (terraform フォーマット) は Terraform コードスタイル(英語)に基づいています。 .tfファイル および .tfvarsファイル ファイルに適用されます。
Terraform フォーマットツールを使用するには、 Terraform をインストールするが必要です。
メインメニューで へ移動します。
または、 Ctrl+Alt+Shift+F を押します。
Terraform フォーマッター terraform フォーマット がファイル全体に適用されるのに対し、 DataGrip フォーマッターは選択したコード部分にも適用できます。
DataGrip フォーマッタを使用する
DataGrip フォーマッターは、 Terraform と HCL プラグインによって提供される DataGrip コードスタイルに基づいています。 このコードスタイルは、IDE 設定の でカスタマイズできます。
.tfファイル および .tfvarsファイル に加えて、 .hclファイル ファイルにも適用されます。
ファイルを再度フォーマットするには、エディターでファイルを開き、メインメニューで に移動します。 または、 Ctrl+Alt+Shift+L を押します。
コードの一部を再フォーマットするには、コードの一部を選択し、メインメニューで に移動します。 または、 Ctrl+Alt+L を押します。
Terraform テンプレートファイル
DataGrip は、通常 .tftpl 拡張子を使う Terraform テンプレートファイルをサポートします。 テンプレートファイルのサポートには、コーディング支援 (構文のハイライト、インスペクションなど)、テンプレートファイルへのナビゲーション、ライブテンプレートが含まれます。
ライブテンプレートを使用するには、Terraform テンプレートファイルに if または for と入力し始めます。

テンプレートファイルへ移動
Terraform ファイルでは、 templatefile(英語) 関数を使用してテンプレートを挿入できます。 DataGrip を使用すると、Terraform ファイルからテンプレートファイルへ素早く移動できます。
Terraform ファイルで、
templatefile関数を見つけます。キャレットをテンプレートファイル名に置き、 Ctrl+B を押します。
テンプレートデータの言語を選択
テンプレートファイルの拡張子 (file.<lang>.tftpl) で言語が指定されている場合、この言語がデータ言語として使用されます。 例: file.js.tftpl では、JavaScript が使用されます。 データ言語が指定されていない場合 (たとえば、 file.tftpl )、テンプレートファイルはプレーンテキストとして認識されます。
ファイル構文が適切に認識されるように、データ言語を選択したり(または検出済みの言語を変更したり)できます。
エディターでファイルタブを右クリックし、 <Language> テンプレートデータ言語を次のように変更する (たとえば、 JavaScript テンプレートデータ言語を次のように変更する または プレーンテキストテンプレートのデータ言語 を) を選択します。
または、ファイル内の Alt+Enter (コンテキストアクションの表示) を押して、 テンプレートデータ言語の選択 を選択します。
開いた言語リストから、言語を選択します。
拡張設定
- Terraform ドキュメントを自動的にダウンロードする
標準で、DataGrip は Terraform のプロパティに関するクイックドキュメントを Terraform Registry からダウンロードします。 ネットワークやパフォーマンスに問題がある場合は無効化でき、その場合 DataGrip はメタデータ由来の説明を表示します。 こうした説明の提供可否はリソース開発者に依存します。
- ローカルメタデータを自動的に構築する
有効な場合、
terraform initを実行した後、DataGrip はローカルプロバイダーのメタデータを自動的に再生成します。 これにより、コーディング支援が構成ファイルで定義されたプロバイダーバージョンを使用するようになります。- 変数を深く検索する
Terraform で変数を使用すると、DataGrip はプロジェクト内すべての Terraform ファイルで変数定義をチェックします。 DataGrip でルートディレクトリ(
.terraform.lock.hclがあるディレクトリ)内のファイルのみ確認したい場合は、チェックボックスをオフにしてください。
Terraform コードスタイル設定
Terraform 固有のコードスタイル設定は で使用できます。
- 整形しながらプロパティの位置を揃える
プロパティとその値の揃え方を選択してください:イコール記号で揃える、値で揃える、または何も揃えない。
- 行コメンターのシンボル
Ctrl+/ を押したときに単一行コメントに使用するシンボルを選択します。
- 補完時にプロバイダーを自動的にインポートする
リソース名を入力したら、現在のファイルにプロバイダー要件を挿入します。
required_providersブロックが不足している場合は追加してください。- 整形に 'terraform/tofu fmt' を起動する
を実行する際に Terraform(または OpenTofu)フォーマッターを実行します。
OpenTofu
OpenTofu(英語) は、オープンソースでコミュニティ主導であり、Linux Foundation によって管理される Terraform のフォークです。
DataGrip は OpenTofu ファイルに対して構文ハイライト、補完、インスペクション等のコーディング支援を提供します。 また、OpenTofu 専用の実行構成も用意されており、基本的には Terraform と同じですが、 tofu コマンドを使用します。

OpenTofu 実行可能パスを指定する
実行構成を使用して IDE から OpenTofu コマンドを実行するには、マシンに OpenTofu がインストールされている必要があります。
Ctrl+Alt+S を押して設定を開き、 を選択します。
ほとんどの場合、DataGrip は OpenTofu 実行ファイルへのパスを自動的に検出します。 IDE が実行ファイルのバージョンとパスを検出しない場合は、 検出とテスト をクリックしてください。
マシンに OpenTofu がインストールされていない場合は、 インストール をクリックします。

必要に応じて、 OpenTofu 実行可能パス フィールドで OpenTofu へのパスを手動で指定できます。
テラグラント
Terragrunt (英語) は、Terraform および OpenTofu 用の軽量ラッパーであり、構造を改善し、コードの重複を減らすことで、複雑なインフラストラクチャ設定の管理に役立ちます。
DataGrip は Terragrunt および Terragrunt Stack ファイルを認識し、それらに対するコーディング支援を提供します。これにはルートブロック、プロパティ、関数、属性のコード補完や、新しい Terragrunt および Terragrunt Stack ファイルを作成するためのテンプレートも含まれます。
Terragrunt 実行可能パスを指定する
実行構成を使用して IDE から Terragrunt コマンドを実行するには、マシンに Terragrunt がインストールされている必要があります。
Ctrl+Alt+S を押して設定を開き、 を選択します。
ほとんどの場合、DataGrip は Terragrunt 実行ファイルへのパスを自動的に検出します。 IDE が実行ファイルのバージョンとパスを検出しない場合は、 検出とテスト をクリックしてください。
マシンに Terragrunt がインストールされていない場合は、 インストール をクリックします。

必要に応じて、 Terragrunt 実行可能パス フィールドで Terragrunt へのパスを手動で指定できます。