向Terraform Cloud提供GCP服务账号详情时遇JSON输入异常
Terraform Cloud 配置 GCP Provider 变量解决 JSON 输入错误
核心配置步骤
正确处理 GCP 服务账号 JSON
别手动删换行,直接在 Terraform Cloud 变量设置里操作:- 新建敏感变量,类型选
string - 把完整的 GCP 服务账号 JSON 文件内容直接粘贴(保留所有原始换行和格式)
- 变量名建议设为
gcp_service_account_key
- 新建敏感变量,类型选
Terraform 代码中引用变量
按以下方式编写 provider 配置:provider "google" { credentials = jsondecode(var.gcp_service_account_key) project = var.gcp_project_id region = var.gcp_region } variable "gcp_service_account_key" { type = string sensitive = true } variable "gcp_project_id" { type = string } variable "gcp_region" { type = string }
常见错误排查
- 禁止手动修改 JSON 的换行或格式,直接复制原始内容即可,Terraform Cloud 会自动处理字符串中的换行
- 变量类型必须选
string,选HCL或其他类型会直接导致 JSON 解析失败 - 先验证 JSON 合法性:本地用
cat service-account.json | jq .命令检查,报错则说明 JSON 本身有问题
内容的提问来源于stack exchange,提问作者SebastianG
相关产品推荐
相关产品推荐

