From 68c8d83620ac7b423ae1d219bcba95ea0b937afe Mon Sep 17 00:00:00 2001 From: Martin Atkins Date: Tue, 29 May 2018 16:18:33 -0700 Subject: [PATCH] core: In TransformDestroyEdge, insert variable nodes before providers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The provider transforms now depend on analyzing references in order to properly create provider edges, and so we need to now insert all of the nodes that can have references and attach schemas before we run TransformProviders. This was done for the main graph builders in a previous commit, but as usual we missed this surprising hidden graph builder that lives inside a graph transformer. 🙄 --- terraform/transform_destroy_edge.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/terraform/transform_destroy_edge.go b/terraform/transform_destroy_edge.go index a04b3ae7e2..41940d37a1 100644 --- a/terraform/transform_destroy_edge.go +++ b/terraform/transform_destroy_edge.go @@ -133,8 +133,6 @@ func (t *DestroyEdgeTransformer) Transform(g *Graph) error { &AttachResourceConfigTransformer{Config: t.Config}, &AttachStateTransformer{State: t.State}, - TransformProviders(nil, providerFn, t.Config), - // Add all the variables. We can depend on resources through // variables due to module parameters, and we need to properly // determine that. @@ -145,6 +143,8 @@ func (t *DestroyEdgeTransformer) Transform(g *Graph) error { // extract references from config. &AttachSchemaTransformer{Components: t.Components}, + TransformProviders(nil, providerFn, t.Config), + &ReferenceTransformer{}, }