Skip to content

Commit

Permalink
Use function callback instead of EnsureNoError
Browse files Browse the repository at this point in the history
  • Loading branch information
wata727 committed Mar 26, 2023
1 parent 6723f59 commit 68415f1
Show file tree
Hide file tree
Showing 11 changed files with 26 additions and 59 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -49,25 +49,21 @@ func NewRunner(runner tflint.Runner, config *Config) (*Runner, error) {
opts := &tflint.EvaluateExprOption{ModuleCtx: tflint.RootModuleCtxType}

if attr, exists := provider.Body.Attributes["zone"]; exists {
var zone string
err := runner.EvaluateExpr(attr.Expr, &zone, opts)
err = runner.EnsureNoError(err, func() error {
err := runner.EvaluateExpr(attr.Expr, func(zone string) error {
config.Zone = zone
return nil
})
}, opts)
if err != nil {
return nil, err
}
}

for _, annotation := range provider.Body.Blocks {
if attr, exists := annotation.Body.Attributes["value"]; exists {
var val string
err := runner.EvaluateExpr(attr.Expr, &val, opts)
err = runner.EnsureNoError(err, func() error {
err := runner.EvaluateExpr(attr.Expr, func(val string) error {
config.Annotation = val
return nil
})
}, opts)
if err != nil {
return nil, err
}
Expand Down
7 changes: 2 additions & 5 deletions plugin/stub-generator/sources/example/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,16 +65,13 @@ func (r *AwsInstanceExampleTypeRule) Check(runner tflint.Runner) error {
continue
}

var instanceType string
err := runner.EvaluateExpr(attribute.Expr, &instanceType, nil)

err = runner.EnsureNoError(err, func() error {
err := runner.EvaluateExpr(attribute.Expr, func(instanceType string) error {
return runner.EmitIssue(
r,
fmt.Sprintf("instance type is %s", instanceType),
attribute.Expr.Range(),
)
})
}, nil)
if err != nil {
return err
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,16 +64,13 @@ func (r *AwsAutoscalingGroupCtyEvalExampleRule) Check(runner tflint.Runner) erro
"value": cty.String,
"propagate_at_launch": cty.Bool,
}))
var tags []tag
err := runner.EvaluateExpr(attribute.Expr, &tags, &tflint.EvaluateExprOption{WantType: &wantType})

err = runner.EnsureNoError(err, func() error {
err := runner.EvaluateExpr(attribute.Expr, func(tags []tag) error {
return runner.EmitIssue(
r,
fmt.Sprintf("autoscaling tags: %#v", tags),
attribute.Expr.Range(),
)
})
}, &tflint.EvaluateExprOption{WantType: &wantType})
if err != nil {
return err
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,16 +61,13 @@ func (r *AwsDBInstanceWithDefaultConfigExampleRule) Check(runner tflint.Runner)
continue
}

var name string
err := runner.EvaluateExpr(attribute.Expr, &name, nil)

err = runner.EnsureNoError(err, func() error {
err := runner.EvaluateExpr(attribute.Expr, func(name string) error {
return runner.EmitIssue(
r,
fmt.Sprintf("DB name is %s, config=%s", name, config.Name),
attribute.Expr.Range(),
)
})
}, nil)
if err != nil {
return err
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,16 +55,13 @@ func (r *AwsIAMPolicyExampleRule) Check(runner tflint.Runner) error {
continue
}

var name string
err := runner.EvaluateExpr(attribute.Expr, &name, nil)

err = runner.EnsureNoError(err, func() error {
err := runner.EvaluateExpr(attribute.Expr, func(name string) error {
return runner.EmitIssue(
r,
fmt.Sprintf("name is %s", name),
attribute.Expr.Range(),
)
})
}, nil)
if err != nil {
return err
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,16 +67,13 @@ func (r *AwsIAMRoleExampleRule) Check(runner tflint.Runner) error {
continue
}

var name string
err := runner.EvaluateExpr(attribute.Expr, &name, nil)

err = runner.EnsureNoError(err, func() error {
err := runner.EvaluateExpr(attribute.Expr, func(name string) error {
return runner.EmitIssue(
r,
fmt.Sprintf("name is %s", name),
attribute.Expr.Range(),
)
})
}, nil)
if err != nil {
return err
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,16 +52,13 @@ func (r *AwsInstanceExampleTypeRule) Check(runner tflint.Runner) error {
continue
}

var instanceType string
err := runner.EvaluateExpr(attribute.Expr, &instanceType, nil)

err = runner.EnsureNoError(err, func() error {
err := runner.EvaluateExpr(attribute.Expr, func(instanceType string) error {
return runner.EmitIssue(
r,
fmt.Sprintf("instance type is %s", instanceType),
attribute.Expr.Range(),
)
})
}, nil)
if err != nil {
return err
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,16 +54,13 @@ func (r *AwsInstanceMapEvalExampleRule) Check(runner tflint.Runner) error {
}

wantType := cty.Map(cty.String)
tags := map[string]string{}
err := runner.EvaluateExpr(attribute.Expr, &tags, &tflint.EvaluateExprOption{WantType: &wantType})

err = runner.EnsureNoError(err, func() error {
err := runner.EvaluateExpr(attribute.Expr, func(tags map[string]string) error {
return runner.EmitIssue(
r,
fmt.Sprintf("instance tags: %#v", tags),
attribute.Expr.Range(),
)
})
}, &tflint.EvaluateExprOption{WantType: &wantType})
if err != nil {
return err
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,16 +52,13 @@ func (r *AwsRoute53RecordEvalOnRootCtxExampleRule) Check(runner tflint.Runner) e
continue
}

var name string
err := runner.EvaluateExpr(attribute.Expr, &name, &tflint.EvaluateExprOption{ModuleCtx: tflint.RootModuleCtxType})

err = runner.EnsureNoError(err, func() error {
err := runner.EvaluateExpr(attribute.Expr, func(name string) error {
return runner.EmitIssue(
r,
fmt.Sprintf("record name (root): %#v", name),
attribute.Expr.Range(),
)
})
}, &tflint.EvaluateExprOption{ModuleCtx: tflint.RootModuleCtxType})
if err != nil {
return err
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,9 @@ func (r *AwsS3BucketExampleLifecycleRuleRule) Check(runner tflint.Runner) error
}

if attr, exists := lifecycle.Body.Attributes["enabled"]; exists {
var enabled string
err := runner.EnsureNoError(runner.EvaluateExpr(attr.Expr, &enabled, nil), func() error {
err := runner.EvaluateExpr(attr.Expr, func(enabled string) error {
return runner.EmitIssue(r, fmt.Sprintf("`enabled` attribute found: %s", enabled), attr.Expr.Range())
})
}, nil)
if err != nil {
return err
}
Expand All @@ -87,10 +86,9 @@ func (r *AwsS3BucketExampleLifecycleRuleRule) Check(runner tflint.Runner) error
}

if attr, exists := transition.Body.Attributes["days"]; exists {
var days int
err := runner.EnsureNoError(runner.EvaluateExpr(attr.Expr, &days, nil), func() error {
err := runner.EvaluateExpr(attr.Expr, func(days int) error {
return runner.EmitIssue(r, fmt.Sprintf("`days` attribute found: %d", days), attr.Expr.Range())
})
}, nil)
if err != nil {
return err
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,16 +61,13 @@ func (r *AwsS3BucketWithConfigExampleRule) Check(runner tflint.Runner) error {
continue
}

var bucket string
err := runner.EvaluateExpr(attribute.Expr, &bucket, nil)

err = runner.EnsureNoError(err, func() error {
err := runner.EvaluateExpr(attribute.Expr, func(bucket string) error {
return runner.EmitIssue(
r,
fmt.Sprintf("bucket name is %s, config=%s", bucket, config.Name),
attribute.Expr.Range(),
)
})
}, nil)
if err != nil {
return err
}
Expand Down

0 comments on commit 68415f1

Please sign in to comment.