Skip to content

Terraform variables show different behavior between Classic and Dynamic template formats #18671

@blink-so

Description

@blink-so

Problem

Terraform variables defined in terraform.vars files behave differently between Classic and Dynamic template formats:

  • Classic format: Shows updated/overridden values from terraform.vars
  • Dynamic format: Stuck on default values, ignoring overrides set in Template Settings

Example

Template defines:

variable "availability_zone_names" {
  description = "List of AWS availability zones"
  type        = list(string)
  default     = ["us-west-1b", "us-west-1d", "uk-west-2a"]
}

data "coder_parameter" "availability_zone" {
  name         = "availability_zone"
  display_name = "Availability Zone"
  description  = "Select which availability zone to deploy in"
  type         = "string"
  mutable      = true

  dynamic "option" {
    for_each = toset(var.availability_zone_names)
    content {
      name  = option.value
      value = option.value
    }
  }
}

When overriding via:

export TF_VAR_availability_zone_names='["us-west-1b","us-west-1d", "uk-west-2a", "uk-west-2a"]'
# or terraform.vars file
coder templates push -y --org=coder --var teams=""

Expected: Both Classic and Dynamic should show the same overridden values
Actual: Classic shows overridden values, Dynamic shows defaults

Additional Context

Dynamic parameters does not take in the TemplateVariables set in the settings page. It should.

Metadata

Metadata

Assignees

Labels

parametersbugs & feature requests related to Dynamic Parameters

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    pFad - Phonifier reborn

    Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

    Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


    Alternative Proxies:

    Alternative Proxy

    pFad Proxy

    pFad v3 Proxy

    pFad v4 Proxy