Amazon web services 如何使用terraform 12使S3-lifecycle_规则转换可选
在terraform的12版本中,如果我们在lifecycle_规则中定义了一个转换块,则必须通过存储类和天数 根据项目需求,由于一些bucket需要带有转换块的lifecycle_规则,我必须将其添加到main.tf中Amazon web services 如何使用terraform 12使S3-lifecycle_规则转换可选,amazon-web-services,amazon-s3,terraform,Amazon Web Services,Amazon S3,Terraform,在terraform的12版本中,如果我们在lifecycle_规则中定义了一个转换块,则必须通过存储类和天数 根据项目需求,由于一些bucket需要带有转换块的lifecycle_规则,我必须将其添加到main.tf中 lifecycle_rule { enabled = var.test_bool id = var.test_id prefix = var.test_prefix transition { days = var.test_days stor
lifecycle_rule {
enabled = var.test_bool
id = var.test_id
prefix = var.test_prefix
transition {
days = var.test_days
storage_class = var.test_storage_class
}
}
因此,对于其他不需要转换规则的bucket,我们会得到类似这样的错误-参数“lifecycle\u rule.1.transition.0.storage\u class”是必需的,您可以使转换成为可选的。例如:
variable "enable_transition" {
default = false
}
resource "aws_s3_bucket" "bucket" {
# ...
lifecycle_rule {
enabled = var.test_bool
id = var.test_id
prefix = var.test_prefix
dynamic "transition" {
for_each = var.enable_transition ? [1] : []
content {
days = var.test_days
storage_class = var.test_storage_class
}
}
}
}