Terraform
provider::terraform::encode_expr Function
Note: This function is supported only in Terraform v1.8 and later.
provider::terraform::encode_expr is a rarely-needed function which takes
any value and produces a string containing Terraform language expression syntax
approximating that value.
To use this function, your module must declare a dependency on the built-in
terraform provider, which contains this function:
terraform {
  required_providers {
    terraform = {
      source = "terraform.io/builtin/terraform"
    }
  }
}
The primary use for this function is in conjunction with the hashicorp/tfe
provider's resource type
tfe_variable,
which expects variable values to be provided in Terraform expression syntax.
For example, the following concisely declares multiple input variables for a particular HCP Terraform workspace:
locals {
  workspace_vars = {
    example1 = "Hello"
    example2 = ["A", "B"]
  }
}
resource "tfe_variable" "test" {
  for_each = local.workspace_vars
  category     = "terraform"
  workspace_id = tfe_workspace.example.id
  key   = each.key
  value = provider::terraform::encode_expr(each.value)
  hcl   = true
}
When using this pattern, always set hcl = true in the resource declaration
to ensure that HCP Terraform will expect value to be given as Terraform
expression syntax.
We do not recommend using this function in any other situation.
Warning: The exact syntax used to encode certain values may change in future versions of Terraform to follow idiomatic style. Avoid using the results of this function in any context where such changes might be disruptive when upgrading Terraform in future.
Related Functions
- encode_tfvarsproduces expression strings for many different values at once, in- .tfvarssyntax.