diff --git a/premium/usage.go b/premium/usage.go index 1e1c2becf4..ef75af6482 100644 --- a/premium/usage.go +++ b/premium/usage.go @@ -2,9 +2,11 @@ package premium import ( "context" + "errors" "fmt" "math/rand" "net/http" + "os" "sync/atomic" "time" @@ -166,15 +168,6 @@ func NewUsageClient(pluginTeam cqapi.PluginTeam, pluginKind cqapi.PluginKind, pl op(u) } - // Set team name from configuration if not provided - if u.teamName == "" { - teamName, err := config.GetValue("team") - if err != nil { - return nil, fmt.Errorf("failed to get team name from config: %w", err) - } - u.teamName = teamName - } - // Create a default api client if none was provided if u.apiClient == nil { tokenClient := auth.NewTokenClient() @@ -192,6 +185,20 @@ func NewUsageClient(pluginTeam cqapi.PluginTeam, pluginKind cqapi.PluginKind, pl u.apiClient = ac } + // Set team name from configuration if not provided + if u.teamName == "" { + teamName, err := config.GetValue("team") + if errors.Is(err, os.ErrNotExist) { + return nil, fmt.Errorf("config file for reading team name not found (%w). Hint: use `cloudquery login` and/or `cloudquery switch `", err) + } else if err != nil { + return nil, fmt.Errorf("failed to get team name from config: %w", err) + } + if teamName == "" { + return nil, fmt.Errorf("team name not set. Hint: use `cloudquery switch `") + } + u.teamName = teamName + } + u.backgroundUpdater() return u, nil