在 Terraform 中导出 JSON 文件的内容

在 Terraform 中导出 JSON 文件的内容

我有 JSON 格式的 GCP 服务帐户密钥文件,我需要将其导出为 GOOGLE_APPLICATION_CREDENTIALS。Terraform 中是否有一种方法可以直接在 Terraform 变量块中提供此 JSON 文件的“内容”(而不是指定文件路径),然后让 Terraform 将其解释为 JSON?我看到 Terraform 具有 jsonencode 和 jsondecode 函数,但找不到很多示例。还有其他方法可以做到这一点吗?以下是我正在研究的方法:

variable "credentials"{
type = "string"
default="<contents of service account key file in JSON format>"
}

在 Bastion 启动脚本中:

#!/bin/bash
export GOOGLE_APPLICATION_CREDENTIALS= jsonencode("${file(var.credentials)}")

因此,最终,GOOGLE_APPLICATION_CREDENTIALS 应该具有 JSON 格式的密钥文件内容。有什么方法可以做到这一点吗?

相关内容