terramate-io/terramate

[BUG] Terraform 1.10-rc2 and ephemeral vars

Opened this issue · 1 comments

Describe the bug
A clear and concise description of what the bug is.

To Reproduce

Steps to reproduce the behavior:

  1. Using output sharing between stacks and Terraform before 1.10 as normal:
input "access_logs_bucket_domain_name" {
  backend       = global.stack
  from_stack_id = global.stack_ids["aws-access-logs-bucket"]
  value         = outputs.access_logs_bucket_domain_name.value
  mock          = "some"
}
  1. Run terramate apply fails due to a new feature ephemeral vars:
╷
│ Error: Can't change variable when applying a saved plan
│ 
│ The variable access_logs_bucket_domain_name cannot be set using the -var and -var-file options when applying a saved plan file, because a
│ saved plan includes the variable values that were set when it was created. The saved plan specifies
│ "\"dev-123logs.s3.amazonaws.com\"" as the value whereas during apply the value "dev-123logs.s3.amazonaws.com" was set by
│ an environment variable. To declare an ephemeral variable which is not saved in the plan file, use ephemeral = true.
╵

Environment (please complete the following information):

  • Terramate Version: 0.11.2
  • Terraform Version: Terraform v1.10.0-rc2 on darwin_arm64

Thanks for reporting this @antonbabenko, we'll look into this shortly to make sure that we add support for ephemeral vars asap.