From 9459e2233bd37aebf44e1c953223d8a1b32eb962 Mon Sep 17 00:00:00 2001 From: Megan Marsh Date: Mon, 13 Jan 2020 11:51:36 -0800 Subject: [PATCH] fix config loading to work with HCL2 --- builder/vsphere/iso/builder.go | 3 +-- builder/vsphere/iso/config.go | 9 ++++----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/builder/vsphere/iso/builder.go b/builder/vsphere/iso/builder.go index 0cae03611..7c809a746 100644 --- a/builder/vsphere/iso/builder.go +++ b/builder/vsphere/iso/builder.go @@ -19,11 +19,10 @@ type Builder struct { func (b *Builder) ConfigSpec() hcldec.ObjectSpec { return b.config.FlatMapstructure().HCL2Spec() } func (b *Builder) Prepare(raws ...interface{}) ([]string, []string, error) { - c, warnings, errs := NewConfig(raws...) + warnings, errs := b.config.Prepare() if errs != nil { return warnings, nil, errs } - b.config = c return warnings, nil, nil } diff --git a/builder/vsphere/iso/config.go b/builder/vsphere/iso/config.go index e5c060519..dd04c8052 100644 --- a/builder/vsphere/iso/config.go +++ b/builder/vsphere/iso/config.go @@ -38,8 +38,7 @@ type Config struct { ctx interpolate.Context } -func NewConfig(raws ...interface{}) (*Config, []string, error) { - c := new(Config) +func (c *Config) Prepare(raws ...interface{}) ([]string, error) { err := config.Decode(c, &config.DecodeOpts{ Interpolate: true, InterpolateContext: &c.ctx, @@ -50,7 +49,7 @@ func NewConfig(raws ...interface{}) (*Config, []string, error) { }, }, raws...) if err != nil { - return nil, nil, err + return nil, err } warnings := make([]string, 0) @@ -75,8 +74,8 @@ func NewConfig(raws ...interface{}) (*Config, []string, error) { errs = packer.MultiErrorAppend(errs, c.ShutdownConfig.Prepare()...) if len(errs.Errors) > 0 { - return nil, nil, errs + return nil, errs } - return c, nil, nil + return nil, nil }