Zack
09/01/2026, 7:49 PMZack
09/01/2026, 7:50 PM// default set up, but in this case we're templating something out in an atmos.Resolve that doesn't actually exist 😑Erik Osterman (Cloud Posse)
09/01/2026, 8:07 PMErik Osterman (Cloud Posse)
09/01/2026, 8:07 PMErik Osterman (Cloud Posse)
09/01/2026, 8:07 PMErik Osterman (Cloud Posse)
09/01/2026, 8:07 PM--use-mocksZack
09/01/2026, 8:10 PMZack
09/01/2026, 8:13 PM!terraform.state lookup on an import, resolving it into a stack that doesn't actually exist, but we are also overriding this specific variable in our stack. I've worked around this by not importing that file and duplicating the file and overriding that one variable that is causing issues. We're in a transitional stage right now with implementing a bunch of these new features.Zack
09/01/2026, 8:14 PMErik Osterman (Cloud Posse)
09/01/2026, 8:15 PM--use-mocks,
Both !terraform.state and !terraform.output resolve from vpc.mocks. The familiar output and YQ-expression syntax stays the same; only the source of the value changes.Erik Osterman (Cloud Posse)
09/01/2026, 8:15 PMErik Osterman (Cloud Posse)
09/01/2026, 8:15 PMZack
09/01/2026, 8:15 PMGuardrails keep normal operations normal
Mocks are opt-in. Without, existing--use-mocksand!terraform.statebehavior is unchanged.!terraform.output
The flag is supported by:
•atmos terraform plan
•?atmos describe component
Erik Osterman (Cloud Posse)
09/01/2026, 8:16 PMZack
09/01/2026, 8:17 PMZack
09/01/2026, 8:18 PMErik Osterman (Cloud Posse)
09/01/2026, 8:19 PMZack
09/01/2026, 8:20 PMZack
09/01/2026, 8:20 PMErik Osterman (Cloud Posse)
09/01/2026, 8:21 PMErik Osterman (Cloud Posse)
09/01/2026, 8:21 PMErik Osterman (Cloud Posse)
09/01/2026, 8:21 PM<no value> or similarErik Osterman (Cloud Posse)
09/01/2026, 8:22 PMZack
09/01/2026, 8:22 PMZack
09/01/2026, 8:22 PMZack
09/01/2026, 8:23 PMErik Osterman (Cloud Posse)
09/01/2026, 8:24 PM!terraform.state as a var; or is it just the presence of the !terraform.state in the stack file causing griefZack
09/01/2026, 8:28 PMkms_master_key_arn*:* *'*{{ atmos.Resolve (printf!terraform.state cloudposse-kms-key %s-%s ".key_arn // ""default"""` .vars.app .vars.account_name) }}*'*`
in my case .vars.account_name is set to something and templating to a stack that isn't real, so it doesn't make it to the // ""default""". This is in a _defaults.yaml that is imported, and overridden, meaning this value that atmos is trying to evaluate won't make it to the inputs to the component anyway, in this specific case.Zack
09/01/2026, 8:29 PMZack
09/01/2026, 8:33 PMErik Osterman (Cloud Posse)
09/01/2026, 9:44 PMkms_master_key_arn: !terraform.state cloudposse-kms-key {{ .<http://vars.app|vars.app> }}-{{ .vars.account_name }} '.key_arn // "default"'