code: func computeBindingRuleBindName(bindType, bindName string, verifiedFields map[string]string) (string, bool, error) {
  	bindName, err := InterpolateHIL(bindName, verifiedFields)
  	if err != nil {
  		return "", false, err
  	}
  
  	valid := false
  
  	switch bindType {
  	case structs.BindingRuleBindTypeService:
  		valid = isValidServiceIdentityName(bindName)
  
  	case structs.BindingRuleBindTypeRole:
  		valid = validRoleName.MatchString(bindName)
  
  	default:
  		return "", false, fmt.Errorf("unknown binding rule bind type: %s", bindType)
  	}
  
  	return bindName, valid, nil
  }
docs: // computeBindingRuleBindName processes the HIL for the provided bind type+name
  // using the verified fields.
  //
  // - If the HIL is invalid ("", false, AN_ERROR) is returned.
  // - If the computed name is not valid for the type ("INVALID_NAME", false, nil) is returned.
  // - If the computed name is valid for the type ("VALID_NAME", true, nil) is returned.