From 2c60140cad31cbd353e242a455e1baca53219ba4 Mon Sep 17 00:00:00 2001 From: Kristin Laemmert Date: Thu, 14 Mar 2019 09:12:27 -0700 Subject: [PATCH] configs: do not panic if module version is a variable (#20681) Fixes #20653 --- configs/test-fixtures/invalid-files/version-variable.tf | 6 ++++++ configs/version_constraint.go | 3 +++ 2 files changed, 9 insertions(+) create mode 100644 configs/test-fixtures/invalid-files/version-variable.tf diff --git a/configs/test-fixtures/invalid-files/version-variable.tf b/configs/test-fixtures/invalid-files/version-variable.tf new file mode 100644 index 000000000..7c871053d --- /dev/null +++ b/configs/test-fixtures/invalid-files/version-variable.tf @@ -0,0 +1,6 @@ +variable "module_version" { default = "v1.0" } + +module "foo" { + source = "./ff" + version = var.module_version +} diff --git a/configs/version_constraint.go b/configs/version_constraint.go index 00dc739a7..7aa19efc6 100644 --- a/configs/version_constraint.go +++ b/configs/version_constraint.go @@ -24,6 +24,9 @@ func decodeVersionConstraint(attr *hcl.Attribute) (VersionConstraint, hcl.Diagno } val, diags := attr.Expr.Value(nil) + if diags.HasErrors() { + return ret, diags + } var err error val, err = convert.Convert(val, cty.String) if err != nil {