【问题标题】:How can I use terraform data in variables如何在变量中使用 terraform 数据
【发布时间】:2021-11-21 14:03:22
【问题描述】:

我有一个像下面这样的脚本

变量.tf


data "google_secret_manager_secret_version" "my_secret" {
  secret = "my-secret"
}

variable "clients" {
  description = "clients data"
  default = [
    {
      id           = { stringValue = "test" }
      clientSecret = { stringValue = "${data.google_secret_manager_secret_version.my_secret.secret_data}" }
      eventType    = { stringValue = "something" }
    }
  ]
}

main.tf

resource "google_firestore_document" "clients" {
  for_each = {
    for index, client in var.clients :
    index => client
  }
  project     = var.project_id
  collection  = "clients"
  document_id = each.value.id.stringValue
  fields      = jsonencode(each.value)
}

但是当我运行它时,我得到了这个错误

Error: Variables not allowed
  on variables.tf line 16, in variable "clients":
  16:       clientSecret        = { stringValue = "${data.google_secret_manager_secret_version.my_secret.secret_data}" }

Variables may not be used here.

想知道如何使用从秘密管理器读取的动态值并将其用于变量或任何其他解决方案

【问题讨论】:

    标签: terraform terraform-provider-gcp


    【解决方案1】:

    我终于变成了这样

    变量.tf

    variable "clients" {
      description = "clients data"
      default = {
        X = {
          id                  = { stringValue = "test" }
          eventType           = { stringValue = "something" }
        }
      }
    }
    
    

    main.tf

    data "google_secret_manager_secret_version" "my_secret" {
      project = var.project_id
      secret  = "my-secret"
    }
    
    resource "google_firestore_document" "clients-x" {
      project     = var.project_id
      collection  = "clients"
      document_id = var.clients.X.id.stringValue
      fields = jsonencode(merge(
        var.clients.X,
        {
          clientSecret = { stringValue = data.google_secret_manager_secret_version.my_secret.secret_data }
        }
      ))
    }
    

    【讨论】:

      猜你喜欢
      • 2021-09-24
      • 2021-07-06
      • 2023-02-22
      • 1970-01-01
      • 2021-09-29
      • 1970-01-01
      • 2021-12-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多