func()

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
}