- Notifications
You must be signed in to change notification settings - Fork928
Closed
Description
Given:
The followingmain.tf
:
provider "foo" {}resource "foo_bar" "baz" {}variable "region" {type = stringdefault = "us"}variable "az" {type = stringdefault = "a"}data "base" "ours" {all = true}data "coder_parameter" "az" {name = "az"type = "string"default = var.az}data "coder_workspace_tags" "tags" {tags = {"platform" = "kubernetes","cluster" = "${"devel"}${"opers"}""region" = var.region"az" = data.coder_parameter.az.value}}
When:
provisioner/terraform/tfparse.WorkspaceTagDefaults
extracts workspace tags from the above
Then:
Expected:
{"platform": "kubernetes", "cluster": "developers", "region": "us", "az": "a"}
Actual:
{"platform":"kubernetes", "cluster":"developers", "region":"us", "az":"var.az"}
Notes:
A similar issue can also be observed with an "evaluated" default value, e.g.:
provider "foo" {}resource "foo_bar" "baz" {}variable "region" {type = stringdefault = "us"}data "base" "ours" {all = true}data "coder_parameter" "az" {name = "az"type = "string"default = "${""}${"a"}"}data "coder_workspace_tags" "tags" {tags = {"platform" = "kubernetes","cluster" = "${"devel"}${"opers"}""region" = var.region"az" = data.coder_parameter.az.value}}
In this case, we get the raw value${""}${"a"}
instead of the expected valuea
.