我正在閱讀這篇文章:Terraform - 創建多個存盤桶
并且想知道如何添加一個過濾器以在其中一個存盤桶上啟用存盤桶版本控制,并使用 terraform 條件或任何允許它作業的東西禁用其余存盤桶的版本控制?我正在嘗試這樣的事情,但它不起作用
variable "s3_bucket_name" {
type = "list"
default = ["prod_bucket", "stage-bucket", "qa_bucket"]
}
resource "aws_s3_bucket" "henrys_bucket" {
count = "${length(var.s3_bucket_name)}"
bucket = "${var.s3_bucket_name[count.index]}"
acl = "private"
force_destroy = "true"
var.s3_bucket_name[count.index] != "target-bucket-name" versioning { enabled = true } : versioning { enabled = false }
}
uj5u.com熱心網友回復:
您可以使用物件串列,而不僅僅是存盤桶名稱串列。該物件可以包含存盤桶名稱和 versioning_enabled 標志。然后使用存盤桶名稱和 versioning_enabled。
就像是:
bucket = var.s3_buckets[count.index].bucket_name
對于版本控制,添加基于 var.s3_buckets[count.index].versioning_enabled 的動態塊,如下所示:
dynamic "versioning" {
for_each = var.s3_buckets[count.index].versioning_enabled== true ? [1] : []
content {
enabled = true
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/435508.html
