JSON / YAML から Terraform HCL 変数・Locals 変換ジェネレーター
JSON および YAML データを Terraform HCL の変数型制約 (type = object({...}))、デフォルト値、locals ブロック、terraform.tfvars 定義へ自動変換します。
variable "app_config" {
description = "Auto-generated Terraform variable constraint for app_config"
type = object({
cidr_block = string
enable_dns_hostnames = bool
enable_dns_support = bool
max_azs = number
nat_gateways = list(string)
subnets = list(object({
az = string
cidr = string
is_public = bool
name = string
route_table_id = string
}))
tags = map(string)
vpc_name = string
})
default = {
cidr_block = "10.100.0.0/16"
enable_dns_hostnames = true
enable_dns_support = true
max_azs = 3
nat_gateways = ["nat-08127394821a", "nat-09823412344b"]
subnets = [
{
az = "us-east-1a"
cidr = "10.100.1.0/24"
is_public = true
name = "public-1a"
route_table_id = "rtb-01a9b2c3d4"
},
{
az = "us-east-1b"
cidr = "10.100.2.0/24"
is_public = true
name = "public-1b"
route_table_id = "rtb-01a9b2c3d4"
},
{
az = "us-east-1a"
cidr = "10.100.10.0/24"
is_public = false
name = "private-app-1a"
route_table_id = "rtb-09f8e7d6c5"
},
{
az = "us-east-1b"
cidr = "10.100.11.0/24"
is_public = false
name = "private-app-1b"
route_table_id = "rtb-09f8e7d6c5"
}
]
tags = {
CostCenter = "infra-0091"
Environment = "production"
ManagedBy = "terraform"
Owner = "cloud-platform-team"
}
vpc_name = "prod-useast1-vpc"
}
}
100% クライアントサイドAST合成
JSONおよびYAMLの構文解析、ASTツリー走査、Terraform HCL型合成はすべてブラウザメモリ上でローカルに実行され、外部通信やテレメトリ送信は一切行われません。
Terraform 1.3+ 準拠とオプショナル属性
未定義またはnull許容フィールドを自動検出し、標準の optional(type, default) 構文でラップすることで、Terraform plan実行時の型エラーを未然に防止します。
マルチフォーマットIaCエクスポート
本番環境に対応した variables.tf 型制約、terraform.tfvars 値定義、locals.tf 設定ブロック、および tfvars.json ファイルをシームレスに出力します。