Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何使用terraform 12使S3-lifecycle_规则转换可选_Amazon Web Services_Amazon S3_Terraform - Fatal编程技术网

Amazon web services 如何使用terraform 12使S3-lifecycle_规则转换可选

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

在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
   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
          }
       }   
    }
}