From 9d038c1d88acd6490fb6ef45dad6c569f9ca3de2 Mon Sep 17 00:00:00 2001 From: Pat Gavlin Date: Fri, 15 Dec 2017 11:04:25 -0800 Subject: [PATCH] Only pass old inputs to `Check`. We do not need all of the information in the old state for this call, as outputs will not be read by the provider during validation or defaults computation. --- pkg/resource/deploy/plan_apply.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/resource/deploy/plan_apply.go b/pkg/resource/deploy/plan_apply.go index d099f0616..9fa22c784 100644 --- a/pkg/resource/deploy/plan_apply.go +++ b/pkg/resource/deploy/plan_apply.go @@ -281,10 +281,10 @@ func (iter *PlanIterator) makeRegisterResouceSteps(e RegisterResourceEvent) ([]S // Check for an old resource before going any further. old, hasold := iter.p.Olds()[urn] var olds resource.PropertyMap - var oldouts resource.PropertyMap + var oldState resource.PropertyMap if hasold { olds = old.Inputs - oldouts = old.All() + oldState = old.All() } // Fetch the provider for this resource type, assuming it isn't just a logical one. @@ -300,7 +300,7 @@ func (iter *PlanIterator) makeRegisterResouceSteps(e RegisterResourceEvent) ([]S news, inputs := new.Inputs, new.Inputs if prov != nil { var failures []plugin.CheckFailure - inputs, failures, err = prov.Check(urn, oldouts, news) + inputs, failures, err = prov.Check(urn, olds, news) if err != nil { return nil, err } else if iter.issueCheckErrors(new, urn, failures) { @@ -354,7 +354,7 @@ func (iter *PlanIterator) makeRegisterResouceSteps(e RegisterResourceEvent) ([]S // The properties changed; we need to figure out whether to do an update or replacement. var diff plugin.DiffResult if prov != nil { - if diff, err = prov.Diff(urn, old.ID, oldouts, inputs); err != nil { + if diff, err = prov.Diff(urn, old.ID, oldState, inputs); err != nil { return nil, err } }