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

how can i create S3 Lifecycle configuration using Terraform?

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

Terraform 4.3.0 中发布了生命周期。

但是在Terraform cloud上应用时,出现了使用Lifecycle V2的错误。

我的代码有问题吗?是地形提供程序问题吗?

Terraform CLI 和 Terraform AWS 提供商版本

Terraform v1.1.5
on darwin_amd64

Terraform 配置文件

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

实际行为

  + 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 Cloud中应用时出现如下错误

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":

您的规则中缺少 filter

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