我想创建带有版本控制的 GCS 存储桶。
我创建了子模块。
resource "google_storage_bucket" "cloud_storage" {
project = "${var.project}"
name = "${var.storage_name}"
location = "${var.location}"
storage_class = "${var.storage_class}"
versioning = "${var.versioning}"
}
根据 Terraform doc,我可以传递版本控制参数来配置版本控制。
我不知道接受什么样的数据版本控制参数。我尝试传递 bool (true)、map 和 list 如下。
地图
variable "versioning" {
type = list
default = {
generation = true,
metageneration = true
}
}
列表
variable "versioning" {
type = list
default = [
"generation",
"metageneration"
]
description = "Enable versioning on Bucket"
}
我在阅读此 GCP Doc后尝试了此操作
错误 错误我得到它如下。
Error: Unsupported argument
on ../modules/storage/main.tf line 6, in resource "google_storage_bucket" "cloud_storage":
6: versioning = "${var.versioning}"
An argument named "versioning" is not expected here. Did you mean to define a
block of type "versioning"?
如果我不使用版本控制参数,该模块工作正常。但是,我想创建也可以配置版本控制的模块。
如果我走错了方向,请告诉我。
任何帮助,将不胜感激。