Changes to aws_db_parameter_group variable calculations rejected by AWS for not matching capitalization are still persisted to state #14970
Labels
service/rds
Issues and PRs that pertain to the rds service.
upstream-terraform
Addresses functionality related to the Terraform core binary.
Milestone
Community Note
Terraform CLI and Terraform AWS Provider Version
Affected Resource(s)
Terraform Configuration Files
Expected Behavior
Changes to the RDS parameter group not accepted by AWS are not persisted in the state file.
Actual Behavior
Changes to the RDS parameter group not accepted by AWS are persisted in the state file, overwriting the prior, still-retained configuration.
Steps to Reproduce
We start with having created the RDS parameter group with the config above:
Now, edit the above resource configuration to change
{DBInstanceClassMemory*8/19}
to{dBInstanceClassMemory*1/2}
.NOTE THAT THE FIRST LETTER IN THE STRING HAS BEEN LOWERCASED, D -> d
We can confirm this with the AWS console:
The *8/19 value is the actual value, but the state file now thinks otherwise.
I finally wrote the minimalist reproduction case for this in the course of testing out whether #12973 was still a live concern for us.
Interestingly, if you attempt to create an RDS parameter group that does not yet exist, and you use a capitalization of the variable different than what AWS wants, it also get persisted to the state file, but as tainted. ¯\(ツ)/¯
The text was updated successfully, but these errors were encountered: