Add SourceExpr and VersionExpr to module calls

Daniel Banck 2 weeks ago
parent b8c2cabee8
commit dee62db2f0
No known key found for this signature in database

@ -23,10 +23,12 @@ type ModuleCall struct {
SourceAddrRaw string
SourceAddrRange hcl.Range
SourceSet bool
SourceExpr hcl.Expression
Config hcl.Body
Version VersionConstraint
Version VersionConstraint
VersionExpr hcl.Expression
Count hcl.Expression
ForEach hcl.Expression
@ -68,6 +70,8 @@ func decodeModuleBlock(block *hcl.Block, override bool) (*ModuleCall, hcl.Diagno
haveVersionArg := false
if attr, exists := content.Attributes["version"]; exists {
mc.VersionExpr = attr.Expr
var versionDiags hcl.Diagnostics
mc.Version, versionDiags = decodeVersionConstraint(attr)
diags = append(diags, versionDiags...)
@ -75,6 +79,8 @@ func decodeModuleBlock(block *hcl.Block, override bool) (*ModuleCall, hcl.Diagno
}
if attr, exists := content.Attributes["source"]; exists {
mc.SourceExpr = attr.Expr
mc.SourceSet = true
mc.SourceAddrRange = attr.Expr.Range()
valDiags := gohcl.DecodeExpression(attr.Expr, nil, &mc.SourceAddrRaw)

@ -180,6 +180,9 @@ func (mc *ModuleCall) merge(omc *ModuleCall) hcl.Diagnostics {
mc.SourceAddrRange = omc.SourceAddrRange
mc.SourceSet = omc.SourceSet
}
if omc.SourceExpr != nil {
mc.SourceExpr = omc.SourceExpr
}
if omc.Count != nil {
mc.Count = omc.Count
@ -192,6 +195,9 @@ func (mc *ModuleCall) merge(omc *ModuleCall) hcl.Diagnostics {
if len(omc.Version.Required) != 0 {
mc.Version = omc.Version
}
if omc.VersionExpr != nil {
mc.VersionExpr = omc.VersionExpr
}
mc.Config = MergeBodies(mc.Config, omc.Config)

Loading…
Cancel
Save