使用 terraform 为云存储桶指定标签的语法是什么?

What is the syntax for specifying labels for a cloud storage bucket with terraform?

我可以使用 Terraform 资源 google_storage_bucket 创建一个 Google Cloud Storage Bucket。

但我找不到带有 labels 参数的示例,也找不到有效的语法。

以下通过terraform plan

resource "google_storage_bucket" "report_staging" {
  name                        = "some-unique-name"
 
  labels = {
    key = "env" 
    value = "dev"
  }
}

但在 terraform apply

上给出了 400 错误
╷
│ Error: googleapi: Error 400: Invalid argument., invalid
│
│   with module.ndpe_project.google_storage_bucket.report_staging,
│   on ....main.tf line 130, in resource "google_storage_bucket" "report_staging":
│  130: resource "google_storage_bucket" "report_staging" {

我相信上面的语法实际上会创建两个名为 'key' 和 'value' 的键。这也将通过计划阶段。:

  labels = {
    environment = local.env 
    created_by  = "me"
  }
}

使用这个语法:

labels = {
  created_by = "me"
  deleted_by = "me"
}

Key/value 对可以用逗号或换行符分隔。

映射中的键必须是字符串;如果它们是有效标识符,则可以不加引号,否则必须加引号。您可以使用 non-literal 字符串表达式作为键,方法是将其括在括号中。

Maps/Objects