code: func (config *DirectClientConfig) getAuthInfo() (clientcmdapi.AuthInfo, error) {
  	authInfos := config.config.AuthInfos
  	authInfoName, required := config.getAuthInfoName()
  
  	mergedAuthInfo := clientcmdapi.NewAuthInfo()
  	if configAuthInfo, exists := authInfos[authInfoName]; exists {
  		mergo.MergeWithOverwrite(mergedAuthInfo, configAuthInfo)
  	} else if required {
  		return clientcmdapi.AuthInfo{}, fmt.Errorf("auth info %q does not exist", authInfoName)
  	}
  	mergo.MergeWithOverwrite(mergedAuthInfo, config.overrides.AuthInfo)
  
  	return *mergedAuthInfo, nil
  }
docs: // getAuthInfo returns the clientcmdapi.AuthInfo, or an error if a required auth info is not found.