|
|
|
|
@ -9,6 +9,7 @@ import (
|
|
|
|
|
"github.com/hashicorp/hcl/v2/ext/dynblock"
|
|
|
|
|
"github.com/hashicorp/hcl/v2/hclparse"
|
|
|
|
|
"github.com/hashicorp/packer/packer"
|
|
|
|
|
"github.com/zclconf/go-cty/cty"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
const (
|
|
|
|
|
@ -177,6 +178,22 @@ func (cfg *PackerConfig) Initialize() hcl.Diagnostics {
|
|
|
|
|
diags = append(diags, moreDiags...)
|
|
|
|
|
diags = append(diags, cfg.evaluateLocalVariables(cfg.LocalBlocks)...)
|
|
|
|
|
|
|
|
|
|
for _, variable := range cfg.InputVariables {
|
|
|
|
|
if !variable.Sensitive {
|
|
|
|
|
continue
|
|
|
|
|
}
|
|
|
|
|
value, _ := variable.Value()
|
|
|
|
|
if !value.IsWhollyKnown() && value.IsNull() && !value.Type().Equals(cty.String) {
|
|
|
|
|
continue
|
|
|
|
|
}
|
|
|
|
|
cty.Walk(value, func(_ cty.Path, nested cty.Value) (bool, error) {
|
|
|
|
|
if nested.IsWhollyKnown() && !nested.IsNull() && nested.Type().Equals(cty.String) {
|
|
|
|
|
packer.LogSecretFilter.Set(nested.AsString())
|
|
|
|
|
}
|
|
|
|
|
return true, nil
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// decode the actual content
|
|
|
|
|
for _, file := range cfg.files {
|
|
|
|
|
diags = append(diags, cfg.parser.decodeConfig(file, cfg)...)
|
|
|
|
|
|