Terraform upgrade from 0.14 to 1.0.2 adds random optional parameters with values

Hey there,

I am trying to upgrade from version 0.14 to 1.0.2 and during this process terraform seems to add some optional parameters for the AWS resources.
For example, after the plan command, I have this output:

*# module.output_bucket.aws_s3_bucket.default[0] will be updated in-place*
*  ~ resource "aws_s3_bucket" "default" {*
*      + acceleration_status         = ""*

The acceleration_status was not added by me in the code.
If I try to add it in the code, exactly like shown above: acceleration_status = “”, with no other value, the terraform plan command is giving the following error (which is in line with the documentation of course):

│ Error: expected acceleration_status to be one of [Enabled Suspended], got 
│   with module.output_bucket.aws_s3_bucket.default,
│   on ../../modules/bucket/s3.tf line 28, in resource "aws_s3_bucket" "default":
│   28:   acceleration_status = ""

It is a problem that it adds random optional parameters, and it is a bigger problem that it adds them with a wrong value.
Anyone have had this issue before? Any idea how to fix it (other than the work around to add the optional parameters with a value from documentation)?


Hi @andraglavan,

The addition of new arguments is more commonly caused by upgrading the AWS provider than by upgrading Terraform CLI. Is it possible that you also switched to a newer version of the AWS provider at the same time as you upgraded Terraform CLI?

I don’t see a provider issue that seems exactly like what you’ve reported here, but issue #12332 seems to be discussing some similar symptoms with different arguments, and so perhaps that’s related to what you’re seeing here.

Hey @apparentlymart

Yes, indeed I am upgrading the provider version as well. This might be the issue.
Also, I saw yesterday that if I am fixing all the warnings, the optional parameters are not added anymore.
Still a lot of repos to go, but this infromation certainly helps.

Thanks a lot!