如何使用 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
}
}
}
实际行为
- 当我在本地 运行
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 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
}
}
}
我尝试在 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
}
}
}
实际行为
- 当我在本地 运行
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 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
}
}
}