Skip to content

Commit 68b1ac4

Browse files
committed
fix: Fixed regression with dynamic values in tags
- Fixed the error when using dynamic values in tags without the usage of default_tags that showed issues even though the tag Key was present - Added debug logs
1 parent 5020f0d commit 68b1ac4

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

rules/aws_resource_missing_tags.go

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,9 @@ func (r *AwsResourceMissingTagsRule) getProviderLevelTags(runner tflint.Runner)
8989
providerAlias = "default"
9090
} else {
9191
err := runner.EvaluateExpr(providerAttr.Expr, func(alias string) error {
92+
logger.Debug("Walk `%s` provider", providerAlias)
9293
providerAlias = alias
93-
// Init the provider reference even if it doesn't have tags
94+
// Init the provider reference even if it doesn't have tags
9495
allProviderTags[alias] = nil
9596
return nil
9697
}, nil)
@@ -107,6 +108,7 @@ func (r *AwsResourceMissingTagsRule) getProviderLevelTags(runner tflint.Runner)
107108
}
108109

109110
err := runner.EvaluateExpr(attr.Expr, func(tags map[string]string) error {
111+
logger.Debug("Walk `%s` provider with tags `%v`", providerAlias, tags)
110112
providerTags = tags
111113
return nil
112114
}, nil)
@@ -188,17 +190,14 @@ func (r *AwsResourceMissingTagsRule) Check(runner tflint.Runner) error {
188190
"Walk `%s` attribute",
189191
resource.Labels[0]+"."+resource.Labels[1]+"."+tagsAttributeName,
190192
)
191-
// Since the evlaluateExpr, overrides k/v pairs, we need to re-copy the tags
192-
resourceTagsAux := make(map[string]string)
193193

194-
err := runner.EvaluateExpr(attribute.Expr, func(val map[string]string) error {
195-
resourceTagsAux = val
194+
err := runner.EvaluateExpr(attribute.Expr, func(evaluatedTags map[string]string) error {
195+
// Since the evlaluateExpr, overrides k/v pairs, we need to re-copy the tags
196+
maps.Copy(resourceTags, evaluatedTags)
197+
r.emitIssue(runner, resourceTags, config, attribute.Expr.Range())
196198
return nil
197199
}, nil)
198200

199-
maps.Copy(resourceTags, resourceTagsAux)
200-
r.emitIssue(runner, resourceTags, config, attribute.Expr.Range())
201-
202201
if err != nil {
203202
return err
204203
}

0 commit comments

Comments
 (0)