Terraformプロバイダー設定のフォーマット
AWS、Azure、GCPの設定を含むTerraformプロバイダーブロックを適切なインデント、デフォルトタグ、認証設定で整形・揃えます。
Provider & Backend
詳細な説明
プロバイダーブロックのフォーマット
プロバイダーブロックはすべてのTerraform設定の基盤です。Terraformにどのクラウドプラットフォームやサービスとやり取りするか、認証方法を指示します。適切にフォーマットされたプロバイダーブロックは可読性を向上させ、コードレビュー時の設定ミスの発見を容易にします。
HCLの例
provider "aws" {
region = "us-east-1"
profile = "production"
default_tags {
tags = {
Environment = "production"
ManagedBy = "terraform"
Team = "platform"
}
}
assume_role {
role_arn = "arn:aws:iam::123456789012:role/TerraformRole"
session_name = "terraform-production"
}
}
適用されるフォーマットルール
- インデント: 各ネストブロックは一貫してインデント(設定に応じて2または4スペース)
- 等号の揃え: 各ブロック内で
=記号が垂直に揃えられます —region、profile、role_arn、session_nameはそれぞれのブロック内で同じカラム位置 - 空行: 論理的なグループ(単純な属性とネストブロック)を空行で区切り
- ネストブロック:
default_tagsとassume_roleブロックは1レベル深くインデント
複数プロバイダーエイリアス
マルチリージョンデプロイメントでプロバイダーエイリアスを使用する場合、一貫したフォーマットはさらに重要です:
provider "aws" {
alias = "us_west"
region = "us-west-2"
}
provider "aws" {
alias = "eu_west"
region = "eu-west-1"
}
フォーマッターは各エイリアスブロックが同じ構造に従うことを保証し、設定を並べて比較しやすくします。
ユースケース
マルチクラウドまたはマルチリージョンのTerraform設定で、一貫したプロバイダーフォーマットによりチームが各リソースのターゲットプロバイダーとリージョンを素早く特定できるようにする。