code: func (t *Terraform) Validate() []error {
  	var errs []error
  
  	if raw := t.RequiredVersion; raw != "" {
  		// Check that the value has no interpolations
  		rc, err := NewRawConfig(map[string]interface{}{
  			"root": raw,
  		})
  		if err != nil {
  			errs = append(errs, fmt.Errorf(
  				"terraform.required_version: %s", err))
  		} else if len(rc.Interpolations) > 0 {
  			errs = append(errs, fmt.Errorf(
  				"terraform.required_version: cannot contain interpolations"))
  		} else {
  			// Check it is valid
  			_, err := version.NewConstraint(raw)
  			if err != nil {
  				errs = append(errs, fmt.Errorf(
  					"terraform.required_version: invalid syntax: %s", err))
  			}
  		}
  	}
  
  	if t.Backend != nil {
  		errs = append(errs, t.Backend.Validate()...)
  	}
  
  	return errs
  }
docs: // Validate performs the validation for just the Terraform configuration.