From 921fb83d2fd38a4f65b7155fb53489ec2cefb664 Mon Sep 17 00:00:00 2001 From: Adrien Delorme Date: Wed, 2 Mar 2022 11:49:13 +0100 Subject: [PATCH] add Variable.References function --- hcl2template/types.variables.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/hcl2template/types.variables.go b/hcl2template/types.variables.go index 86b32032d..e5bfad8f1 100644 --- a/hcl2template/types.variables.go +++ b/hcl2template/types.variables.go @@ -70,6 +70,19 @@ func (v *Variable) Type() cty.Type { return v.ExpectedType } +func (v *Variable) References() ([]*addrs.Reference, hcl.Diagnostics) { + if len(v.Values) == 0 { + return nil, nil + } + refs := []*addrs.Reference{} + var diags hcl.Diagnostics + for _, v := range v.Values[len(v.Values)-1].Expr.Variables() { + ref, moreDiags := addrs.ParseRef(v) + diags = append(diags, moreDiags...) + refs = append(refs, ref) + } + return refs, diags +} func (v *Variable) GoString() string { b := &strings.Builder{} fmt.Fprintf(b, "{type:%s", v.ExpectedType.GoString())