You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Terraform中解析JSON文件并按工作空间获取对应列表

Terraform解析JSON并按工作空间获取对应列表

1. 修正JSON文件格式

你提供的JSON存在语法错误,数组内的对象写法不符合规范,正确格式如下(假设文件命名为env_config.json):

{
  "Qa": [
    {"Name": "qa1"}
  ],
  "Dev": [
    {"Name": "dev1"}
  ]
}

2. Terraform配置实现

步骤1:加载并解析JSON文件

用file函数读取文件内容,再通过jsondecode将其转换为Terraform可识别的对象:

locals {
  env_config = jsondecode(file("${path.module}/env_config.json"))
}

步骤2:根据工作空间动态匹配配置

借助Terraform内置的terraform.workspace变量判断当前工作空间,自动获取对应环境的列表:

locals {
  current_env_config = terraform.workspace == "qa" ? local.env_config.Qa : local.env_config.Dev
}

3. 验证结果(可选)

添加输出块,确认配置是否正确匹配:

output "selected_env_config" {
  value = local.current_env_config
}

4. 使用流程

  • 切换到qa工作空间:terraform workspace select qa
  • 执行terraform plan或terraform apply后,输出会展示Qa对应的列表[{"Name": "qa1"}]

内容的提问来源于stack exchange,提问作者Shubham

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 09:43:10