From 0ccff0d5b96c0fa2651fb80575b1ffbe941f984f Mon Sep 17 00:00:00 2001 From: Adrien Delorme Date: Mon, 9 Mar 2020 17:25:56 +0100 Subject: [PATCH] all variables must have a value. A variable's default value can be set to null to force user to set it. --- hcl2template/parser.go | 5 +++++ hcl2template/testdata/variables/basic.pkr.hcl | 1 + .../testdata/variables/unknown_key.pkr.hcl | 3 ++- hcl2template/types.packer_config.go | 6 ++++-- hcl2template/types.variables.go | 21 +++++++++++-------- hcl2template/types.variables_test.go | 16 ++++++++------ 6 files changed, 34 insertions(+), 18 deletions(-) diff --git a/hcl2template/parser.go b/hcl2template/parser.go index df6ef1d86..3bf48294e 100644 --- a/hcl2template/parser.go +++ b/hcl2template/parser.go @@ -126,6 +126,11 @@ func (p *Parser) parse(filename string, vars map[string]string) (*PackerConfig, diags = append(diags, cfg.collectInputVariableValues(os.Environ(), varFiles, vars)...) } + _, moreDiags := cfg.InputVariables.Values() + diags = append(diags, moreDiags...) + _, moreDiags = cfg.LocalVariables.Values() + diags = append(diags, moreDiags...) + // decode the actual content for _, file := range files { diags = append(diags, p.decodeConfig(file, cfg)...) diff --git a/hcl2template/testdata/variables/basic.pkr.hcl b/hcl2template/testdata/variables/basic.pkr.hcl index c495ed741..8fb119b0c 100644 --- a/hcl2template/testdata/variables/basic.pkr.hcl +++ b/hcl2template/testdata/variables/basic.pkr.hcl @@ -29,6 +29,7 @@ variable "super_secret_password" { description = <