This is to give advance notice of an incoming version of the provider that will resolve this issue expected in the next few days. Please see the issue linked below for additional information.
opened 06:28PM - 28 Jan 25 UTC
service/s3
### Notice
NOTE: This is to give advance notice of an incoming version of the p… rovider that will resolve this issue expected in the next few days. This issue will be updated with the confirmed version number when ready.
Users relying on the `aws_s3_bucket_lifecycle_configuration` resource should update their provider to a yet to be published provider version and ensure that [transition_default_minimum_object_size](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_lifecycle_configuration#transition_default_minimum_object_size-1) attribute is explicitly added to their configurations.
### Description
In September 2024 Amazon S3 updated the default transition behavior for small objects. Full details can be found [here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html#lifecycle-configuration-constraints). The Terraform AWS Provider was modified in version [5.70.0](https://github.com/hashicorp/terraform-provider-aws/blob/main/CHANGELOG.md#5700-october--4-2024) via [#39578](https://github.com/hashicorp/terraform-provider-aws/pull/39578) to allow for this new behavior and give end users the ability to opt into the legacy behavior if required.
Unfortunately the current implementation of this feature can lead to unexpected results in some specific situations which can lead to object transitions being enabled for smaller objects when not explicitly configured. This can lead to increased and unplanned costs.
This issue arises because of an interaction between the S3 API and the [terraform-plugin-sdk](https://github.com/hashicorp/terraform-plugin-sdk) upon which this resource is built. This leads to the configuration using the existing setting returned by the AWS API rather than the new default when not explicitly configured. This is an atypical interaction, and not something the [terraform-plugin-sdk](https://github.com/hashicorp/terraform-plugin-sdk) allows us to handle correctly.
To remediate this we will be reimplementing the [aws_s3_bucket_lifecycle_configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_lifecycle_configuration) resource using the new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework), which allows us the ability to handle this behavior correctly. We expect this to be ready in this week's release.
For more information see this detailed bug report: https://github.com/hashicorp/terraform-provider-aws/issues/41073
### References
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html#lifecycle-configuration-constraints
- https://github.com/hashicorp/terraform-provider-aws/issues/41073
- https://github.com/hashicorp/terraform-provider-aws/pull/39578
### Affected Resource(s) and/or Data Source(s)
* aws_s3_bucket_lifecycle_configuration