in rules/terraform_tf.go [36:62]
func (t *TerraformDotTfRule) Check(r tflint.Runner) error {
tFile, err := r.GetFile("terraform.tf")
if err != nil {
if strings.Contains(err.Error(), "file not found") {
return r.EmitIssue(t, "All avm Terraform modules must contain `terraform.tf` file", hcl.Range{})
}
return err
}
if tFile == nil {
return r.EmitIssue(t, "All avm Terraform modules must contain `terraform.tf` file", hcl.Range{})
}
body, ok := tFile.Body.(*hclsyntax.Body)
if !ok {
return nil
}
terraformBlockFound := false
for _, b := range body.Blocks {
if b.Type != "terraform" {
return r.EmitIssue(t, "`terraform.tf` file must contain `terraform` block only", body.Range())
}
terraformBlockFound = true
}
if !terraformBlockFound {
return r.EmitIssue(t, "`terraform.tf` file must contain `terraform` block only", body.Range())
}
return nil
}