Skip to content

Commit 34236c4

Browse files
authored
Check EnabledRules instead of Rules (#59)
1 parent 5161369 commit 34236c4

File tree

3 files changed

+20
-13
lines changed

3 files changed

+20
-13
lines changed

aws/ruleset.go

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,28 @@ func (r *RuleSet) RuleNames() []string {
3030
func (r *RuleSet) ApplyConfig(config *tflint.Config) error {
3131
r.ApplyCommonConfig(config)
3232

33+
// Apply "plugin" block config
3334
cfg := Config{}
3435
diags := gohcl.DecodeBody(config.Body, nil, &cfg)
3536
if diags.HasErrors() {
3637
return diags
3738
}
3839
r.config = &cfg
40+
41+
// Apply config for API rules
42+
for _, rule := range r.APIRules {
43+
enabled := rule.Enabled()
44+
if cfg := config.Rules[rule.Name()]; cfg != nil {
45+
enabled = cfg.Enabled
46+
} else if config.DisabledByDefault {
47+
enabled = false
48+
}
49+
50+
if cfg.DeepCheck && enabled {
51+
r.EnabledRules = append(r.EnabledRules, rule)
52+
}
53+
}
54+
3955
return nil
4056
}
4157

@@ -46,16 +62,7 @@ func (r *RuleSet) Check(rr tflint.Runner) error {
4662
return err
4763
}
4864

49-
for _, rule := range r.Rules {
50-
if err := rule.Check(runner); err != nil {
51-
return fmt.Errorf("Failed to check `%s` rule: %s", rule.Name(), err)
52-
}
53-
}
54-
if !r.config.DeepCheck {
55-
return nil
56-
}
57-
58-
for _, rule := range r.APIRules {
65+
for _, rule := range r.EnabledRules {
5966
if err := rule.Check(runner); err != nil {
6067
return fmt.Errorf("Failed to check `%s` rule: %s", rule.Name(), err)
6168
}

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ require (
1313
github.com/onsi/ginkgo v1.14.2 // indirect
1414
github.com/onsi/gomega v1.10.4 // indirect
1515
github.com/serenize/snaker v0.0.0-20201027110005-a7ad2135616e
16-
github.com/terraform-linters/tflint-plugin-sdk v0.8.0
16+
github.com/terraform-linters/tflint-plugin-sdk v0.8.1
1717
github.com/terraform-providers/terraform-provider-aws v1.60.1-0.20210128214539-ac3363c699ef
1818
github.com/zclconf/go-cty v1.7.1
1919
)

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -331,8 +331,8 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P
331331
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
332332
github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
333333
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
334-
github.com/terraform-linters/tflint-plugin-sdk v0.8.0 h1:+9LzYNTg+s+Lf9riNAa+0AaEdgaroD46ZmJwbAXzkFY=
335-
github.com/terraform-linters/tflint-plugin-sdk v0.8.0/go.mod h1:A/6/RIqmPGmLWnI1JZef2Tyzw7/MFTl6t6G0BH9qALA=
334+
github.com/terraform-linters/tflint-plugin-sdk v0.8.1 h1:KklKztWgRzvZLSi77GFU2y/jaA/e+OUWEV3bdouzPWw=
335+
github.com/terraform-linters/tflint-plugin-sdk v0.8.1/go.mod h1:A/6/RIqmPGmLWnI1JZef2Tyzw7/MFTl6t6G0BH9qALA=
336336
github.com/terraform-providers/terraform-provider-aws v1.60.1-0.20210128214539-ac3363c699ef h1:+UFdPdf7zyrxH6XVRs7FJpAc2ajrDx1OKWY7BBrQRds=
337337
github.com/terraform-providers/terraform-provider-aws v1.60.1-0.20210128214539-ac3363c699ef/go.mod h1:2FJRHL/0yjp+iYXWoW2v4U80Zkz+mGHsHOB/Jdbw7AI=
338338
github.com/ulikunitz/xz v0.5.5/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8=

0 commit comments

Comments
 (0)