terraform: fall through on type conversion failure

This fixes a test but also loosens the requirements of Variables() so
that the Validate() call on Terraform can actually catch those errors.
This commit is contained in:
Mitchell Hashimoto 2016-10-31 11:31:01 -07:00
parent bac66430cb
commit 50d493163d
No known key found for this signature in database
GPG Key ID: 744E147AA52F5B0A
1 changed files with 7 additions and 6 deletions

View File

@ -110,14 +110,15 @@ func Variables(
case config.VariableTypeMap:
varSetMap(result, k, v)
case config.VariableTypeString:
// Convert to a string and set. We don't catch any errors
// here because the validation step later should catch
// any type errors.
var strVal string
if err := hilmapstructure.WeakDecode(v, &strVal); err != nil {
return nil, fmt.Errorf(
"Error converting %s value to type string: %s",
k, err)
}
if err := hilmapstructure.WeakDecode(v, &strVal); err == nil {
result[k] = strVal
} else {
result[k] = v
}
default:
panic(fmt.Sprintf(
"Unhandled var type: %T\n\n"+