我尝试在newer_noncurrent_versions生命周期中使用S3。
在Terraform 4.3.0中,发布了生命周期。
但是,在Terraform云上应用时,出现了使用生命周期V2的错误。
我的代码有问题吗?这是地形提供商的问题吗?
Terraform和Terraform提供程序版本
Terraform v1.1.5
on darwin_amd64Terraform配置文件
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时,它似乎被创建得很好。 + 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中应用时,会发生以下错误。
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":发布于 2022-03-07 06:06:11
您在规则中缺少了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
}
}
}https://stackoverflow.com/questions/71376827
复制相似问题