Skip to content

Commit e514e07

Browse files
authored
1 parent 2d69809 commit e514e07

5 files changed

+35
-75
lines changed

rules/aws_db_instance_previous_type.go

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package rules
22

33
import (
44
"fmt"
5+
"strings"
56

67
hcl "github.com/hashicorp/hcl/v2"
78
"github.com/terraform-linters/tflint-plugin-sdk/tflint"
@@ -21,24 +22,12 @@ func NewAwsDBInstancePreviousTypeRule() *AwsDBInstancePreviousTypeRule {
2122
resourceType: "aws_db_instance",
2223
attributeName: "instance_class",
2324
previousInstanceTypes: map[string]bool{
24-
"db.t1.micro": true,
25-
"db.m1.small": true,
26-
"db.m1.medium": true,
27-
"db.m1.large": true,
28-
"db.m1.xlarge": true,
29-
"db.m2.xlarge": true,
30-
"db.m2.2xlarge": true,
31-
"db.m2.4xlarge": true,
32-
"db.m3.medium": true,
33-
"db.m3.large": true,
34-
"db.m3.xlarge": true,
35-
"db.m3.2xlarge": true,
36-
"db.r3.large": true,
37-
"db.r3.xlarge": true,
38-
"db.r3.2xlarge": true,
39-
"db.r3.4xlarge": true,
40-
"db.r3.8xlarge": true,
41-
"db.cr1.8xlarge": true,
25+
"cr1": true,
26+
"m1": true,
27+
"m2": true,
28+
"m3": true,
29+
"r3": true,
30+
"t1": true,
4231
},
4332
}
4433
}
@@ -70,7 +59,7 @@ func (r *AwsDBInstancePreviousTypeRule) Check(runner tflint.Runner) error {
7059
err := runner.EvaluateExpr(attribute.Expr, &instanceType, nil)
7160

7261
return runner.EnsureNoError(err, func() error {
73-
if r.previousInstanceTypes[instanceType] {
62+
if r.previousInstanceTypes[strings.Split(instanceType, ".")[1]] {
7463
runner.EmitIssueOnExpr(
7564
r,
7665
fmt.Sprintf("\"%s\" is previous generation instance type.", instanceType),

rules/aws_elasticache_cluster_previous_type.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package rules
22

33
import (
44
"fmt"
5+
"strings"
56

67
hcl "github.com/hashicorp/hcl/v2"
78
"github.com/terraform-linters/tflint-plugin-sdk/tflint"
@@ -49,7 +50,7 @@ func (r *AwsElastiCacheClusterPreviousTypeRule) Check(runner tflint.Runner) erro
4950
err := runner.EvaluateExpr(attribute.Expr, &nodeType, nil)
5051

5152
return runner.EnsureNoError(err, func() error {
52-
if previousElastiCacheNodeTypes[nodeType] {
53+
if previousElastiCacheNodeTypes[strings.Split(nodeType, ".")[1]] {
5354
runner.EmitIssueOnExpr(
5455
r,
5556
fmt.Sprintf("\"%s\" is previous generation node type.", nodeType),

rules/aws_elasticache_replication_group_previous_type.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package rules
22

33
import (
44
"fmt"
5+
"strings"
56

67
hcl "github.com/hashicorp/hcl/v2"
78
"github.com/terraform-linters/tflint-plugin-sdk/tflint"
@@ -49,7 +50,7 @@ func (r *AwsElastiCacheReplicationGroupPreviousTypeRule) Check(runner tflint.Run
4950
err := runner.EvaluateExpr(attribute.Expr, &nodeType, nil)
5051

5152
return runner.EnsureNoError(err, func() error {
52-
if previousElastiCacheNodeTypes[nodeType] {
53+
if previousElastiCacheNodeTypes[strings.Split(nodeType, ".")[1]] {
5354
runner.EmitIssueOnExpr(
5455
r,
5556
fmt.Sprintf("\"%s\" is previous generation node type.", nodeType),

rules/aws_instance_previous_type.go

Lines changed: 17 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package rules
22

33
import (
44
"fmt"
5+
"strings"
56

67
hcl "github.com/hashicorp/hcl/v2"
78
"github.com/terraform-linters/tflint-plugin-sdk/tflint"
@@ -21,41 +22,21 @@ func NewAwsInstancePreviousTypeRule() *AwsInstancePreviousTypeRule {
2122
resourceType: "aws_instance",
2223
attributeName: "instance_type",
2324
previousInstanceTypes: map[string]bool{
24-
"t1.micro": true,
25-
"m1.small": true,
26-
"m1.medium": true,
27-
"m1.large": true,
28-
"m1.xlarge": true,
29-
"m3.medium": true,
30-
"m3.large": true,
31-
"m3.xlarge": true,
32-
"m3.2xlarge": true,
33-
"c1.medium": true,
34-
"c1.xlarge": true,
35-
"cc2.8xlarge": true,
36-
"cg1.4xlarge": true,
37-
"c3.large": true,
38-
"c3.xlarge": true,
39-
"c3.2xlarge": true,
40-
"c3.4xlarge": true,
41-
"c3.8xlarge": true,
42-
"g2.2xlarge": true,
43-
"g2.8xlarge": true,
44-
"m2.xlarge": true,
45-
"m2.2xlarge": true,
46-
"m2.4xlarge": true,
47-
"cr1.8xlarge": true,
48-
"r3.large": true,
49-
"r3.xlarge": true,
50-
"r3.2xlarge": true,
51-
"r3.4xlarge": true,
52-
"r3.8xlarge": true,
53-
"i2.xlarge": true,
54-
"i2.2xlarge": true,
55-
"i2.4xlarge": true,
56-
"i2.8xlarge": true,
57-
"hi1.4xlarge": true,
58-
"hs1.8xlarge": true,
25+
"c1": true,
26+
"c2": true,
27+
"c3": true,
28+
"cc2": true,
29+
"cg1": true,
30+
"cr1": true,
31+
"g2": true,
32+
"hi1": true,
33+
"hs1": true,
34+
"i2": true,
35+
"m1": true,
36+
"m2": true,
37+
"m3": true,
38+
"r3": true,
39+
"t1": true,
5940
},
6041
}
6142
}
@@ -87,7 +68,7 @@ func (r *AwsInstancePreviousTypeRule) Check(runner tflint.Runner) error {
8768
err := runner.EvaluateExpr(attribute.Expr, &instanceType, nil)
8869

8970
return runner.EnsureNoError(err, func() error {
90-
if r.previousInstanceTypes[instanceType] {
71+
if r.previousInstanceTypes[strings.Split(instanceType, ".")[0]] {
9172
runner.EmitIssueOnExpr(
9273
r,
9374
fmt.Sprintf("\"%s\" is previous generation instance type.", instanceType),

rules/utils.go

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -76,22 +76,10 @@ var validElastiCacheNodeTypes = map[string]bool{
7676

7777
var previousElastiCacheNodeTypes = map[string]bool{
7878
// https://aws.amazon.com/elasticache/previous-generation/?nc1=h_ls
79-
"cache.m1.small": true,
80-
"cache.m1.medium": true,
81-
"cache.m1.large": true,
82-
"cache.m1.xlarge": true,
83-
"cache.m2.xlarge": true,
84-
"cache.m2.2xlarge": true,
85-
"cache.m2.4xlarge": true,
86-
"cache.m3.medium": true,
87-
"cache.m3.large": true,
88-
"cache.m3.xlarge": true,
89-
"cache.m3.2xlarge": true,
90-
"cache.r3.large": true,
91-
"cache.r3.xlarge": true,
92-
"cache.r3.2xlarge": true,
93-
"cache.r3.4xlarge": true,
94-
"cache.r3.8xlarge": true,
95-
"cache.c1.xlarge": true,
96-
"cache.t1.micro": true,
79+
"c1": true,
80+
"m1": true,
81+
"m2": true,
82+
"m3": true,
83+
"r3": true,
84+
"t1": true,
9785
}

0 commit comments

Comments
 (0)