Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why am I getting errors for random_id b64 attribute in Terraform?

Tags:

terraform

I haven't made any changes to my terraform scripts, and deploys started failing with an error like this:

2020/10/09 05:00:42 [DEBUG] Using modified User-Agent: Terraform/0.12.26 TFE/v202007-2
Error: Unsupported attribute
  on .terraform/modules/rds.rds/main.tf line 3, in locals:
   3:   master_password      = var.password == "" ? random_id.master_password.b64 : var.password
This object has no argument, nested block, or exported attribute named "b64".

like image 511
Aaron McMillin Avatar asked Oct 09 '20 05:10

Aaron McMillin


1 Answers

According to the changelog for release v3.0.0:

https://github.com/hashicorp/terraform-provider-random/blob/master/CHANGELOG.md#300-october-09-2020

Remove deprecated b64 attribute

Terraform helpfully suggests:

The following providers do not have any version constraints in configuration,
so the latest version was installed.
To prevent automatic upgrades to new major versions that may contain breaking
changes, it is recommended to add version = "..." constraints to the
corresponding provider blocks in configuration, with the constraint strings
suggested below.
* provider.null: version = "~> 3.0"
* provider.random: version = "~> 3.0"
* provider.template: version = "~> 2.2"
* provider.tfe: version = "~> 0.22"

The immediate solution to the error, is to rollback the random provider by adding required_providers to a terraform block, probably in main.tf

terraform {
  required_providers {
    random = {
      version = "~> 2.3.0"
    }
  }
}
like image 187
Aaron McMillin Avatar answered Sep 30 '22 09:09

Aaron McMillin