Terraformプロバイダー設定をJSONに変換する

リージョン、クレデンシャル、エイリアス、機能フラグを含むTerraformプロバイダーブロックをHCLからJSON形式に変換します。

Modules

詳細な説明

Terraformプロバイダー設定

プロバイダーブロックはTerraformがインフラを管理するために使用するクラウドプロバイダープラグインを設定します。マルチリージョンやマルチアカウントのセットアップではプロバイダーエイリアスを使用します。

HCLプロバイダー設定

terraform {
  required_version = ">= 1.5"

  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
    random = {
      source  = "hashicorp/random"
      version = "~> 3.5"
    }
  }

  backend "s3" {
    bucket = "my-terraform-state"
    key    = "prod/terraform.tfstate"
    region = "us-east-1"
  }
}

provider "aws" {
  region = "us-east-1"

  default_tags {
    tags = {
      ManagedBy = "terraform"
    }
  }
}

JSON構造

terraformブロックはrequired_versionrequired_providersbackendをネスト構造として含みます。プロバイダーブロックはプロバイダー名でキー化されます。

プロバイダーエイリアス

同じプロバイダーの複数設定はエイリアスを使用します。

バージョン制約

~> 5.0バージョン制約は「任意の5.xバージョン」を意味します。他の演算子には>=<=!=、正確なバージョンピンが含まれます。

ユースケース

マルチリージョンまたはマルチアカウントAWSデプロイの設定、Terraformステートバックエンドの設定、インフラカタログからのプロバイダー設定の生成。

試してみる — HCL ↔ JSON Converter

フルツールを開く