首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Terraform创建S3生命周期配置?

如何使用Terraform创建S3生命周期配置?
EN

Stack Overflow用户
提问于 2022-03-07 05:39:01
回答 1查看 527关注 0票数 1

我尝试在newer_noncurrent_versions生命周期中使用S3。

Terraform 4.3.0中,发布了生命周期。

但是,在Terraform云上应用时,出现了使用生命周期V2的错误。

我的代码有问题吗?这是地形提供商的问题吗?

Terraform和Terraform提供程序版本

代码语言:javascript
复制
Terraform v1.1.5
on darwin_amd64

Terraform配置文件

代码语言:javascript
复制
resource "aws_s3_bucket_lifecycle_configuration" "s3" {
  bucket = "aws-test-bucket"

  rule {
    id     = "rule"
    status = "Enabled"

    noncurrent_version_expiration {
      noncurrent_days                  = 1
      newer_noncurrent_versions = 2
    }
  }
}

实际行为

  • 当我在本地运行terrafrom plan时,它似乎被创建得很好。
代码语言:javascript
复制
  + resource "aws_s3_bucket_lifecycle_configuration" "s3" {
      + bucket = (known after apply)
      + id     = (known after apply)

      + rule {
          + id     = "rule"
          + status = "Enabled"

          + noncurrent_version_expiration {
              + newer_noncurrent_versions = 2
              + noncurrent_days                  = 1
            }
        }
    }

然而,在Terraform中应用时,会发生以下错误。

代码语言:javascript
复制
Error: error creating S3 Lifecycle Configuration for bucket (aws-test-bucket): InvalidRequest: 
NewerNoncurrentVersions element can only be used in Lifecycle V2. 
status code: 400, with aws_s3_bucket_lifecycle_configuration.s3
on s3.tf line 66, in resource "aws_s3_bucket_lifecycle_configuration" "s3":
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-07 06:06:11

您在规则中缺少了filter

代码语言:javascript
复制
resource "aws_s3_bucket_lifecycle_configuration" "s3" {
  bucket = "aws-test-bucket"

  rule {
    id     = "rule"
    status = "Enabled"
    
    filter {} 

    noncurrent_version_expiration {
      noncurrent_days                  = 1
      newer_noncurrent_versions = 2
    }
  }
  
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71376827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档