From 6ed1a81831ef2e60a84d056cb9a6a55bfac65b5c Mon Sep 17 00:00:00 2001 From: James Bardin Date: Fri, 25 May 2018 09:07:07 -0400 Subject: [PATCH] connect references to the resource type References can't be connected directly to the instances, because the resources are expanded when ReferenceTransformer is run. Lookup references by the resource type. --- terraform/transform_reference.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/terraform/transform_reference.go b/terraform/transform_reference.go index 5f327582b..d61511017 100644 --- a/terraform/transform_reference.go +++ b/terraform/transform_reference.go @@ -202,7 +202,16 @@ func (m *ReferenceMap) References(v dag.Vertex) ([]dag.Vertex, []addrs.Reference var missing []addrs.Referenceable for _, ref := range rn.References() { - key := m.referenceMapKey(v, ref.Subject) + subject := ref.Subject + + // References may point to specific instances, but the resources may + // not yet be expanded. Make sure we reference the resource type + // itself. + if ri, ok := subject.(addrs.ResourceInstance); ok { + subject = ri.Resource + } + + key := m.referenceMapKey(v, subject) vertices := m.vertices[key] for _, rv := range vertices { // don't include self-references