From b1532c0f0441a658c4edef624a34d9e1a36dd27b Mon Sep 17 00:00:00 2001 From: James Bardin Date: Mon, 6 Apr 2020 12:52:25 -0400 Subject: [PATCH] make the module closer referenceable This is all that is required to make module reference ordering work during apply, by adding and edge to the nodeCloseModule node, which will be the last node evaluated in the module. --- terraform/node_module_expand.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/terraform/node_module_expand.go b/terraform/node_module_expand.go index f77989890..e159f7c3b 100644 --- a/terraform/node_module_expand.go +++ b/terraform/node_module_expand.go @@ -99,6 +99,23 @@ type nodeCloseModule struct { Addr addrs.Module } +var ( + _ graphNodeModuleCloser = (*nodeCloseModule)(nil) + _ GraphNodeReferenceable = (*nodeCloseModule)(nil) +) + +func (n *nodeCloseModule) ModulePath() addrs.Module { + mod, _ := n.Addr.Call() + return mod +} + +func (n *nodeCloseModule) ReferenceableAddrs() []addrs.Referenceable { + _, call := n.Addr.Call() + return []addrs.Referenceable{ + call, + } +} + func (n *nodeCloseModule) Name() string { if len(n.Addr) == 0 { return "root"