Skip to content

Commit

Permalink
Merge pull request #122 from wata727/add_link_and_detetor_name
Browse files Browse the repository at this point in the history
Add document link and detector name on output
  • Loading branch information
wata727 committed Jul 8, 2017
2 parents 1f5b497 + 434d333 commit d285593
Show file tree
Hide file tree
Showing 98 changed files with 1,243 additions and 1,086 deletions.
25 changes: 12 additions & 13 deletions detector/aws_alb_duplicate_name.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,20 @@ import (

type AwsALBDuplicateNameDetector struct {
*Detector
IssueType string
TargetType string
Target string
DeepCheck bool
loadBalancers map[string]bool
}

func (d *Detector) CreateAwsALBDuplicateNameDetector() *AwsALBDuplicateNameDetector {
return &AwsALBDuplicateNameDetector{
nd := &AwsALBDuplicateNameDetector{
Detector: d,
IssueType: issue.ERROR,
TargetType: "resource",
Target: "aws_alb",
DeepCheck: true,
loadBalancers: map[string]bool{},
}
nd.Name = "aws_alb_duplicate_name"
nd.IssueType = issue.ERROR
nd.TargetType = "resource"
nd.Target = "aws_alb"
nd.DeepCheck = true
return nd
}

func (d *AwsALBDuplicateNameDetector) PreProcess() {
Expand Down Expand Up @@ -53,10 +51,11 @@ func (d *AwsALBDuplicateNameDetector) Detect(resource *schema.Resource, issues *

if d.loadBalancers[name] && !d.State.Exists(d.Target, resource.Id) {
issue := &issue.Issue{
Type: d.IssueType,
Message: fmt.Sprintf("\"%s\" is duplicate name. It must be unique.", name),
Line: nameToken.Pos.Line,
File: nameToken.Pos.Filename,
Detector: d.Name,
Type: d.IssueType,
Message: fmt.Sprintf("\"%s\" is duplicate name. It must be unique.", name),
Line: nameToken.Pos.Line,
File: nameToken.Pos.Filename,
}
*issues = append(*issues, issue)
}
Expand Down
9 changes: 5 additions & 4 deletions detector/aws_alb_duplicate_name_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,11 @@ resource "aws_alb" "test" {
},
Issues: []*issue.Issue{
{
Type: "ERROR",
Message: "\"test-alb-tf\" is duplicate name. It must be unique.",
Line: 3,
File: "test.tf",
Detector: "aws_alb_duplicate_name",
Type: "ERROR",
Message: "\"test-alb-tf\" is duplicate name. It must be unique.",
Line: 3,
File: "test.tf",
},
},
},
Expand Down
25 changes: 12 additions & 13 deletions detector/aws_alb_invaid_security_group.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,20 @@ import (

type AwsALBInvalidSecurityGroupDetector struct {
*Detector
IssueType string
TargetType string
Target string
DeepCheck bool
securityGroups map[string]bool
}

func (d *Detector) CreateAwsALBInvalidSecurityGroupDetector() *AwsALBInvalidSecurityGroupDetector {
return &AwsALBInvalidSecurityGroupDetector{
nd := &AwsALBInvalidSecurityGroupDetector{
Detector: d,
IssueType: issue.ERROR,
TargetType: "resource",
Target: "aws_alb",
DeepCheck: true,
securityGroups: map[string]bool{},
}
nd.Name = "aws_alb_invalid_security_group"
nd.IssueType = issue.ERROR
nd.TargetType = "resource"
nd.Target = "aws_alb"
nd.DeepCheck = true
return nd
}

func (d *AwsALBInvalidSecurityGroupDetector) PreProcess() {
Expand Down Expand Up @@ -72,10 +70,11 @@ func (d *AwsALBInvalidSecurityGroupDetector) Detect(resource *schema.Resource, i
}
if !d.securityGroups[securityGroup] {
issue := &issue.Issue{
Type: d.IssueType,
Message: fmt.Sprintf("\"%s\" is invalid security group.", securityGroup),
Line: securityGroupToken.Pos.Line,
File: securityGroupToken.Pos.Filename,
Detector: d.Name,
Type: d.IssueType,
Message: fmt.Sprintf("\"%s\" is invalid security group.", securityGroup),
Line: securityGroupToken.Pos.Line,
File: securityGroupToken.Pos.Filename,
}
*issues = append(*issues, issue)
}
Expand Down
36 changes: 20 additions & 16 deletions detector/aws_alb_invalid_security_group_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,16 +39,18 @@ resource "aws_alb" "balancer" {
},
Issues: []*issue.Issue{
{
Type: "ERROR",
Message: "\"sg-1234abcd\" is invalid security group.",
Line: 4,
File: "test.tf",
Detector: "aws_alb_invalid_security_group",
Type: "ERROR",
Message: "\"sg-1234abcd\" is invalid security group.",
Line: 4,
File: "test.tf",
},
{
Type: "ERROR",
Message: "\"sg-abcd1234\" is invalid security group.",
Line: 5,
File: "test.tf",
Detector: "aws_alb_invalid_security_group",
Type: "ERROR",
Message: "\"sg-abcd1234\" is invalid security group.",
Line: 5,
File: "test.tf",
},
},
},
Expand Down Expand Up @@ -91,16 +93,18 @@ resource "aws_alb" "balancer" {
},
Issues: []*issue.Issue{
{
Type: "ERROR",
Message: "\"sg-1234abcd\" is invalid security group.",
Line: 7,
File: "test.tf",
Detector: "aws_alb_invalid_security_group",
Type: "ERROR",
Message: "\"sg-1234abcd\" is invalid security group.",
Line: 7,
File: "test.tf",
},
{
Type: "ERROR",
Message: "\"sg-abcd1234\" is invalid security group.",
Line: 7,
File: "test.tf",
Detector: "aws_alb_invalid_security_group",
Type: "ERROR",
Message: "\"sg-abcd1234\" is invalid security group.",
Line: 7,
File: "test.tf",
},
},
},
Expand Down
31 changes: 15 additions & 16 deletions detector/aws_alb_invalid_subnet.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,20 @@ import (

type AwsALBInvalidSubnetDetector struct {
*Detector
IssueType string
TargetType string
Target string
DeepCheck bool
subnets map[string]bool
subnets map[string]bool
}

func (d *Detector) CreateAwsALBInvalidSubnetDetector() *AwsALBInvalidSubnetDetector {
return &AwsALBInvalidSubnetDetector{
Detector: d,
IssueType: issue.ERROR,
TargetType: "resource",
Target: "aws_alb",
DeepCheck: true,
subnets: map[string]bool{},
nd := &AwsALBInvalidSubnetDetector{
Detector: d,
subnets: map[string]bool{},
}
nd.Name = "aws_alb_invalid_subnet"
nd.IssueType = issue.ERROR
nd.TargetType = "resource"
nd.Target = "aws_alb"
nd.DeepCheck = true
return nd
}

func (d *AwsALBInvalidSubnetDetector) PreProcess() {
Expand Down Expand Up @@ -72,10 +70,11 @@ func (d *AwsALBInvalidSubnetDetector) Detect(resource *schema.Resource, issues *
}
if !d.subnets[subnet] {
issue := &issue.Issue{
Type: d.IssueType,
Message: fmt.Sprintf("\"%s\" is invalid subnet ID.", subnet),
Line: subnetToken.Pos.Line,
File: subnetToken.Pos.Filename,
Detector: d.Name,
Type: d.IssueType,
Message: fmt.Sprintf("\"%s\" is invalid subnet ID.", subnet),
Line: subnetToken.Pos.Line,
File: subnetToken.Pos.Filename,
}
*issues = append(*issues, issue)
}
Expand Down
18 changes: 10 additions & 8 deletions detector/aws_alb_invalid_subnet_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,16 +39,18 @@ resource "aws_alb" "balancer" {
},
Issues: []*issue.Issue{
{
Type: "ERROR",
Message: "\"subnet-1234abcd\" is invalid subnet ID.",
Line: 4,
File: "test.tf",
Detector: "aws_alb_invalid_subnet",
Type: "ERROR",
Message: "\"subnet-1234abcd\" is invalid subnet ID.",
Line: 4,
File: "test.tf",
},
{
Type: "ERROR",
Message: "\"subnet-abcd1234\" is invalid subnet ID.",
Line: 5,
File: "test.tf",
Detector: "aws_alb_invalid_subnet",
Type: "ERROR",
Message: "\"subnet-abcd1234\" is invalid subnet ID.",
Line: 5,
File: "test.tf",
},
},
},
Expand Down
27 changes: 14 additions & 13 deletions detector/aws_cloudwatch_metric_alarm_invalid_unit.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,21 @@ import (

type AwsCloudWatchMetricAlarmInvalidUnitDetector struct {
*Detector
IssueType string
TargetType string
Target string
DeepCheck bool
validUnits map[string]bool
}

func (d *Detector) CreateAwsCloudWatchMetricAlarmInvalidUnitDetector() *AwsCloudWatchMetricAlarmInvalidUnitDetector {
return &AwsCloudWatchMetricAlarmInvalidUnitDetector{
nd := &AwsCloudWatchMetricAlarmInvalidUnitDetector{
Detector: d,
IssueType: issue.ERROR,
TargetType: "resource",
Target: "aws_cloudwatch_metric_alarm",
DeepCheck: false,
validUnits: map[string]bool{},
}
nd.Name = "aws_cloudwatch_metric_alarm_invalid_unit"
nd.IssueType = issue.ERROR
nd.TargetType = "resource"
nd.Target = "aws_cloudwatch_metric_alarm"
nd.DeepCheck = false
nd.Link = "https://github.com/wata727/tflint/blob/master/docs/aws_cloudwatch_metric_alarm_invalid_unit.md"
return nd
}

func (d *AwsCloudWatchMetricAlarmInvalidUnitDetector) PreProcess() {
Expand Down Expand Up @@ -73,10 +72,12 @@ func (d *AwsCloudWatchMetricAlarmInvalidUnitDetector) Detect(resource *schema.Re

if !d.validUnits[unit] {
issue := &issue.Issue{
Type: d.IssueType,
Message: fmt.Sprintf("\"%s\" is invalid unit.", unit),
Line: unitToken.Pos.Line,
File: unitToken.Pos.Filename,
Detector: d.Name,
Type: d.IssueType,
Message: fmt.Sprintf("\"%s\" is invalid unit.", unit),
Line: unitToken.Pos.Line,
File: unitToken.Pos.Filename,
Link: d.Link,
}
*issues = append(*issues, issue)
}
Expand Down
20 changes: 12 additions & 8 deletions detector/aws_cloudwatch_metric_alarm_invalid_unit_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,12 @@ resource "aws_cloudwatch_metric_alarm" "test" {
}`,
Issues: []*issue.Issue{
{
Type: "ERROR",
Message: "\"GB\" is invalid unit.",
Line: 9,
File: "test.tf",
Detector: "aws_cloudwatch_metric_alarm_invalid_unit",
Type: "ERROR",
Message: "\"GB\" is invalid unit.",
Line: 9,
File: "test.tf",
Link: "https://github.com/wata727/tflint/blob/master/docs/aws_cloudwatch_metric_alarm_invalid_unit.md",
},
},
},
Expand All @@ -50,10 +52,12 @@ resource "aws_cloudwatch_metric_alarm" "test" {
}`,
Issues: []*issue.Issue{
{
Type: "ERROR",
Message: "\"gigabytes\" is invalid unit.",
Line: 9,
File: "test.tf",
Detector: "aws_cloudwatch_metric_alarm_invalid_unit",
Type: "ERROR",
Message: "\"gigabytes\" is invalid unit.",
Line: 9,
File: "test.tf",
Link: "https://github.com/wata727/tflint/blob/master/docs/aws_cloudwatch_metric_alarm_invalid_unit.md",
},
},
},
Expand Down
29 changes: 14 additions & 15 deletions detector/aws_db_instance_default_parameter_group.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,17 @@ import (

type AwsDBInstanceDefaultParameterGroupDetector struct {
*Detector
IssueType string
TargetType string
Target string
DeepCheck bool
}

func (d *Detector) CreateAwsDBInstanceDefaultParameterGroupDetector() *AwsDBInstanceDefaultParameterGroupDetector {
return &AwsDBInstanceDefaultParameterGroupDetector{
Detector: d,
IssueType: issue.NOTICE,
TargetType: "resource",
Target: "aws_db_instance",
DeepCheck: false,
}
nd := &AwsDBInstanceDefaultParameterGroupDetector{Detector: d}
nd.Name = "aws_db_instance_default_parameter_group"
nd.IssueType = issue.NOTICE
nd.TargetType = "resource"
nd.Target = "aws_db_instance"
nd.DeepCheck = false
nd.Link = "https://github.com/wata727/tflint/blob/master/docs/aws_db_instance_default_parameter_group.md"
return nd
}

func (d *AwsDBInstanceDefaultParameterGroupDetector) Detect(resource *schema.Resource, issues *[]*issue.Issue) {
Expand All @@ -39,10 +36,12 @@ func (d *AwsDBInstanceDefaultParameterGroupDetector) Detect(resource *schema.Res

if d.isDefaultDbParameterGroup(parameterGroup) {
issue := &issue.Issue{
Type: d.IssueType,
Message: fmt.Sprintf("\"%s\" is default parameter group. You cannot edit it.", parameterGroup),
Line: parameterGroupToken.Pos.Line,
File: parameterGroupToken.Pos.Filename,
Detector: d.Name,
Type: d.IssueType,
Message: fmt.Sprintf("\"%s\" is default parameter group. You cannot edit it.", parameterGroup),
Line: parameterGroupToken.Pos.Line,
File: parameterGroupToken.Pos.Filename,
Link: d.Link,
}
*issues = append(*issues, issue)
}
Expand Down
10 changes: 6 additions & 4 deletions detector/aws_db_instance_default_parameter_group_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,12 @@ resource "aws_db_instance" "db" {
}`,
Issues: []*issue.Issue{
{
Type: "NOTICE",
Message: "\"default.mysql5.6\" is default parameter group. You cannot edit it.",
Line: 3,
File: "test.tf",
Detector: "aws_db_instance_default_parameter_group",
Type: "NOTICE",
Message: "\"default.mysql5.6\" is default parameter group. You cannot edit it.",
Line: 3,
File: "test.tf",
Link: "https://github.com/wata727/tflint/blob/master/docs/aws_db_instance_default_parameter_group.md",
},
},
},
Expand Down

0 comments on commit d285593

Please sign in to comment.