【问题标题】:How to make S3-lifecycle_rule-Transition optional using terraform 12如何使用 terraform 12 使 S3-lifecycle_rule-Transition 成为可选
【发布时间】:2021-05-13 19:16:30
【问题描述】:

在 12 版本的 terraform 中,如果我们在生命周期规则中定义了一个 Transition 块,则必须传递 storage class 和 days 。

根据项目要求,由于某些存储桶需要带有过渡块的生命周期规则,因此我必须将其添加到 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
}
 }

所以对于不需要转换规则的其他存储桶,我们会得到类似的错误 - 参数“lifecycle_rule.1.transition.0.storage_class”是必需的,

【问题讨论】:

    标签: amazon-web-services amazon-s3 terraform


    【解决方案1】:

    您可以将dynamic block 设置为transition 可选。例如:

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

    【讨论】:

      猜你喜欢
      • 2017-01-15
      • 2021-10-31
      • 2019-08-09
      • 2020-03-23
      • 2020-12-25
      • 1970-01-01
      • 1970-01-01
      • 2021-05-28
      相关资源
      最近更新 更多