From 0095a944cd2aaed99ca659ad228b76a4f1a5b64e Mon Sep 17 00:00:00 2001 From: Martin Atkins Date: Thu, 21 Feb 2019 16:13:17 -0800 Subject: [PATCH] configs/configupgrade: Include provisioner schemas in analysis We'll need these to migrate any "provisioner" blocks we find in the input configuration. --- configs/configupgrade/analysis.go | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/configs/configupgrade/analysis.go b/configs/configupgrade/analysis.go index 5f513a3337..4b21ea3d88 100644 --- a/configs/configupgrade/analysis.go +++ b/configs/configupgrade/analysis.go @@ -262,7 +262,20 @@ func (u *Upgrader) analyze(ms ModuleSources) (*analysis, error) { ret.ProviderSchemas[name] = schema } - // TODO: Also ProvisionerSchemas + for name, fn := range u.Provisioners { + log.Printf("[TRACE] Fetching schema from provisioner %q", name) + provisioner, err := fn() + if err != nil { + return nil, fmt.Errorf("failed to load provisioner %q: %s", name, err) + } + + resp := provisioner.GetSchema() + if resp.Diagnostics.HasErrors() { + return nil, resp.Diagnostics.Err() + } + + ret.ProvisionerSchemas[name] = resp.Provisioner + } return ret, nil }