diff --git a/internal/cmd/argus/grafana/describe/describe.go b/internal/cmd/argus/grafana/describe/describe.go index 1ec3c65bc..d73e1e7c8 100644 --- a/internal/cmd/argus/grafana/describe/describe.go +++ b/internal/cmd/argus/grafana/describe/describe.go @@ -53,7 +53,8 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) + if err != nil { return err } @@ -86,10 +87,10 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Bool(hidePasswordFlag, false, `Show the initial admin password in the "pretty" output format`) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] + globalFlags := globalflags.Parse(p, cmd) - globalFlags := globalflags.Parse(cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } @@ -97,7 +98,7 @@ func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, InstanceId: instanceId, - HidePassword: flags.FlagToBoolValue(cmd, hidePasswordFlag), + HidePassword: flags.FlagToBoolValue(p, cmd, hidePasswordFlag), }, nil } diff --git a/internal/cmd/argus/grafana/describe/describe_test.go b/internal/cmd/argus/grafana/describe/describe_test.go index 5b0eae7ed..9295e1152 100644 --- a/internal/cmd/argus/grafana/describe/describe_test.go +++ b/internal/cmd/argus/grafana/describe/describe_test.go @@ -199,7 +199,8 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) + if err != nil { if !tt.isValid { return diff --git a/internal/cmd/argus/grafana/public-read-access/disable/disable.go b/internal/cmd/argus/grafana/public-read-access/disable/disable.go index e06157372..11b32e583 100644 --- a/internal/cmd/argus/grafana/public-read-access/disable/disable.go +++ b/internal/cmd/argus/grafana/public-read-access/disable/disable.go @@ -42,7 +42,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -83,10 +83,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/argus/grafana/public-read-access/disable/disable_test.go b/internal/cmd/argus/grafana/public-read-access/disable/disable_test.go index 9ef2296f9..7642ff1ab 100644 --- a/internal/cmd/argus/grafana/public-read-access/disable/disable_test.go +++ b/internal/cmd/argus/grafana/public-read-access/disable/disable_test.go @@ -216,7 +216,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/argus/grafana/public-read-access/enable/enable.go b/internal/cmd/argus/grafana/public-read-access/enable/enable.go index df0ccbd3b..edae29e13 100644 --- a/internal/cmd/argus/grafana/public-read-access/enable/enable.go +++ b/internal/cmd/argus/grafana/public-read-access/enable/enable.go @@ -42,7 +42,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -83,10 +83,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/argus/grafana/public-read-access/enable/enable_test.go b/internal/cmd/argus/grafana/public-read-access/enable/enable_test.go index 1e0794bdd..1e4e49e57 100644 --- a/internal/cmd/argus/grafana/public-read-access/enable/enable_test.go +++ b/internal/cmd/argus/grafana/public-read-access/enable/enable_test.go @@ -216,7 +216,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/argus/grafana/single-sign-on/disable/disable.go b/internal/cmd/argus/grafana/single-sign-on/disable/disable.go index 1a69a516c..78d5a2742 100644 --- a/internal/cmd/argus/grafana/single-sign-on/disable/disable.go +++ b/internal/cmd/argus/grafana/single-sign-on/disable/disable.go @@ -42,7 +42,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -83,10 +83,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/argus/grafana/single-sign-on/disable/disable_test.go b/internal/cmd/argus/grafana/single-sign-on/disable/disable_test.go index 32cdd0449..7af273fae 100644 --- a/internal/cmd/argus/grafana/single-sign-on/disable/disable_test.go +++ b/internal/cmd/argus/grafana/single-sign-on/disable/disable_test.go @@ -216,7 +216,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/argus/grafana/single-sign-on/enable/enable.go b/internal/cmd/argus/grafana/single-sign-on/enable/enable.go index 7c6c1179f..f2c3e1e99 100644 --- a/internal/cmd/argus/grafana/single-sign-on/enable/enable.go +++ b/internal/cmd/argus/grafana/single-sign-on/enable/enable.go @@ -42,7 +42,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -83,10 +83,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/argus/grafana/single-sign-on/enable/enable_test.go b/internal/cmd/argus/grafana/single-sign-on/enable/enable_test.go index c95378136..a85918cff 100644 --- a/internal/cmd/argus/grafana/single-sign-on/enable/enable_test.go +++ b/internal/cmd/argus/grafana/single-sign-on/enable/enable_test.go @@ -216,7 +216,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/argus/instance/create/create.go b/internal/cmd/argus/instance/create/create.go index a850a48b2..245097b49 100644 --- a/internal/cmd/argus/instance/create/create.go +++ b/internal/cmd/argus/instance/create/create.go @@ -51,7 +51,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -62,8 +62,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } @@ -122,14 +123,14 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &cliErr.ProjectIdError{} } - planId := flags.FlagToStringPointer(cmd, planIdFlag) - planName := flags.FlagToStringValue(cmd, planNameFlag) + planId := flags.FlagToStringPointer(p, cmd, planIdFlag) + planName := flags.FlagToStringValue(p, cmd, planNameFlag) if planId == nil && (planName == "") { return nil, &cliErr.ArgusInputPlanError{ @@ -144,7 +145,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - InstanceName: flags.FlagToStringPointer(cmd, instanceNameFlag), + InstanceName: flags.FlagToStringPointer(p, cmd, instanceNameFlag), PlanId: planId, PlanName: planName, }, nil diff --git a/internal/cmd/argus/instance/create/create_test.go b/internal/cmd/argus/instance/create/create_test.go index 9dd6cd436..708d12719 100644 --- a/internal/cmd/argus/instance/create/create_test.go +++ b/internal/cmd/argus/instance/create/create_test.go @@ -197,7 +197,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/argus/instance/delete/delete.go b/internal/cmd/argus/instance/delete/delete.go index 4812c7bce..e934f156f 100644 --- a/internal/cmd/argus/instance/delete/delete.go +++ b/internal/cmd/argus/instance/delete/delete.go @@ -41,7 +41,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -54,6 +54,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := argusUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -94,10 +95,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/argus/instance/delete/delete_test.go b/internal/cmd/argus/instance/delete/delete_test.go index 502431d5e..f95802240 100644 --- a/internal/cmd/argus/instance/delete/delete_test.go +++ b/internal/cmd/argus/instance/delete/delete_test.go @@ -168,7 +168,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/argus/instance/describe/describe.go b/internal/cmd/argus/instance/describe/describe.go index 7574e1a77..b8daa10ff 100644 --- a/internal/cmd/argus/instance/describe/describe.go +++ b/internal/cmd/argus/instance/describe/describe.go @@ -43,7 +43,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -66,10 +66,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/argus/instance/describe/describe_test.go b/internal/cmd/argus/instance/describe/describe_test.go index ac060428a..2ea538deb 100644 --- a/internal/cmd/argus/instance/describe/describe_test.go +++ b/internal/cmd/argus/instance/describe/describe_test.go @@ -168,7 +168,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/argus/instance/list/list.go b/internal/cmd/argus/instance/list/list.go index 167ee90e8..4e3fc4eae 100644 --- a/internal/cmd/argus/instance/list/list.go +++ b/internal/cmd/argus/instance/list/list.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -66,8 +66,9 @@ func NewCmd(p *print.Printer) *cobra.Command { } instances := *resp.Instances if len(instances) == 0 { - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } p.Info("No instances found for project %q\n", projectLabel) @@ -91,13 +92,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Int64(limitFlag, 0, "Maximum number of entries to list") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -107,7 +108,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - Limit: flags.FlagToInt64Pointer(cmd, limitFlag), + Limit: flags.FlagToInt64Pointer(p, cmd, limitFlag), }, nil } diff --git a/internal/cmd/argus/instance/list/list_test.go b/internal/cmd/argus/instance/list/list_test.go index f9a0a0e7c..93eb76955 100644 --- a/internal/cmd/argus/instance/list/list_test.go +++ b/internal/cmd/argus/instance/list/list_test.go @@ -138,7 +138,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/argus/instance/update/update.go b/internal/cmd/argus/instance/update/update.go index 2faec24a7..f974cdca8 100644 --- a/internal/cmd/argus/instance/update/update.go +++ b/internal/cmd/argus/instance/update/update.go @@ -57,7 +57,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -70,6 +70,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := argusUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) if err != nil || instanceLabel == "" { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -126,17 +127,17 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().StringP(instanceNameFlag, "n", "", "Instance name") } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &cliErr.ProjectIdError{} } - planId := flags.FlagToStringPointer(cmd, planIdFlag) - planName := flags.FlagToStringValue(cmd, planNameFlag) - instanceName := flags.FlagToStringPointer(cmd, instanceNameFlag) + planId := flags.FlagToStringPointer(p, cmd, planIdFlag) + planName := flags.FlagToStringValue(p, cmd, planNameFlag) + instanceName := flags.FlagToStringPointer(p, cmd, instanceNameFlag) if planId != nil && (planName != "") { return nil, &cliErr.ArgusInputPlanError{ diff --git a/internal/cmd/argus/instance/update/update_test.go b/internal/cmd/argus/instance/update/update_test.go index 330e6943f..a32795512 100644 --- a/internal/cmd/argus/instance/update/update_test.go +++ b/internal/cmd/argus/instance/update/update_test.go @@ -270,7 +270,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/argus/plans/plans.go b/internal/cmd/argus/plans/plans.go index ff6d9a1d2..a90d7d483 100644 --- a/internal/cmd/argus/plans/plans.go +++ b/internal/cmd/argus/plans/plans.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -66,8 +66,9 @@ func NewCmd(p *print.Printer) *cobra.Command { } plans := *resp.Plans if len(plans) == 0 { - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } p.Info("No plans found for project %q\n", projectLabel) @@ -91,13 +92,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Int64(limitFlag, 0, "Maximum number of entries to list") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, diff --git a/internal/cmd/argus/plans/plans_test.go b/internal/cmd/argus/plans/plans_test.go index 2e6364416..1f961a7fe 100644 --- a/internal/cmd/argus/plans/plans_test.go +++ b/internal/cmd/argus/plans/plans_test.go @@ -138,7 +138,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/auth/activate-service-account/activate_service_account.go b/internal/cmd/auth/activate-service-account/activate_service_account.go index 6f2c5b9db..872877daf 100644 --- a/internal/cmd/auth/activate-service-account/activate_service_account.go +++ b/internal/cmd/auth/activate-service-account/activate_service_account.go @@ -54,7 +54,7 @@ func NewCmd(p *print.Printer) *cobra.Command { "$ stackit auth activate-service-account --service-account-token my-service-account-token"), ), RunE: func(cmd *cobra.Command, args []string) error { - model := parseInput(cmd) + model := parseInput(p, cmd) err := storeFlags(model) if err != nil { @@ -104,13 +104,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().String(jwksCustomEndpointFlag, "", "Custom endpoint for the jwks API, which is used to get the json web key sets (jwks) to validate tokens when the service-account authentication is activated") } -func parseInput(cmd *cobra.Command) *inputModel { +func parseInput(p *print.Printer, cmd *cobra.Command) *inputModel { return &inputModel{ - ServiceAccountToken: flags.FlagToStringValue(cmd, serviceAccountTokenFlag), - ServiceAccountKeyPath: flags.FlagToStringValue(cmd, serviceAccountKeyPathFlag), - PrivateKeyPath: flags.FlagToStringValue(cmd, privateKeyPathFlag), - TokenCustomEndpoint: flags.FlagToStringValue(cmd, tokenCustomEndpointFlag), - JwksCustomEndpoint: flags.FlagToStringValue(cmd, jwksCustomEndpointFlag), + ServiceAccountToken: flags.FlagToStringValue(p, cmd, serviceAccountTokenFlag), + ServiceAccountKeyPath: flags.FlagToStringValue(p, cmd, serviceAccountKeyPathFlag), + PrivateKeyPath: flags.FlagToStringValue(p, cmd, privateKeyPathFlag), + TokenCustomEndpoint: flags.FlagToStringValue(p, cmd, tokenCustomEndpointFlag), + JwksCustomEndpoint: flags.FlagToStringValue(p, cmd, jwksCustomEndpointFlag), } } diff --git a/internal/cmd/auth/activate-service-account/activate_service_account_test.go b/internal/cmd/auth/activate-service-account/activate_service_account_test.go index 04f7a9084..cdf1b5294 100644 --- a/internal/cmd/auth/activate-service-account/activate_service_account_test.go +++ b/internal/cmd/auth/activate-service-account/activate_service_account_test.go @@ -106,7 +106,7 @@ func TestParseInput(t *testing.T) { } } - model := parseInput(cmd) + model := parseInput(nil, cmd) if !tt.isValid { t.Fatalf("did not fail on invalid input") diff --git a/internal/cmd/config/config.go b/internal/cmd/config/config.go index ee650f765..e02153fb0 100644 --- a/internal/cmd/config/config.go +++ b/internal/cmd/config/config.go @@ -26,5 +26,5 @@ func NewCmd(p *print.Printer) *cobra.Command { func addSubcommands(cmd *cobra.Command, p *print.Printer) { cmd.AddCommand(list.NewCmd(p)) cmd.AddCommand(set.NewCmd(p)) - cmd.AddCommand(unset.NewCmd()) + cmd.AddCommand(unset.NewCmd(p)) } diff --git a/internal/cmd/config/set/set.go b/internal/cmd/config/set/set.go index 459f3a3b4..d3a29ee6a 100644 --- a/internal/cmd/config/set/set.go +++ b/internal/cmd/config/set/set.go @@ -65,7 +65,7 @@ func NewCmd(p *print.Printer) *cobra.Command { "$ stackit config set --dns-custom-endpoint https://dns.stackit.cloud"), ), RunE: func(cmd *cobra.Command, args []string) error { - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -142,8 +142,8 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - sessionTimeLimit, err := parseSessionTimeLimit(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + sessionTimeLimit, err := parseSessionTimeLimit(p, cmd) if err != nil { return nil, &errors.FlagValidationError{ Flag: sessionTimeLimitFlag, @@ -154,7 +154,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { // values.FlagToStringPointer pulls the projectId from passed flags // globalflags.Parse uses the flags, and fallsback to config file // To check if projectId was passed, we use the first rather than the second - projectIdFromFlag := flags.FlagToStringPointer(cmd, globalflags.ProjectIdFlag) + projectIdFromFlag := flags.FlagToStringPointer(p, cmd, globalflags.ProjectIdFlag) projectIdSet := false if projectIdFromFlag != nil { projectIdSet = true @@ -166,8 +166,8 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { }, nil } -func parseSessionTimeLimit(cmd *cobra.Command) (*string, error) { - sessionTimeLimit := flags.FlagToStringPointer(cmd, sessionTimeLimitFlag) +func parseSessionTimeLimit(p *print.Printer, cmd *cobra.Command) (*string, error) { + sessionTimeLimit := flags.FlagToStringPointer(p, cmd, sessionTimeLimitFlag) if sessionTimeLimit == nil { return nil, nil } diff --git a/internal/cmd/config/set/set_test.go b/internal/cmd/config/set/set_test.go index e3b6c972b..18055f76b 100644 --- a/internal/cmd/config/set/set_test.go +++ b/internal/cmd/config/set/set_test.go @@ -144,7 +144,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/config/unset/unset.go b/internal/cmd/config/unset/unset.go index 7f6bc8449..61a97680a 100644 --- a/internal/cmd/config/unset/unset.go +++ b/internal/cmd/config/unset/unset.go @@ -8,6 +8,7 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/examples" "github.com/stackitcloud/stackit-cli/internal/pkg/flags" "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" + "github.com/stackitcloud/stackit-cli/internal/pkg/print" "github.com/spf13/cobra" "github.com/spf13/viper" @@ -62,7 +63,7 @@ type inputModel struct { SKECustomEndpoint bool } -func NewCmd() *cobra.Command { +func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: "unset", Short: "Unsets CLI configuration options", @@ -80,7 +81,7 @@ func NewCmd() *cobra.Command { "$ stackit config unset --dns-custom-endpoint"), ), RunE: func(cmd *cobra.Command, args []string) error { - model := parseInput(cmd) + model := parseInput(p, cmd) if model.Async { viper.Set(config.AsyncKey, config.AsyncDefault) @@ -179,28 +180,28 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Bool(skeCustomEndpointFlag, false, "SKE API base URL. If unset, uses the default base URL") } -func parseInput(cmd *cobra.Command) *inputModel { +func parseInput(p *print.Printer, cmd *cobra.Command) *inputModel { return &inputModel{ - Async: flags.FlagToBoolValue(cmd, asyncFlag), - OutputFormat: flags.FlagToBoolValue(cmd, outputFormatFlag), - ProjectId: flags.FlagToBoolValue(cmd, projectIdFlag), - SessionTimeLimit: flags.FlagToBoolValue(cmd, sessionTimeLimitFlag), - Verbosity: flags.FlagToBoolValue(cmd, verbosityFlag), - - ArgusCustomEndpoint: flags.FlagToBoolValue(cmd, argusCustomEndpointFlag), - AuthorizationCustomEndpoint: flags.FlagToBoolValue(cmd, authorizationCustomEndpointFlag), - DNSCustomEndpoint: flags.FlagToBoolValue(cmd, dnsCustomEndpointFlag), - LogMeCustomEndpoint: flags.FlagToBoolValue(cmd, logMeCustomEndpointFlag), - MariaDBCustomEndpoint: flags.FlagToBoolValue(cmd, mariaDBCustomEndpointFlag), - MongoDBFlexCustomEndpoint: flags.FlagToBoolValue(cmd, mongoDBFlexCustomEndpointFlag), - ObjectStorageCustomEndpoint: flags.FlagToBoolValue(cmd, objectStorageCustomEndpointFlag), - OpenSearchCustomEndpoint: flags.FlagToBoolValue(cmd, openSearchCustomEndpointFlag), - PostgresFlexCustomEndpoint: flags.FlagToBoolValue(cmd, postgresFlexCustomEndpointFlag), - RabbitMQCustomEndpoint: flags.FlagToBoolValue(cmd, rabbitMQCustomEndpointFlag), - RedisCustomEndpoint: flags.FlagToBoolValue(cmd, redisCustomEndpointFlag), - ResourceManagerCustomEndpoint: flags.FlagToBoolValue(cmd, resourceManagerCustomEndpointFlag), - SecretsManagerCustomEndpoint: flags.FlagToBoolValue(cmd, secretsManagerCustomEndpointFlag), - ServiceAccountCustomEndpoint: flags.FlagToBoolValue(cmd, serviceAccountCustomEndpointFlag), - SKECustomEndpoint: flags.FlagToBoolValue(cmd, skeCustomEndpointFlag), + Async: flags.FlagToBoolValue(p, cmd, asyncFlag), + OutputFormat: flags.FlagToBoolValue(p, cmd, outputFormatFlag), + ProjectId: flags.FlagToBoolValue(p, cmd, projectIdFlag), + SessionTimeLimit: flags.FlagToBoolValue(p, cmd, sessionTimeLimitFlag), + Verbosity: flags.FlagToBoolValue(p, cmd, verbosityFlag), + + ArgusCustomEndpoint: flags.FlagToBoolValue(p, cmd, argusCustomEndpointFlag), + AuthorizationCustomEndpoint: flags.FlagToBoolValue(p, cmd, authorizationCustomEndpointFlag), + DNSCustomEndpoint: flags.FlagToBoolValue(p, cmd, dnsCustomEndpointFlag), + LogMeCustomEndpoint: flags.FlagToBoolValue(p, cmd, logMeCustomEndpointFlag), + MariaDBCustomEndpoint: flags.FlagToBoolValue(p, cmd, mariaDBCustomEndpointFlag), + MongoDBFlexCustomEndpoint: flags.FlagToBoolValue(p, cmd, mongoDBFlexCustomEndpointFlag), + ObjectStorageCustomEndpoint: flags.FlagToBoolValue(p, cmd, objectStorageCustomEndpointFlag), + OpenSearchCustomEndpoint: flags.FlagToBoolValue(p, cmd, openSearchCustomEndpointFlag), + PostgresFlexCustomEndpoint: flags.FlagToBoolValue(p, cmd, postgresFlexCustomEndpointFlag), + RabbitMQCustomEndpoint: flags.FlagToBoolValue(p, cmd, rabbitMQCustomEndpointFlag), + RedisCustomEndpoint: flags.FlagToBoolValue(p, cmd, redisCustomEndpointFlag), + ResourceManagerCustomEndpoint: flags.FlagToBoolValue(p, cmd, resourceManagerCustomEndpointFlag), + SecretsManagerCustomEndpoint: flags.FlagToBoolValue(p, cmd, secretsManagerCustomEndpointFlag), + ServiceAccountCustomEndpoint: flags.FlagToBoolValue(p, cmd, serviceAccountCustomEndpointFlag), + SKECustomEndpoint: flags.FlagToBoolValue(p, cmd, skeCustomEndpointFlag), } } diff --git a/internal/cmd/config/unset/unset_test.go b/internal/cmd/config/unset/unset_test.go index 738bbbdb5..86d12d7ba 100644 --- a/internal/cmd/config/unset/unset_test.go +++ b/internal/cmd/config/unset/unset_test.go @@ -185,7 +185,7 @@ func TestParseInput(t *testing.T) { } for _, tt := range tests { t.Run(tt.description, func(t *testing.T) { - cmd := NewCmd() + cmd := NewCmd(nil) for flag, value := range tt.flagValues { stringBool := fmt.Sprintf("%v", value) @@ -206,7 +206,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model := parseInput(cmd) + model := parseInput(nil, cmd) if !tt.isValid { t.Fatalf("did not fail on invalid input") diff --git a/internal/cmd/curl/curl.go b/internal/cmd/curl/curl.go index 8454cb0ce..694261d4e 100644 --- a/internal/cmd/curl/curl.go +++ b/internal/cmd/curl/curl.go @@ -69,7 +69,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), Args: args.SingleArg(urlArg, validateURL), RunE: func(cmd *cobra.Command, args []string) (err error) { - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -150,9 +150,9 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().String(outputFileFlag, "", "Writes output to provided file instead of printing to console") } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { urlString := inputArgs[0] - requestMethod := flags.FlagToStringValue(cmd, requestMethodFlag) + requestMethod := flags.FlagToStringValue(p, cmd, requestMethodFlag) if requestMethod == "" { requestMethod = http.MethodGet } @@ -160,17 +160,18 @@ func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { return &inputModel{ URL: urlString, RequestMethod: strings.ToUpper(requestMethod), - Headers: flags.FlagToStringSliceValue(cmd, headerFlag), - Data: flags.FlagToStringPointer(cmd, dataFlag), - IncludeResponseHeaders: flags.FlagToBoolValue(cmd, includeResponseHeadersFlag), - FailOnHTTPError: flags.FlagToBoolValue(cmd, failOnHTTPErrorFlag), - OutputFile: flags.FlagToStringPointer(cmd, outputFileFlag), + Headers: flags.FlagToStringSliceValue(p, cmd, headerFlag), + Data: flags.FlagToStringPointer(p, cmd, dataFlag), + IncludeResponseHeaders: flags.FlagToBoolValue(p, cmd, includeResponseHeadersFlag), + FailOnHTTPError: flags.FlagToBoolValue(p, cmd, failOnHTTPErrorFlag), + OutputFile: flags.FlagToStringPointer(p, cmd, outputFileFlag), }, nil } func getBearerToken(p *print.Printer) (string, error) { _, err := auth.AuthenticationConfig(p, auth.AuthorizeUser) if err != nil { + p.Debug(print.ErrorLevel, "configure authentication: %v", err) return "", &errors.AuthError{} } token, err := auth.GetAuthField(auth.ACCESS_TOKEN) diff --git a/internal/cmd/curl/curl_test.go b/internal/cmd/curl/curl_test.go index da57f3d04..122ac6b35 100644 --- a/internal/cmd/curl/curl_test.go +++ b/internal/cmd/curl/curl_test.go @@ -247,7 +247,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/dns/record-set/create/create.go b/internal/cmd/dns/record-set/create/create.go index f144a59ca..7d3fbbd4e 100644 --- a/internal/cmd/dns/record-set/create/create.go +++ b/internal/cmd/dns/record-set/create/create.go @@ -54,7 +54,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -67,6 +67,7 @@ func NewCmd(p *print.Printer) *cobra.Command { zoneLabel, err := dnsUtils.GetZoneName(ctx, apiClient, model.ProjectId, model.ZoneId) if err != nil { + p.Debug(print.ErrorLevel, "get zone name: %v", err) zoneLabel = model.ZoneId } @@ -123,20 +124,20 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - ZoneId: flags.FlagToStringValue(cmd, zoneIdFlag), - Comment: flags.FlagToStringPointer(cmd, commentFlag), - Name: flags.FlagToStringPointer(cmd, nameFlag), - Records: flags.FlagToStringSliceValue(cmd, recordFlag), - TTL: flags.FlagToInt64Pointer(cmd, ttlFlag), - Type: flags.FlagWithDefaultToStringValue(cmd, typeFlag), + ZoneId: flags.FlagToStringValue(p, cmd, zoneIdFlag), + Comment: flags.FlagToStringPointer(p, cmd, commentFlag), + Name: flags.FlagToStringPointer(p, cmd, nameFlag), + Records: flags.FlagToStringSliceValue(p, cmd, recordFlag), + TTL: flags.FlagToInt64Pointer(p, cmd, ttlFlag), + Type: flags.FlagWithDefaultToStringValue(p, cmd, typeFlag), }, nil } diff --git a/internal/cmd/dns/record-set/create/create_test.go b/internal/cmd/dns/record-set/create/create_test.go index c8d095748..3290f19e4 100644 --- a/internal/cmd/dns/record-set/create/create_test.go +++ b/internal/cmd/dns/record-set/create/create_test.go @@ -273,7 +273,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/dns/record-set/delete/delete.go b/internal/cmd/dns/record-set/delete/delete.go index b85a68149..ea11d98be 100644 --- a/internal/cmd/dns/record-set/delete/delete.go +++ b/internal/cmd/dns/record-set/delete/delete.go @@ -45,7 +45,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -58,11 +58,13 @@ func NewCmd(p *print.Printer) *cobra.Command { zoneLabel, err := dnsUtils.GetZoneName(ctx, apiClient, model.ProjectId, model.ZoneId) if err != nil { + p.Debug(print.ErrorLevel, "get zone name: %v", err) zoneLabel = model.ZoneId } recordSetLabel, err := dnsUtils.GetRecordSetName(ctx, apiClient, model.ProjectId, model.ZoneId, model.RecordSetId) if err != nil { + p.Debug(print.ErrorLevel, "get record set name: %v", err) recordSetLabel = model.RecordSetId } @@ -114,17 +116,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { recordSetId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - ZoneId: flags.FlagToStringValue(cmd, zoneIdFlag), + ZoneId: flags.FlagToStringValue(p, cmd, zoneIdFlag), RecordSetId: recordSetId, }, nil } diff --git a/internal/cmd/dns/record-set/delete/delete_test.go b/internal/cmd/dns/record-set/delete/delete_test.go index a60e5b63b..272b23247 100644 --- a/internal/cmd/dns/record-set/delete/delete_test.go +++ b/internal/cmd/dns/record-set/delete/delete_test.go @@ -195,7 +195,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/dns/record-set/describe/describe.go b/internal/cmd/dns/record-set/describe/describe.go index c392d2f06..d2e74f37c 100644 --- a/internal/cmd/dns/record-set/describe/describe.go +++ b/internal/cmd/dns/record-set/describe/describe.go @@ -48,7 +48,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -81,17 +81,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { recordSetId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - ZoneId: flags.FlagToStringValue(cmd, zoneIdFlag), + ZoneId: flags.FlagToStringValue(p, cmd, zoneIdFlag), RecordSetId: recordSetId, }, nil } diff --git a/internal/cmd/dns/record-set/describe/describe_test.go b/internal/cmd/dns/record-set/describe/describe_test.go index c3dd68d55..8ee9c6551 100644 --- a/internal/cmd/dns/record-set/describe/describe_test.go +++ b/internal/cmd/dns/record-set/describe/describe_test.go @@ -195,7 +195,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/dns/record-set/list/list.go b/internal/cmd/dns/record-set/list/list.go index 182d4ca29..8567377b1 100644 --- a/internal/cmd/dns/record-set/list/list.go +++ b/internal/cmd/dns/record-set/list/list.go @@ -72,7 +72,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -91,6 +91,7 @@ func NewCmd(p *print.Printer) *cobra.Command { if len(recordSets) == 0 { zoneLabel, err := dnsUtils.GetZoneName(ctx, apiClient, model.ProjectId, model.ZoneId) if err != nil { + p.Debug(print.ErrorLevel, "get zone name: %v", err) zoneLabel = model.ZoneId } p.Info("No record sets found for zone %s matching the criteria\n", zoneLabel) @@ -120,13 +121,13 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -134,7 +135,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { } } - pageSize := flags.FlagWithDefaultToInt64Value(cmd, pageSizeFlag) + pageSize := flags.FlagWithDefaultToInt64Value(p, cmd, pageSizeFlag) if pageSize < 1 { return nil, &errors.FlagValidationError{ Flag: pageSizeFlag, @@ -142,21 +143,21 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { } } - active := flags.FlagToBoolValue(cmd, activeFlag) - inactive := flags.FlagToBoolValue(cmd, inactiveFlag) + active := flags.FlagToBoolValue(p, cmd, activeFlag) + inactive := flags.FlagToBoolValue(p, cmd, inactiveFlag) if active && inactive { return nil, fmt.Errorf("only one of %s and %s can be set", activeFlag, inactiveFlag) } return &inputModel{ GlobalFlagModel: globalFlags, - ZoneId: flags.FlagToStringValue(cmd, zoneIdFlag), + ZoneId: flags.FlagToStringValue(p, cmd, zoneIdFlag), Active: active, Inactive: inactive, - Deleted: flags.FlagToBoolValue(cmd, deletedFlag), - NameLike: flags.FlagToStringPointer(cmd, nameLikeFlag), - OrderByName: flags.FlagToStringPointer(cmd, orderByNameFlag), - Limit: flags.FlagToInt64Pointer(cmd, limitFlag), + Deleted: flags.FlagToBoolValue(p, cmd, deletedFlag), + NameLike: flags.FlagToStringPointer(p, cmd, nameLikeFlag), + OrderByName: flags.FlagToStringPointer(p, cmd, orderByNameFlag), + Limit: flags.FlagToInt64Pointer(p, cmd, limitFlag), PageSize: pageSize, }, nil } diff --git a/internal/cmd/dns/record-set/list/list_test.go b/internal/cmd/dns/record-set/list/list_test.go index e647eb819..5cf9a9292 100644 --- a/internal/cmd/dns/record-set/list/list_test.go +++ b/internal/cmd/dns/record-set/list/list_test.go @@ -237,7 +237,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/dns/record-set/update/update.go b/internal/cmd/dns/record-set/update/update.go index 702e16712..1163ced8e 100644 --- a/internal/cmd/dns/record-set/update/update.go +++ b/internal/cmd/dns/record-set/update/update.go @@ -53,7 +53,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -66,11 +66,13 @@ func NewCmd(p *print.Printer) *cobra.Command { zoneLabel, err := dnsUtils.GetZoneName(ctx, apiClient, model.ProjectId, model.ZoneId) if err != nil { + p.Debug(print.ErrorLevel, "get zone name: %v", err) zoneLabel = model.ZoneId } recordSetLabel, err := dnsUtils.GetRecordSetName(ctx, apiClient, model.ProjectId, model.ZoneId, model.RecordSetId) if err != nil { + p.Debug(print.ErrorLevel, "get record set name: %v", err) recordSetLabel = model.RecordSetId } @@ -123,19 +125,19 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { recordSetId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - zoneId := flags.FlagToStringValue(cmd, zoneIdFlag) - comment := flags.FlagToStringPointer(cmd, commentFlag) - name := flags.FlagToStringPointer(cmd, nameFlag) - records := flags.FlagToStringSlicePointer(cmd, recordFlag) - ttl := flags.FlagToInt64Pointer(cmd, ttlFlag) + zoneId := flags.FlagToStringValue(p, cmd, zoneIdFlag) + comment := flags.FlagToStringPointer(p, cmd, commentFlag) + name := flags.FlagToStringPointer(p, cmd, nameFlag) + records := flags.FlagToStringSlicePointer(p, cmd, recordFlag) + ttl := flags.FlagToInt64Pointer(p, cmd, ttlFlag) if comment == nil && name == nil && records == nil && ttl == nil { return nil, &errors.EmptyUpdateError{} diff --git a/internal/cmd/dns/record-set/update/update_test.go b/internal/cmd/dns/record-set/update/update_test.go index 087ce4158..1107bf5ba 100644 --- a/internal/cmd/dns/record-set/update/update_test.go +++ b/internal/cmd/dns/record-set/update/update_test.go @@ -285,7 +285,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/dns/zone/create/create.go b/internal/cmd/dns/zone/create/create.go index f07f72ced..abe905bee 100644 --- a/internal/cmd/dns/zone/create/create.go +++ b/internal/cmd/dns/zone/create/create.go @@ -68,7 +68,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -79,8 +79,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } @@ -142,27 +143,27 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - Name: flags.FlagToStringPointer(cmd, nameFlag), - DnsName: flags.FlagToStringPointer(cmd, dnsNameFlag), - DefaultTTL: flags.FlagToInt64Pointer(cmd, defaultTTLFlag), - Primaries: flags.FlagToStringSlicePointer(cmd, primaryFlag), - Acl: flags.FlagToStringPointer(cmd, aclFlag), - Type: flags.FlagToStringPointer(cmd, typeFlag), - RetryTime: flags.FlagToInt64Pointer(cmd, retryTimeFlag), - RefreshTime: flags.FlagToInt64Pointer(cmd, refreshTimeFlag), - NegativeCache: flags.FlagToInt64Pointer(cmd, negativeCacheFlag), - IsReverseZone: flags.FlagToBoolPointer(cmd, isReverseZoneFlag), - ExpireTime: flags.FlagToInt64Pointer(cmd, expireTimeFlag), - Description: flags.FlagToStringPointer(cmd, descriptionFlag), - ContactEmail: flags.FlagToStringPointer(cmd, contactEmailFlag), + Name: flags.FlagToStringPointer(p, cmd, nameFlag), + DnsName: flags.FlagToStringPointer(p, cmd, dnsNameFlag), + DefaultTTL: flags.FlagToInt64Pointer(p, cmd, defaultTTLFlag), + Primaries: flags.FlagToStringSlicePointer(p, cmd, primaryFlag), + Acl: flags.FlagToStringPointer(p, cmd, aclFlag), + Type: flags.FlagToStringPointer(p, cmd, typeFlag), + RetryTime: flags.FlagToInt64Pointer(p, cmd, retryTimeFlag), + RefreshTime: flags.FlagToInt64Pointer(p, cmd, refreshTimeFlag), + NegativeCache: flags.FlagToInt64Pointer(p, cmd, negativeCacheFlag), + IsReverseZone: flags.FlagToBoolPointer(p, cmd, isReverseZoneFlag), + ExpireTime: flags.FlagToInt64Pointer(p, cmd, expireTimeFlag), + Description: flags.FlagToStringPointer(p, cmd, descriptionFlag), + ContactEmail: flags.FlagToStringPointer(p, cmd, contactEmailFlag), }, nil } diff --git a/internal/cmd/dns/zone/create/create_test.go b/internal/cmd/dns/zone/create/create_test.go index 75a43ae75..c2599a1a4 100644 --- a/internal/cmd/dns/zone/create/create_test.go +++ b/internal/cmd/dns/zone/create/create_test.go @@ -249,7 +249,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/dns/zone/delete/delete.go b/internal/cmd/dns/zone/delete/delete.go index e36f4dd56..80f68bda3 100644 --- a/internal/cmd/dns/zone/delete/delete.go +++ b/internal/cmd/dns/zone/delete/delete.go @@ -41,7 +41,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -54,6 +54,7 @@ func NewCmd(p *print.Printer) *cobra.Command { zoneLabel, err := dnsUtils.GetZoneName(ctx, apiClient, model.ProjectId, model.ZoneId) if err != nil { + p.Debug(print.ErrorLevel, "get zone name: %v", err) zoneLabel = model.ZoneId } if !model.AssumeYes { @@ -96,9 +97,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { zoneId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/dns/zone/delete/delete_test.go b/internal/cmd/dns/zone/delete/delete_test.go index a2bd86748..135f91ea1 100644 --- a/internal/cmd/dns/zone/delete/delete_test.go +++ b/internal/cmd/dns/zone/delete/delete_test.go @@ -168,7 +168,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/dns/zone/describe/describe.go b/internal/cmd/dns/zone/describe/describe.go index 3503fac06..9c028490b 100644 --- a/internal/cmd/dns/zone/describe/describe.go +++ b/internal/cmd/dns/zone/describe/describe.go @@ -43,7 +43,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -67,10 +67,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { zoneId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/dns/zone/describe/describe_test.go b/internal/cmd/dns/zone/describe/describe_test.go index 2b402efab..4d4302c8b 100644 --- a/internal/cmd/dns/zone/describe/describe_test.go +++ b/internal/cmd/dns/zone/describe/describe_test.go @@ -168,7 +168,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/dns/zone/list/list.go b/internal/cmd/dns/zone/list/list.go index 08a5edd23..e87e7a760 100644 --- a/internal/cmd/dns/zone/list/list.go +++ b/internal/cmd/dns/zone/list/list.go @@ -67,7 +67,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -84,8 +84,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } if len(zones) == 0 { - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } p.Info("No zones found for project %q matching the criteria\n", projectLabel) @@ -111,13 +112,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Int64(pageSizeFlag, pageSizeDefault, "Number of items fetched in each API call. Does not affect the number of items in the command output") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -125,7 +126,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { } } - pageSize := flags.FlagWithDefaultToInt64Value(cmd, pageSizeFlag) + pageSize := flags.FlagWithDefaultToInt64Value(p, cmd, pageSizeFlag) if pageSize < 1 { return nil, &errors.FlagValidationError{ Flag: pageSizeFlag, @@ -133,8 +134,8 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { } } - active := flags.FlagToBoolValue(cmd, activeFlag) - inactive := flags.FlagToBoolValue(cmd, inactiveFlag) + active := flags.FlagToBoolValue(p, cmd, activeFlag) + inactive := flags.FlagToBoolValue(p, cmd, inactiveFlag) if active && inactive { return nil, fmt.Errorf("only one of %s and %s can be set", activeFlag, inactiveFlag) } @@ -143,9 +144,9 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { GlobalFlagModel: globalFlags, Active: active, Inactive: inactive, - IncludeDeleted: flags.FlagToBoolValue(cmd, includeDeletedFlag), - NameLike: flags.FlagToStringPointer(cmd, nameLikeFlag), - OrderByName: flags.FlagToStringPointer(cmd, orderByNameFlag), + IncludeDeleted: flags.FlagToBoolValue(p, cmd, includeDeletedFlag), + NameLike: flags.FlagToStringPointer(p, cmd, nameLikeFlag), + OrderByName: flags.FlagToStringPointer(p, cmd, orderByNameFlag), Limit: limit, PageSize: pageSize, }, nil diff --git a/internal/cmd/dns/zone/list/list_test.go b/internal/cmd/dns/zone/list/list_test.go index 9a3b6c011..b5e17bf3c 100644 --- a/internal/cmd/dns/zone/list/list_test.go +++ b/internal/cmd/dns/zone/list/list_test.go @@ -232,7 +232,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/dns/zone/update/update.go b/internal/cmd/dns/zone/update/update.go index 5b3e20ec4..940cb3d00 100644 --- a/internal/cmd/dns/zone/update/update.go +++ b/internal/cmd/dns/zone/update/update.go @@ -63,7 +63,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -76,6 +76,7 @@ func NewCmd(p *print.Printer) *cobra.Command { zoneLabel, err := dnsUtils.GetZoneName(ctx, apiClient, model.ProjectId, model.ZoneId) if err != nil { + p.Debug(print.ErrorLevel, "get zone name: %v", err) zoneLabel = model.ZoneId } @@ -133,24 +134,24 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().String(contactEmailFlag, "", "Contact email for the zone") } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { zoneId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - name := flags.FlagToStringPointer(cmd, nameFlag) - defaultTTL := flags.FlagToInt64Pointer(cmd, defaultTTLFlag) - primaries := flags.FlagToStringSlicePointer(cmd, primaryFlag) - acl := flags.FlagToStringPointer(cmd, aclFlag) - retryTime := flags.FlagToInt64Pointer(cmd, retryTimeFlag) - refreshTime := flags.FlagToInt64Pointer(cmd, refreshTimeFlag) - negativeCache := flags.FlagToInt64Pointer(cmd, negativeCacheFlag) - expireTime := flags.FlagToInt64Pointer(cmd, expireTimeFlag) - description := flags.FlagToStringPointer(cmd, descriptionFlag) - contactEmail := flags.FlagToStringPointer(cmd, contactEmailFlag) + name := flags.FlagToStringPointer(p, cmd, nameFlag) + defaultTTL := flags.FlagToInt64Pointer(p, cmd, defaultTTLFlag) + primaries := flags.FlagToStringSlicePointer(p, cmd, primaryFlag) + acl := flags.FlagToStringPointer(p, cmd, aclFlag) + retryTime := flags.FlagToInt64Pointer(p, cmd, retryTimeFlag) + refreshTime := flags.FlagToInt64Pointer(p, cmd, refreshTimeFlag) + negativeCache := flags.FlagToInt64Pointer(p, cmd, negativeCacheFlag) + expireTime := flags.FlagToInt64Pointer(p, cmd, expireTimeFlag) + description := flags.FlagToStringPointer(p, cmd, descriptionFlag) + contactEmail := flags.FlagToStringPointer(p, cmd, contactEmailFlag) if name == nil && defaultTTL == nil && primaries == nil && acl == nil && retryTime == nil && refreshTime == nil && diff --git a/internal/cmd/dns/zone/update/update_test.go b/internal/cmd/dns/zone/update/update_test.go index 1be550af6..7b69c632c 100644 --- a/internal/cmd/dns/zone/update/update_test.go +++ b/internal/cmd/dns/zone/update/update_test.go @@ -286,7 +286,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/logme/credentials/create/create.go b/internal/cmd/logme/credentials/create/create.go index a07ad997e..7120d721f 100644 --- a/internal/cmd/logme/credentials/create/create.go +++ b/internal/cmd/logme/credentials/create/create.go @@ -44,7 +44,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -57,6 +57,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := logmeUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -104,16 +105,16 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), - HidePassword: flags.FlagToBoolValue(cmd, hidePasswordFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), + HidePassword: flags.FlagToBoolValue(p, cmd, hidePasswordFlag), }, nil } diff --git a/internal/cmd/logme/credentials/create/create_test.go b/internal/cmd/logme/credentials/create/create_test.go index 504c90265..2c9f98043 100644 --- a/internal/cmd/logme/credentials/create/create_test.go +++ b/internal/cmd/logme/credentials/create/create_test.go @@ -142,7 +142,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/logme/credentials/delete/delete.go b/internal/cmd/logme/credentials/delete/delete.go index d6d5f0b8c..8bd9c1796 100644 --- a/internal/cmd/logme/credentials/delete/delete.go +++ b/internal/cmd/logme/credentials/delete/delete.go @@ -43,7 +43,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -56,11 +56,13 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := logmeUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } credentialsLabel, err := logmeUtils.GetCredentialsUsername(ctx, apiClient, model.ProjectId, model.InstanceId, model.CredentialsId) if err != nil { + p.Debug(print.ErrorLevel, "get credentials username: %v", err) credentialsLabel = model.CredentialsId } @@ -94,17 +96,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { credentialsId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), CredentialsId: credentialsId, }, nil } diff --git a/internal/cmd/logme/credentials/delete/delete_test.go b/internal/cmd/logme/credentials/delete/delete_test.go index 0ed08ed98..e4f34b0d9 100644 --- a/internal/cmd/logme/credentials/delete/delete_test.go +++ b/internal/cmd/logme/credentials/delete/delete_test.go @@ -195,7 +195,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/logme/credentials/describe/describe.go b/internal/cmd/logme/credentials/describe/describe.go index c9715adf7..9db1d99eb 100644 --- a/internal/cmd/logme/credentials/describe/describe.go +++ b/internal/cmd/logme/credentials/describe/describe.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -79,17 +79,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { credentialsId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), CredentialsId: credentialsId, }, nil } diff --git a/internal/cmd/logme/credentials/describe/describe_test.go b/internal/cmd/logme/credentials/describe/describe_test.go index 4cecdaad2..50bd2d768 100644 --- a/internal/cmd/logme/credentials/describe/describe_test.go +++ b/internal/cmd/logme/credentials/describe/describe_test.go @@ -195,7 +195,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/logme/credentials/list/list.go b/internal/cmd/logme/credentials/list/list.go index d40810424..9ed4d0e33 100644 --- a/internal/cmd/logme/credentials/list/list.go +++ b/internal/cmd/logme/credentials/list/list.go @@ -49,7 +49,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -70,6 +70,7 @@ func NewCmd(p *print.Printer) *cobra.Command { if len(credentials) == 0 { instanceLabel, err := logmeUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } p.Info("No credentials found for instance %q\n", instanceLabel) @@ -95,13 +96,13 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -111,7 +112,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), Limit: limit, }, nil } diff --git a/internal/cmd/logme/credentials/list/list_test.go b/internal/cmd/logme/credentials/list/list_test.go index 5b6737330..2d37db4cb 100644 --- a/internal/cmd/logme/credentials/list/list_test.go +++ b/internal/cmd/logme/credentials/list/list_test.go @@ -159,7 +159,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/logme/instance/create/create.go b/internal/cmd/logme/instance/create/create.go index 95f54ce97..472eb4f0e 100644 --- a/internal/cmd/logme/instance/create/create.go +++ b/internal/cmd/logme/instance/create/create.go @@ -72,7 +72,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -83,8 +83,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } @@ -151,15 +152,15 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &cliErr.ProjectIdError{} } - planId := flags.FlagToStringPointer(cmd, planIdFlag) - planName := flags.FlagToStringValue(cmd, planNameFlag) - version := flags.FlagToStringValue(cmd, versionFlag) + planId := flags.FlagToStringPointer(p, cmd, planIdFlag) + planName := flags.FlagToStringValue(p, cmd, planNameFlag) + version := flags.FlagToStringValue(p, cmd, versionFlag) if planId == nil && (planName == "" || version == "") { return nil, &cliErr.DSAInputPlanError{ @@ -174,14 +175,14 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - InstanceName: flags.FlagToStringPointer(cmd, instanceNameFlag), - EnableMonitoring: flags.FlagToBoolPointer(cmd, enableMonitoringFlag), - MonitoringInstanceId: flags.FlagToStringPointer(cmd, monitoringInstanceIdFlag), - Graphite: flags.FlagToStringPointer(cmd, graphiteFlag), - MetricsFrequency: flags.FlagToInt64Pointer(cmd, metricsFrequencyFlag), - MetricsPrefix: flags.FlagToStringPointer(cmd, metricsPrefixFlag), - SgwAcl: flags.FlagToStringSlicePointer(cmd, sgwAclFlag), - Syslog: flags.FlagToStringSlicePointer(cmd, syslogFlag), + InstanceName: flags.FlagToStringPointer(p, cmd, instanceNameFlag), + EnableMonitoring: flags.FlagToBoolPointer(p, cmd, enableMonitoringFlag), + MonitoringInstanceId: flags.FlagToStringPointer(p, cmd, monitoringInstanceIdFlag), + Graphite: flags.FlagToStringPointer(p, cmd, graphiteFlag), + MetricsFrequency: flags.FlagToInt64Pointer(p, cmd, metricsFrequencyFlag), + MetricsPrefix: flags.FlagToStringPointer(p, cmd, metricsPrefixFlag), + SgwAcl: flags.FlagToStringSlicePointer(p, cmd, sgwAclFlag), + Syslog: flags.FlagToStringSlicePointer(p, cmd, syslogFlag), PlanId: planId, PlanName: planName, Version: version, diff --git a/internal/cmd/logme/instance/create/create_test.go b/internal/cmd/logme/instance/create/create_test.go index edd375e45..992fe1cf1 100644 --- a/internal/cmd/logme/instance/create/create_test.go +++ b/internal/cmd/logme/instance/create/create_test.go @@ -304,7 +304,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/logme/instance/delete/delete.go b/internal/cmd/logme/instance/delete/delete.go index c3b7cd837..9c1c2529d 100644 --- a/internal/cmd/logme/instance/delete/delete.go +++ b/internal/cmd/logme/instance/delete/delete.go @@ -41,7 +41,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -54,6 +54,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := logmeUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -94,10 +95,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/logme/instance/delete/delete_test.go b/internal/cmd/logme/instance/delete/delete_test.go index 82ae2cb94..ae3003792 100644 --- a/internal/cmd/logme/instance/delete/delete_test.go +++ b/internal/cmd/logme/instance/delete/delete_test.go @@ -168,7 +168,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/logme/instance/describe/describe.go b/internal/cmd/logme/instance/describe/describe.go index 28dd148ef..234e57789 100644 --- a/internal/cmd/logme/instance/describe/describe.go +++ b/internal/cmd/logme/instance/describe/describe.go @@ -45,7 +45,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -68,10 +68,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/logme/instance/describe/describe_test.go b/internal/cmd/logme/instance/describe/describe_test.go index 2dd60d3ce..c2b754501 100644 --- a/internal/cmd/logme/instance/describe/describe_test.go +++ b/internal/cmd/logme/instance/describe/describe_test.go @@ -168,7 +168,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/logme/instance/list/list.go b/internal/cmd/logme/instance/list/list.go index 12f85d8e1..b736e2f77 100644 --- a/internal/cmd/logme/instance/list/list.go +++ b/internal/cmd/logme/instance/list/list.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -66,8 +66,9 @@ func NewCmd(p *print.Printer) *cobra.Command { } instances := *resp.Instances if len(instances) == 0 { - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } p.Info("No instances found for project %q\n", projectLabel) @@ -91,13 +92,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Int64(limitFlag, 0, "Maximum number of entries to list") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -107,7 +108,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - Limit: flags.FlagToInt64Pointer(cmd, limitFlag), + Limit: flags.FlagToInt64Pointer(p, cmd, limitFlag), }, nil } diff --git a/internal/cmd/logme/instance/list/list_test.go b/internal/cmd/logme/instance/list/list_test.go index a2be6bda6..87f13143f 100644 --- a/internal/cmd/logme/instance/list/list_test.go +++ b/internal/cmd/logme/instance/list/list_test.go @@ -138,7 +138,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/logme/instance/update/update.go b/internal/cmd/logme/instance/update/update.go index b997f22ae..f87e343f8 100644 --- a/internal/cmd/logme/instance/update/update.go +++ b/internal/cmd/logme/instance/update/update.go @@ -71,7 +71,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -84,6 +84,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := logmeUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -146,24 +147,24 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().String(versionFlag, "", "Instance LogMe version") } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &cliErr.ProjectIdError{} } - enableMonitoring := flags.FlagToBoolPointer(cmd, enableMonitoringFlag) - monitoringInstanceId := flags.FlagToStringPointer(cmd, monitoringInstanceIdFlag) - graphite := flags.FlagToStringPointer(cmd, graphiteFlag) - metricsFrequency := flags.FlagToInt64Pointer(cmd, metricsFrequencyFlag) - metricsPrefix := flags.FlagToStringPointer(cmd, metricsPrefixFlag) - sgwAcl := flags.FlagToStringSlicePointer(cmd, sgwAclFlag) - syslog := flags.FlagToStringSlicePointer(cmd, syslogFlag) - planId := flags.FlagToStringPointer(cmd, planIdFlag) - planName := flags.FlagToStringValue(cmd, planNameFlag) - version := flags.FlagToStringValue(cmd, versionFlag) + enableMonitoring := flags.FlagToBoolPointer(p, cmd, enableMonitoringFlag) + monitoringInstanceId := flags.FlagToStringPointer(p, cmd, monitoringInstanceIdFlag) + graphite := flags.FlagToStringPointer(p, cmd, graphiteFlag) + metricsFrequency := flags.FlagToInt64Pointer(p, cmd, metricsFrequencyFlag) + metricsPrefix := flags.FlagToStringPointer(p, cmd, metricsPrefixFlag) + sgwAcl := flags.FlagToStringSlicePointer(p, cmd, sgwAclFlag) + syslog := flags.FlagToStringSlicePointer(p, cmd, syslogFlag) + planId := flags.FlagToStringPointer(p, cmd, planIdFlag) + planName := flags.FlagToStringValue(p, cmd, planNameFlag) + version := flags.FlagToStringValue(p, cmd, versionFlag) if planId != nil && (planName != "" || version != "") { return nil, &cliErr.DSAInputPlanError{ diff --git a/internal/cmd/logme/instance/update/update_test.go b/internal/cmd/logme/instance/update/update_test.go index 2ecb84564..42071149a 100644 --- a/internal/cmd/logme/instance/update/update_test.go +++ b/internal/cmd/logme/instance/update/update_test.go @@ -317,7 +317,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/logme/plans/plans.go b/internal/cmd/logme/plans/plans.go index 652178444..c1ac1b2d5 100644 --- a/internal/cmd/logme/plans/plans.go +++ b/internal/cmd/logme/plans/plans.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -66,8 +66,9 @@ func NewCmd(p *print.Printer) *cobra.Command { } plans := *resp.Offerings if len(plans) == 0 { - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } p.Info("No plans found for project %q\n", projectLabel) @@ -91,13 +92,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Int64(limitFlag, 0, "Maximum number of entries to list") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, diff --git a/internal/cmd/logme/plans/plans_test.go b/internal/cmd/logme/plans/plans_test.go index 032fac61c..93c8998ca 100644 --- a/internal/cmd/logme/plans/plans_test.go +++ b/internal/cmd/logme/plans/plans_test.go @@ -138,7 +138,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/mariadb/credentials/create/create.go b/internal/cmd/mariadb/credentials/create/create.go index 0df6ea069..122bef421 100644 --- a/internal/cmd/mariadb/credentials/create/create.go +++ b/internal/cmd/mariadb/credentials/create/create.go @@ -44,7 +44,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -57,6 +57,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := mariadbUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -104,16 +105,16 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), - HidePassword: flags.FlagToBoolValue(cmd, hidePasswordFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), + HidePassword: flags.FlagToBoolValue(p, cmd, hidePasswordFlag), }, nil } diff --git a/internal/cmd/mariadb/credentials/create/create_test.go b/internal/cmd/mariadb/credentials/create/create_test.go index 3676ee551..2e19c4481 100644 --- a/internal/cmd/mariadb/credentials/create/create_test.go +++ b/internal/cmd/mariadb/credentials/create/create_test.go @@ -142,7 +142,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/mariadb/credentials/delete/delete.go b/internal/cmd/mariadb/credentials/delete/delete.go index d1df164d0..281cd58dd 100644 --- a/internal/cmd/mariadb/credentials/delete/delete.go +++ b/internal/cmd/mariadb/credentials/delete/delete.go @@ -43,7 +43,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -56,11 +56,13 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := mariadbUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } credentialsLabel, err := mariadbUtils.GetCredentialsUsername(ctx, apiClient, model.ProjectId, model.InstanceId, model.CredentialsId) if err != nil { + p.Debug(print.ErrorLevel, "get credentials username: %v", err) credentialsLabel = model.CredentialsId } @@ -94,17 +96,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { credentialsId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), CredentialsId: credentialsId, }, nil } diff --git a/internal/cmd/mariadb/credentials/delete/delete_test.go b/internal/cmd/mariadb/credentials/delete/delete_test.go index 8834de487..a9cd5d494 100644 --- a/internal/cmd/mariadb/credentials/delete/delete_test.go +++ b/internal/cmd/mariadb/credentials/delete/delete_test.go @@ -195,7 +195,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/mariadb/credentials/describe/describe.go b/internal/cmd/mariadb/credentials/describe/describe.go index 13b3ee2be..12c4634a4 100644 --- a/internal/cmd/mariadb/credentials/describe/describe.go +++ b/internal/cmd/mariadb/credentials/describe/describe.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -79,17 +79,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { credentialsId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), CredentialsId: credentialsId, }, nil } diff --git a/internal/cmd/mariadb/credentials/describe/describe_test.go b/internal/cmd/mariadb/credentials/describe/describe_test.go index 717238033..a77a1cf1b 100644 --- a/internal/cmd/mariadb/credentials/describe/describe_test.go +++ b/internal/cmd/mariadb/credentials/describe/describe_test.go @@ -195,7 +195,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/mariadb/credentials/list/list.go b/internal/cmd/mariadb/credentials/list/list.go index b394e7720..9c211102a 100644 --- a/internal/cmd/mariadb/credentials/list/list.go +++ b/internal/cmd/mariadb/credentials/list/list.go @@ -49,7 +49,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -70,6 +70,7 @@ func NewCmd(p *print.Printer) *cobra.Command { if len(credentials) == 0 { instanceLabel, err := mariadbUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } p.Info("No credentials found for instance %q\n", instanceLabel) @@ -95,13 +96,13 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -111,7 +112,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), Limit: limit, }, nil } diff --git a/internal/cmd/mariadb/credentials/list/list_test.go b/internal/cmd/mariadb/credentials/list/list_test.go index 5531af98b..920c7ad0e 100644 --- a/internal/cmd/mariadb/credentials/list/list_test.go +++ b/internal/cmd/mariadb/credentials/list/list_test.go @@ -159,7 +159,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/mariadb/instance/create/create.go b/internal/cmd/mariadb/instance/create/create.go index 5a4a84455..2b0b4e3ef 100644 --- a/internal/cmd/mariadb/instance/create/create.go +++ b/internal/cmd/mariadb/instance/create/create.go @@ -72,7 +72,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -83,8 +83,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } @@ -151,15 +152,15 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &cliErr.ProjectIdError{} } - planId := flags.FlagToStringPointer(cmd, planIdFlag) - planName := flags.FlagToStringValue(cmd, planNameFlag) - version := flags.FlagToStringValue(cmd, versionFlag) + planId := flags.FlagToStringPointer(p, cmd, planIdFlag) + planName := flags.FlagToStringValue(p, cmd, planNameFlag) + version := flags.FlagToStringValue(p, cmd, versionFlag) if planId == nil && (planName == "" || version == "") { return nil, &cliErr.DSAInputPlanError{ @@ -174,14 +175,14 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - InstanceName: flags.FlagToStringPointer(cmd, instanceNameFlag), - EnableMonitoring: flags.FlagToBoolPointer(cmd, enableMonitoringFlag), - MonitoringInstanceId: flags.FlagToStringPointer(cmd, monitoringInstanceIdFlag), - Graphite: flags.FlagToStringPointer(cmd, graphiteFlag), - MetricsFrequency: flags.FlagToInt64Pointer(cmd, metricsFrequencyFlag), - MetricsPrefix: flags.FlagToStringPointer(cmd, metricsPrefixFlag), - SgwAcl: flags.FlagToStringSlicePointer(cmd, sgwAclFlag), - Syslog: flags.FlagToStringSlicePointer(cmd, syslogFlag), + InstanceName: flags.FlagToStringPointer(p, cmd, instanceNameFlag), + EnableMonitoring: flags.FlagToBoolPointer(p, cmd, enableMonitoringFlag), + MonitoringInstanceId: flags.FlagToStringPointer(p, cmd, monitoringInstanceIdFlag), + Graphite: flags.FlagToStringPointer(p, cmd, graphiteFlag), + MetricsFrequency: flags.FlagToInt64Pointer(p, cmd, metricsFrequencyFlag), + MetricsPrefix: flags.FlagToStringPointer(p, cmd, metricsPrefixFlag), + SgwAcl: flags.FlagToStringSlicePointer(p, cmd, sgwAclFlag), + Syslog: flags.FlagToStringSlicePointer(p, cmd, syslogFlag), PlanId: planId, PlanName: planName, Version: version, diff --git a/internal/cmd/mariadb/instance/create/create_test.go b/internal/cmd/mariadb/instance/create/create_test.go index e6c370f88..7cf5f71c9 100644 --- a/internal/cmd/mariadb/instance/create/create_test.go +++ b/internal/cmd/mariadb/instance/create/create_test.go @@ -304,7 +304,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/mariadb/instance/delete/delete.go b/internal/cmd/mariadb/instance/delete/delete.go index c52138e67..32d479bb5 100644 --- a/internal/cmd/mariadb/instance/delete/delete.go +++ b/internal/cmd/mariadb/instance/delete/delete.go @@ -41,7 +41,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -54,6 +54,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := mariadbUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -94,10 +95,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/mariadb/instance/delete/delete_test.go b/internal/cmd/mariadb/instance/delete/delete_test.go index f1b99b143..d6dcab972 100644 --- a/internal/cmd/mariadb/instance/delete/delete_test.go +++ b/internal/cmd/mariadb/instance/delete/delete_test.go @@ -168,7 +168,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/mariadb/instance/describe/describe.go b/internal/cmd/mariadb/instance/describe/describe.go index 6a93d6a3d..33b691e2a 100644 --- a/internal/cmd/mariadb/instance/describe/describe.go +++ b/internal/cmd/mariadb/instance/describe/describe.go @@ -45,7 +45,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -68,10 +68,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/mariadb/instance/describe/describe_test.go b/internal/cmd/mariadb/instance/describe/describe_test.go index db3aa4ac7..78318a869 100644 --- a/internal/cmd/mariadb/instance/describe/describe_test.go +++ b/internal/cmd/mariadb/instance/describe/describe_test.go @@ -168,7 +168,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/mariadb/instance/list/list.go b/internal/cmd/mariadb/instance/list/list.go index 5bf143ec5..d2dc0db0a 100644 --- a/internal/cmd/mariadb/instance/list/list.go +++ b/internal/cmd/mariadb/instance/list/list.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -66,8 +66,9 @@ func NewCmd(p *print.Printer) *cobra.Command { } instances := *resp.Instances if len(instances) == 0 { - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } p.Info("No instances found for project %q\n", projectLabel) @@ -91,13 +92,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Int64(limitFlag, 0, "Maximum number of entries to list") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -107,7 +108,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - Limit: flags.FlagToInt64Pointer(cmd, limitFlag), + Limit: flags.FlagToInt64Pointer(p, cmd, limitFlag), }, nil } diff --git a/internal/cmd/mariadb/instance/list/list_test.go b/internal/cmd/mariadb/instance/list/list_test.go index 10dd9fd94..eb0dbba72 100644 --- a/internal/cmd/mariadb/instance/list/list_test.go +++ b/internal/cmd/mariadb/instance/list/list_test.go @@ -138,7 +138,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/mariadb/instance/update/update.go b/internal/cmd/mariadb/instance/update/update.go index d2ac7ae8b..f22ae7863 100644 --- a/internal/cmd/mariadb/instance/update/update.go +++ b/internal/cmd/mariadb/instance/update/update.go @@ -70,7 +70,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -83,6 +83,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := mariadbUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -145,24 +146,24 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().String(versionFlag, "", "Instance MariaDB version") } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &cliErr.ProjectIdError{} } - enableMonitoring := flags.FlagToBoolPointer(cmd, enableMonitoringFlag) - monitoringInstanceId := flags.FlagToStringPointer(cmd, monitoringInstanceIdFlag) - graphite := flags.FlagToStringPointer(cmd, graphiteFlag) - metricsFrequency := flags.FlagToInt64Pointer(cmd, metricsFrequencyFlag) - metricsPrefix := flags.FlagToStringPointer(cmd, metricsPrefixFlag) - sgwAcl := flags.FlagToStringSlicePointer(cmd, sgwAclFlag) - syslog := flags.FlagToStringSlicePointer(cmd, syslogFlag) - planId := flags.FlagToStringPointer(cmd, planIdFlag) - planName := flags.FlagToStringValue(cmd, planNameFlag) - version := flags.FlagToStringValue(cmd, versionFlag) + enableMonitoring := flags.FlagToBoolPointer(p, cmd, enableMonitoringFlag) + monitoringInstanceId := flags.FlagToStringPointer(p, cmd, monitoringInstanceIdFlag) + graphite := flags.FlagToStringPointer(p, cmd, graphiteFlag) + metricsFrequency := flags.FlagToInt64Pointer(p, cmd, metricsFrequencyFlag) + metricsPrefix := flags.FlagToStringPointer(p, cmd, metricsPrefixFlag) + sgwAcl := flags.FlagToStringSlicePointer(p, cmd, sgwAclFlag) + syslog := flags.FlagToStringSlicePointer(p, cmd, syslogFlag) + planId := flags.FlagToStringPointer(p, cmd, planIdFlag) + planName := flags.FlagToStringValue(p, cmd, planNameFlag) + version := flags.FlagToStringValue(p, cmd, versionFlag) if planId != nil && (planName != "" || version != "") { return nil, &cliErr.DSAInputPlanError{ diff --git a/internal/cmd/mariadb/instance/update/update_test.go b/internal/cmd/mariadb/instance/update/update_test.go index 28ffe9200..66b7367cc 100644 --- a/internal/cmd/mariadb/instance/update/update_test.go +++ b/internal/cmd/mariadb/instance/update/update_test.go @@ -328,7 +328,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/mariadb/plans/plans.go b/internal/cmd/mariadb/plans/plans.go index a567c0b51..5e3c3ae3e 100644 --- a/internal/cmd/mariadb/plans/plans.go +++ b/internal/cmd/mariadb/plans/plans.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -66,8 +66,9 @@ func NewCmd(p *print.Printer) *cobra.Command { } plans := *resp.Offerings if len(plans) == 0 { - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } p.Info("No plans found for project %q\n", projectLabel) @@ -91,13 +92,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Int64(limitFlag, 0, "Maximum number of entries to list") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, diff --git a/internal/cmd/mariadb/plans/plans_test.go b/internal/cmd/mariadb/plans/plans_test.go index fe38082b0..55922c28c 100644 --- a/internal/cmd/mariadb/plans/plans_test.go +++ b/internal/cmd/mariadb/plans/plans_test.go @@ -138,7 +138,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/mongodbflex/instance/create/create.go b/internal/cmd/mongodbflex/instance/create/create.go index 3f28f243b..91b2178f8 100644 --- a/internal/cmd/mongodbflex/instance/create/create.go +++ b/internal/cmd/mongodbflex/instance/create/create.go @@ -75,7 +75,7 @@ func NewCmd(p *print.Printer) *cobra.Command { RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -86,8 +86,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } @@ -160,17 +161,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &cliErr.ProjectIdError{} } - storageSize := flags.FlagWithDefaultToInt64Value(cmd, storageSizeFlag) + storageSize := flags.FlagWithDefaultToInt64Value(p, cmd, storageSizeFlag) - flavorId := flags.FlagToStringPointer(cmd, flavorIdFlag) - cpu := flags.FlagToInt64Pointer(cmd, cpuFlag) - ram := flags.FlagToInt64Pointer(cmd, ramFlag) + flavorId := flags.FlagToStringPointer(p, cmd, flavorIdFlag) + cpu := flags.FlagToInt64Pointer(p, cmd, cpuFlag) + ram := flags.FlagToInt64Pointer(p, cmd, ramFlag) if flavorId == nil && (cpu == nil || ram == nil) { return nil, &cliErr.DatabaseInputFlavorError{ @@ -185,16 +186,16 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - InstanceName: flags.FlagToStringPointer(cmd, instanceNameFlag), - ACL: flags.FlagToStringSlicePointer(cmd, aclFlag), - BackupSchedule: utils.Ptr(flags.FlagWithDefaultToStringValue(cmd, backupScheduleFlag)), + InstanceName: flags.FlagToStringPointer(p, cmd, instanceNameFlag), + ACL: flags.FlagToStringSlicePointer(p, cmd, aclFlag), + BackupSchedule: utils.Ptr(flags.FlagWithDefaultToStringValue(p, cmd, backupScheduleFlag)), FlavorId: flavorId, CPU: cpu, RAM: ram, - StorageClass: utils.Ptr(flags.FlagWithDefaultToStringValue(cmd, storageClassFlag)), + StorageClass: utils.Ptr(flags.FlagWithDefaultToStringValue(p, cmd, storageClassFlag)), StorageSize: &storageSize, - Version: flags.FlagToStringPointer(cmd, versionFlag), - Type: utils.Ptr(flags.FlagWithDefaultToStringValue(cmd, typeFlag)), + Version: flags.FlagToStringPointer(p, cmd, versionFlag), + Type: utils.Ptr(flags.FlagWithDefaultToStringValue(p, cmd, typeFlag)), }, nil } diff --git a/internal/cmd/mongodbflex/instance/create/create_test.go b/internal/cmd/mongodbflex/instance/create/create_test.go index d3dfacad3..ac3c1191e 100644 --- a/internal/cmd/mongodbflex/instance/create/create_test.go +++ b/internal/cmd/mongodbflex/instance/create/create_test.go @@ -282,7 +282,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/mongodbflex/instance/delete/delete.go b/internal/cmd/mongodbflex/instance/delete/delete.go index 9a832524d..aa06c298d 100644 --- a/internal/cmd/mongodbflex/instance/delete/delete.go +++ b/internal/cmd/mongodbflex/instance/delete/delete.go @@ -41,7 +41,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -54,6 +54,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := mongodbflexUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -94,10 +95,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/mongodbflex/instance/delete/delete_test.go b/internal/cmd/mongodbflex/instance/delete/delete_test.go index 2a2d3f2e2..7eb0205e6 100644 --- a/internal/cmd/mongodbflex/instance/delete/delete_test.go +++ b/internal/cmd/mongodbflex/instance/delete/delete_test.go @@ -168,7 +168,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/mongodbflex/instance/describe/describe.go b/internal/cmd/mongodbflex/instance/describe/describe.go index f45ef1466..09406fdcd 100644 --- a/internal/cmd/mongodbflex/instance/describe/describe.go +++ b/internal/cmd/mongodbflex/instance/describe/describe.go @@ -45,7 +45,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -68,10 +68,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/mongodbflex/instance/describe/describe_test.go b/internal/cmd/mongodbflex/instance/describe/describe_test.go index bbc76890e..a1e1a1441 100644 --- a/internal/cmd/mongodbflex/instance/describe/describe_test.go +++ b/internal/cmd/mongodbflex/instance/describe/describe_test.go @@ -168,7 +168,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/mongodbflex/instance/list/list.go b/internal/cmd/mongodbflex/instance/list/list.go index 8a25f6c0d..b452ea592 100644 --- a/internal/cmd/mongodbflex/instance/list/list.go +++ b/internal/cmd/mongodbflex/instance/list/list.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -65,8 +65,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return fmt.Errorf("get MongoDB Flex instances: %w", err) } if resp.Items == nil || len(*resp.Items) == 0 { - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } p.Info("No instances found for project %q\n", projectLabel) @@ -91,13 +92,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Int64(limitFlag, 0, "Maximum number of entries to list") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, diff --git a/internal/cmd/mongodbflex/instance/list/list_test.go b/internal/cmd/mongodbflex/instance/list/list_test.go index eef3a67b0..d124e9906 100644 --- a/internal/cmd/mongodbflex/instance/list/list_test.go +++ b/internal/cmd/mongodbflex/instance/list/list_test.go @@ -138,7 +138,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/mongodbflex/instance/update/update.go b/internal/cmd/mongodbflex/instance/update/update.go index c7cd7040b..69ae210d5 100644 --- a/internal/cmd/mongodbflex/instance/update/update.go +++ b/internal/cmd/mongodbflex/instance/update/update.go @@ -69,7 +69,7 @@ func NewCmd(p *print.Printer) *cobra.Command { RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -82,6 +82,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := mongodbflexUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -142,24 +143,24 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Var(flags.EnumFlag(false, "", typeFlagOptions...), typeFlag, fmt.Sprintf("Instance type, one of %q", typeFlagOptions)) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &cliErr.ProjectIdError{} } - instanceName := flags.FlagToStringPointer(cmd, instanceNameFlag) - flavorId := flags.FlagToStringPointer(cmd, flavorIdFlag) - cpu := flags.FlagToInt64Pointer(cmd, cpuFlag) - ram := flags.FlagToInt64Pointer(cmd, ramFlag) - acl := flags.FlagToStringSlicePointer(cmd, aclFlag) - backupSchedule := flags.FlagToStringPointer(cmd, backupScheduleFlag) - storageClass := flags.FlagToStringPointer(cmd, storageClassFlag) - storageSize := flags.FlagToInt64Pointer(cmd, storageSizeFlag) - version := flags.FlagToStringPointer(cmd, versionFlag) - instanceType := flags.FlagToStringPointer(cmd, typeFlag) + instanceName := flags.FlagToStringPointer(p, cmd, instanceNameFlag) + flavorId := flags.FlagToStringPointer(p, cmd, flavorIdFlag) + cpu := flags.FlagToInt64Pointer(p, cmd, cpuFlag) + ram := flags.FlagToInt64Pointer(p, cmd, ramFlag) + acl := flags.FlagToStringSlicePointer(p, cmd, aclFlag) + backupSchedule := flags.FlagToStringPointer(p, cmd, backupScheduleFlag) + storageClass := flags.FlagToStringPointer(p, cmd, storageClassFlag) + storageSize := flags.FlagToInt64Pointer(p, cmd, storageSizeFlag) + version := flags.FlagToStringPointer(p, cmd, versionFlag) + instanceType := flags.FlagToStringPointer(p, cmd, typeFlag) if instanceName == nil && flavorId == nil && cpu == nil && ram == nil && acl == nil && backupSchedule == nil && storageClass == nil && storageSize == nil && version == nil && instanceType == nil { diff --git a/internal/cmd/mongodbflex/instance/update/update_test.go b/internal/cmd/mongodbflex/instance/update/update_test.go index 9fc3670a4..6046ebf16 100644 --- a/internal/cmd/mongodbflex/instance/update/update_test.go +++ b/internal/cmd/mongodbflex/instance/update/update_test.go @@ -320,7 +320,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/mongodbflex/options/options.go b/internal/cmd/mongodbflex/options/options.go index 23bb7f1e1..d590cc8e9 100644 --- a/internal/cmd/mongodbflex/options/options.go +++ b/internal/cmd/mongodbflex/options/options.go @@ -64,7 +64,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -95,12 +95,12 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().String(flavorIdFlag, "", `The flavor ID to show storages for. Only relevant when "--storages" is passed`) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) - flavors := flags.FlagToBoolValue(cmd, flavorsFlag) - versions := flags.FlagToBoolValue(cmd, versionsFlag) - storages := flags.FlagToBoolValue(cmd, storagesFlag) - flavorId := flags.FlagToStringPointer(cmd, flavorIdFlag) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) + flavors := flags.FlagToBoolValue(p, cmd, flavorsFlag) + versions := flags.FlagToBoolValue(p, cmd, versionsFlag) + storages := flags.FlagToBoolValue(p, cmd, storagesFlag) + flavorId := flags.FlagToStringPointer(p, cmd, flavorIdFlag) if !flavors && !versions && !storages { return nil, fmt.Errorf("%s\n\n%s", @@ -120,7 +120,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { Flavors: flavors, Versions: versions, Storages: storages, - FlavorId: flags.FlagToStringPointer(cmd, flavorIdFlag), + FlavorId: flags.FlagToStringPointer(p, cmd, flavorIdFlag), }, nil } diff --git a/internal/cmd/mongodbflex/options/options_test.go b/internal/cmd/mongodbflex/options/options_test.go index 812ee8359..465d72845 100644 --- a/internal/cmd/mongodbflex/options/options_test.go +++ b/internal/cmd/mongodbflex/options/options_test.go @@ -190,7 +190,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/mongodbflex/user/create/create.go b/internal/cmd/mongodbflex/user/create/create.go index 5540487cf..27825a5f0 100644 --- a/internal/cmd/mongodbflex/user/create/create.go +++ b/internal/cmd/mongodbflex/user/create/create.go @@ -58,7 +58,7 @@ func NewCmd(p *print.Printer) *cobra.Command { Args: args.NoArgs, RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -71,6 +71,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := mongodbflexUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -119,18 +120,18 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), - Username: flags.FlagToStringPointer(cmd, usernameFlag), - Database: flags.FlagToStringPointer(cmd, databaseFlag), - Roles: flags.FlagWithDefaultToStringSlicePointer(cmd, roleFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), + Username: flags.FlagToStringPointer(p, cmd, usernameFlag), + Database: flags.FlagToStringPointer(p, cmd, databaseFlag), + Roles: flags.FlagWithDefaultToStringSlicePointer(p, cmd, roleFlag), }, nil } diff --git a/internal/cmd/mongodbflex/user/create/create_test.go b/internal/cmd/mongodbflex/user/create/create_test.go index 2165b3b77..dc39200d1 100644 --- a/internal/cmd/mongodbflex/user/create/create_test.go +++ b/internal/cmd/mongodbflex/user/create/create_test.go @@ -186,7 +186,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/mongodbflex/user/delete/delete.go b/internal/cmd/mongodbflex/user/delete/delete.go index 84d31d7cb..75a04ad57 100644 --- a/internal/cmd/mongodbflex/user/delete/delete.go +++ b/internal/cmd/mongodbflex/user/delete/delete.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { Args: args.SingleArg(userIdArg, utils.ValidateUUID), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -60,11 +60,13 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := mongodbflexUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } userLabel, err := mongodbflexUtils.GetUserName(ctx, apiClient, model.ProjectId, model.InstanceId, model.UserId) if err != nil { + p.Debug(print.ErrorLevel, "get user name: %v", err) userLabel = model.UserId } @@ -98,17 +100,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { userId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), UserId: userId, }, nil } diff --git a/internal/cmd/mongodbflex/user/delete/delete_test.go b/internal/cmd/mongodbflex/user/delete/delete_test.go index 7fd731c07..39661d8cc 100644 --- a/internal/cmd/mongodbflex/user/delete/delete_test.go +++ b/internal/cmd/mongodbflex/user/delete/delete_test.go @@ -195,7 +195,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/mongodbflex/user/describe/describe.go b/internal/cmd/mongodbflex/user/describe/describe.go index 24b3eefc7..12f694d02 100644 --- a/internal/cmd/mongodbflex/user/describe/describe.go +++ b/internal/cmd/mongodbflex/user/describe/describe.go @@ -52,7 +52,7 @@ func NewCmd(p *print.Printer) *cobra.Command { Args: args.SingleArg(userIdArg, utils.ValidateUUID), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -85,17 +85,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { userId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), UserId: userId, }, nil } diff --git a/internal/cmd/mongodbflex/user/describe/describe_test.go b/internal/cmd/mongodbflex/user/describe/describe_test.go index 47a913f80..5af263323 100644 --- a/internal/cmd/mongodbflex/user/describe/describe_test.go +++ b/internal/cmd/mongodbflex/user/describe/describe_test.go @@ -195,7 +195,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/mongodbflex/user/list/list.go b/internal/cmd/mongodbflex/user/list/list.go index 43288df6c..6f4082375 100644 --- a/internal/cmd/mongodbflex/user/list/list.go +++ b/internal/cmd/mongodbflex/user/list/list.go @@ -50,7 +50,7 @@ func NewCmd(p *print.Printer) *cobra.Command { Args: args.NoArgs, RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -70,6 +70,7 @@ func NewCmd(p *print.Printer) *cobra.Command { if resp.Items == nil || len(*resp.Items) == 0 { instanceLabel, err := mongodbflexUtils.GetInstanceName(ctx, apiClient, model.ProjectId, *model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = *model.InstanceId } p.Info("No users found for instance %q\n", instanceLabel) @@ -98,13 +99,13 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -114,8 +115,8 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringPointer(cmd, instanceIdFlag), - Limit: flags.FlagToInt64Pointer(cmd, limitFlag), + InstanceId: flags.FlagToStringPointer(p, cmd, instanceIdFlag), + Limit: flags.FlagToInt64Pointer(p, cmd, limitFlag), }, nil } diff --git a/internal/cmd/mongodbflex/user/list/list_test.go b/internal/cmd/mongodbflex/user/list/list_test.go index c4ac29db8..d574dd6cd 100644 --- a/internal/cmd/mongodbflex/user/list/list_test.go +++ b/internal/cmd/mongodbflex/user/list/list_test.go @@ -155,7 +155,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/mongodbflex/user/reset-password/reset_password.go b/internal/cmd/mongodbflex/user/reset-password/reset_password.go index f1faa7240..c9e60ec13 100644 --- a/internal/cmd/mongodbflex/user/reset-password/reset_password.go +++ b/internal/cmd/mongodbflex/user/reset-password/reset_password.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { Args: args.SingleArg(userIdArg, utils.ValidateUUID), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -60,11 +60,13 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := mongodbflexUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } userLabel, err := mongodbflexUtils.GetUserName(ctx, apiClient, model.ProjectId, model.InstanceId, model.UserId) if err != nil { + p.Debug(print.ErrorLevel, "get user name: %v", err) userLabel = model.UserId } @@ -102,17 +104,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { userId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), UserId: userId, }, nil } diff --git a/internal/cmd/mongodbflex/user/reset-password/reset_password_test.go b/internal/cmd/mongodbflex/user/reset-password/reset_password_test.go index 20c1fbff9..8b8fe5396 100644 --- a/internal/cmd/mongodbflex/user/reset-password/reset_password_test.go +++ b/internal/cmd/mongodbflex/user/reset-password/reset_password_test.go @@ -195,7 +195,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/mongodbflex/user/update/update.go b/internal/cmd/mongodbflex/user/update/update.go index a42abd00f..4fb202a74 100644 --- a/internal/cmd/mongodbflex/user/update/update.go +++ b/internal/cmd/mongodbflex/user/update/update.go @@ -48,7 +48,7 @@ func NewCmd(p *print.Printer) *cobra.Command { Args: args.SingleArg(userIdArg, utils.ValidateUUID), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -61,11 +61,13 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := mongodbflexUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } userLabel, err := mongodbflexUtils.GetUserName(ctx, apiClient, model.ProjectId, model.InstanceId, model.UserId) if err != nil { + p.Debug(print.ErrorLevel, "get user name: %v", err) userLabel = model.UserId } @@ -104,16 +106,16 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { userId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - database := flags.FlagToStringPointer(cmd, databaseFlag) - roles := flags.FlagToStringSlicePointer(cmd, roleFlag) + database := flags.FlagToStringPointer(p, cmd, databaseFlag) + roles := flags.FlagToStringSlicePointer(p, cmd, roleFlag) if database == nil && roles == nil { return nil, &errors.EmptyUpdateError{} @@ -121,7 +123,7 @@ func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), UserId: userId, Database: database, Roles: roles, diff --git a/internal/cmd/mongodbflex/user/update/update_test.go b/internal/cmd/mongodbflex/user/update/update_test.go index 6d4029141..74cb6b0c3 100644 --- a/internal/cmd/mongodbflex/user/update/update_test.go +++ b/internal/cmd/mongodbflex/user/update/update_test.go @@ -227,7 +227,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/object-storage/bucket/create/create.go b/internal/cmd/object-storage/bucket/create/create.go index 32aeb74dd..9409f257f 100644 --- a/internal/cmd/object-storage/bucket/create/create.go +++ b/internal/cmd/object-storage/bucket/create/create.go @@ -39,7 +39,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -87,10 +87,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { bucketName := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/object-storage/bucket/create/create_test.go b/internal/cmd/object-storage/bucket/create/create_test.go index 524091713..7cc4c915e 100644 --- a/internal/cmd/object-storage/bucket/create/create_test.go +++ b/internal/cmd/object-storage/bucket/create/create_test.go @@ -162,7 +162,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/object-storage/bucket/delete/delete.go b/internal/cmd/object-storage/bucket/delete/delete.go index 2b98854b0..53455aa93 100644 --- a/internal/cmd/object-storage/bucket/delete/delete.go +++ b/internal/cmd/object-storage/bucket/delete/delete.go @@ -39,7 +39,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -87,10 +87,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { bucketName := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/object-storage/bucket/delete/delete_test.go b/internal/cmd/object-storage/bucket/delete/delete_test.go index 3b2037735..f375e2931 100644 --- a/internal/cmd/object-storage/bucket/delete/delete_test.go +++ b/internal/cmd/object-storage/bucket/delete/delete_test.go @@ -162,7 +162,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/object-storage/bucket/describe/describe.go b/internal/cmd/object-storage/bucket/describe/describe.go index 9d95041b5..0fd768835 100644 --- a/internal/cmd/object-storage/bucket/describe/describe.go +++ b/internal/cmd/object-storage/bucket/describe/describe.go @@ -42,7 +42,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -65,10 +65,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { bucketName := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/object-storage/bucket/describe/describe_test.go b/internal/cmd/object-storage/bucket/describe/describe_test.go index e23245368..a852d16df 100644 --- a/internal/cmd/object-storage/bucket/describe/describe_test.go +++ b/internal/cmd/object-storage/bucket/describe/describe_test.go @@ -162,7 +162,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/object-storage/bucket/list/list.go b/internal/cmd/object-storage/bucket/list/list.go index e2f79f87a..678652fd3 100644 --- a/internal/cmd/object-storage/bucket/list/list.go +++ b/internal/cmd/object-storage/bucket/list/list.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -65,8 +65,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return fmt.Errorf("get Object Storage buckets: %w", err) } if resp.Buckets == nil || len(*resp.Buckets) == 0 { - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } p.Info("No buckets found for project %s\n", projectLabel) @@ -91,13 +92,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Int64(limitFlag, 0, "Maximum number of entries to list") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -107,7 +108,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - Limit: flags.FlagToInt64Pointer(cmd, limitFlag), + Limit: flags.FlagToInt64Pointer(p, cmd, limitFlag), }, nil } diff --git a/internal/cmd/object-storage/bucket/list/list_test.go b/internal/cmd/object-storage/bucket/list/list_test.go index 7d83b76e0..d73f2e722 100644 --- a/internal/cmd/object-storage/bucket/list/list_test.go +++ b/internal/cmd/object-storage/bucket/list/list_test.go @@ -138,7 +138,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/object-storage/credentials-group/create/create.go b/internal/cmd/object-storage/credentials-group/create/create.go index 2dd24a759..1400289b5 100644 --- a/internal/cmd/object-storage/credentials-group/create/create.go +++ b/internal/cmd/object-storage/credentials-group/create/create.go @@ -39,7 +39,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -81,15 +81,15 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - CredentialsGroupName: flags.FlagToStringValue(cmd, credentialsGroupNameFlag), + CredentialsGroupName: flags.FlagToStringValue(p, cmd, credentialsGroupNameFlag), }, nil } diff --git a/internal/cmd/object-storage/credentials-group/create/create_test.go b/internal/cmd/object-storage/credentials-group/create/create_test.go index 5b5fbc95a..2e014fe93 100644 --- a/internal/cmd/object-storage/credentials-group/create/create_test.go +++ b/internal/cmd/object-storage/credentials-group/create/create_test.go @@ -140,7 +140,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/object-storage/credentials-group/delete/delete.go b/internal/cmd/object-storage/credentials-group/delete/delete.go index d0ecf5fd5..fe71186c9 100644 --- a/internal/cmd/object-storage/credentials-group/delete/delete.go +++ b/internal/cmd/object-storage/credentials-group/delete/delete.go @@ -39,7 +39,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -52,6 +52,7 @@ func NewCmd(p *print.Printer) *cobra.Command { credentialsGroupLabel, err := objectStorageUtils.GetCredentialsGroupName(ctx, apiClient, model.ProjectId, model.CredentialsGroupId) if err != nil { + p.Debug(print.ErrorLevel, "get credentials group name: %v", err) credentialsGroupLabel = model.CredentialsGroupId } @@ -77,10 +78,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { credentialsGroupId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/object-storage/credentials-group/delete/delete_test.go b/internal/cmd/object-storage/credentials-group/delete/delete_test.go index d29e79f99..37c41a2b6 100644 --- a/internal/cmd/object-storage/credentials-group/delete/delete_test.go +++ b/internal/cmd/object-storage/credentials-group/delete/delete_test.go @@ -168,7 +168,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/object-storage/credentials-group/list/list.go b/internal/cmd/object-storage/credentials-group/list/list.go index 789a407b9..27e7a72fc 100644 --- a/internal/cmd/object-storage/credentials-group/list/list.go +++ b/internal/cmd/object-storage/credentials-group/list/list.go @@ -46,7 +46,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -84,13 +84,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Int64(limitFlag, 0, "Maximum number of entries to list") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, diff --git a/internal/cmd/object-storage/credentials-group/list/list_test.go b/internal/cmd/object-storage/credentials-group/list/list_test.go index a8058e24e..ea222b0eb 100644 --- a/internal/cmd/object-storage/credentials-group/list/list_test.go +++ b/internal/cmd/object-storage/credentials-group/list/list_test.go @@ -135,7 +135,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/object-storage/credentials/create/create.go b/internal/cmd/object-storage/credentials/create/create.go index db2118384..d9b26ab47 100644 --- a/internal/cmd/object-storage/credentials/create/create.go +++ b/internal/cmd/object-storage/credentials/create/create.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -60,6 +60,7 @@ func NewCmd(p *print.Printer) *cobra.Command { credentialsGroupLabel, err := objectStorageUtils.GetCredentialsGroupName(ctx, apiClient, model.ProjectId, model.CredentialsGroupId) if err != nil { + p.Debug(print.ErrorLevel, "get credentials group name: %v", err) credentialsGroupLabel = model.CredentialsGroupId } @@ -103,13 +104,13 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - expireDate, err := flags.FlagToDateTimePointer(cmd, expireDateFlag, expirationTimeFormat) + expireDate, err := flags.FlagToDateTimePointer(p, cmd, expireDateFlag, expirationTimeFormat) if err != nil { return nil, &errors.FlagValidationError{ Flag: expireDateFlag, @@ -120,7 +121,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, ExpireDate: expireDate, - CredentialsGroupId: flags.FlagToStringValue(cmd, credentialsGroupIdFlag), + CredentialsGroupId: flags.FlagToStringValue(p, cmd, credentialsGroupIdFlag), }, nil } diff --git a/internal/cmd/object-storage/credentials/create/create_test.go b/internal/cmd/object-storage/credentials/create/create_test.go index b13fa63e5..3f100fd55 100644 --- a/internal/cmd/object-storage/credentials/create/create_test.go +++ b/internal/cmd/object-storage/credentials/create/create_test.go @@ -199,7 +199,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/object-storage/credentials/delete/delete.go b/internal/cmd/object-storage/credentials/delete/delete.go index 5836e5373..9fd64a915 100644 --- a/internal/cmd/object-storage/credentials/delete/delete.go +++ b/internal/cmd/object-storage/credentials/delete/delete.go @@ -40,7 +40,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -53,11 +53,13 @@ func NewCmd(p *print.Printer) *cobra.Command { credentialsGroupLabel, err := objectStorageUtils.GetCredentialsGroupName(ctx, apiClient, model.ProjectId, model.CredentialsGroupId) if err != nil { + p.Debug(print.ErrorLevel, "get credentials group name: %v", err) credentialsGroupLabel = model.CredentialsGroupId } credentialsLabel, err := objectStorageUtils.GetCredentialsName(ctx, apiClient, model.ProjectId, model.CredentialsGroupId, model.CredentialsId) if err != nil { + p.Debug(print.ErrorLevel, "get credentials name: %v", err) credentialsLabel = model.CredentialsId } @@ -91,17 +93,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { credentialsId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - CredentialsGroupId: flags.FlagToStringValue(cmd, credentialsGroupIdFlag), + CredentialsGroupId: flags.FlagToStringValue(p, cmd, credentialsGroupIdFlag), CredentialsId: credentialsId, }, nil } diff --git a/internal/cmd/object-storage/credentials/delete/delete_test.go b/internal/cmd/object-storage/credentials/delete/delete_test.go index bc023ebf2..4b108f4d7 100644 --- a/internal/cmd/object-storage/credentials/delete/delete_test.go +++ b/internal/cmd/object-storage/credentials/delete/delete_test.go @@ -187,7 +187,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/object-storage/credentials/list/list.go b/internal/cmd/object-storage/credentials/list/list.go index b38ee23cb..212a24df9 100644 --- a/internal/cmd/object-storage/credentials/list/list.go +++ b/internal/cmd/object-storage/credentials/list/list.go @@ -50,7 +50,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -71,6 +71,7 @@ func NewCmd(p *print.Printer) *cobra.Command { if len(credentials) == 0 { credentialsGroupLabel, err := objectStorageUtils.GetCredentialsGroupName(ctx, apiClient, model.ProjectId, model.CredentialsGroupId) if err != nil { + p.Debug(print.ErrorLevel, "get credentials group name: %v", err) credentialsGroupLabel = model.CredentialsGroupId } @@ -97,13 +98,13 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -113,7 +114,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - CredentialsGroupId: flags.FlagToStringValue(cmd, credentialsGroupIdFlag), + CredentialsGroupId: flags.FlagToStringValue(p, cmd, credentialsGroupIdFlag), Limit: limit, }, nil } diff --git a/internal/cmd/object-storage/credentials/list/list_test.go b/internal/cmd/object-storage/credentials/list/list_test.go index 32feb5457..7b103cd85 100644 --- a/internal/cmd/object-storage/credentials/list/list_test.go +++ b/internal/cmd/object-storage/credentials/list/list_test.go @@ -160,7 +160,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/object-storage/disable/disable.go b/internal/cmd/object-storage/disable/disable.go index 8c5f91adf..a37f63811 100644 --- a/internal/cmd/object-storage/disable/disable.go +++ b/internal/cmd/object-storage/disable/disable.go @@ -33,7 +33,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -44,8 +44,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } @@ -75,8 +76,8 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command) (*InputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*InputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/object-storage/disable/disable_test.go b/internal/cmd/object-storage/disable/disable_test.go index 8a52bbf27..26f1ea5fc 100644 --- a/internal/cmd/object-storage/disable/disable_test.go +++ b/internal/cmd/object-storage/disable/disable_test.go @@ -119,7 +119,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/object-storage/enable/enable.go b/internal/cmd/object-storage/enable/enable.go index 1f77a6b06..27e104fd7 100644 --- a/internal/cmd/object-storage/enable/enable.go +++ b/internal/cmd/object-storage/enable/enable.go @@ -33,7 +33,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -44,8 +44,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } @@ -75,8 +76,8 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command) (*InputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*InputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/object-storage/enable/enable_test.go b/internal/cmd/object-storage/enable/enable_test.go index 1c12bd918..df59c3868 100644 --- a/internal/cmd/object-storage/enable/enable_test.go +++ b/internal/cmd/object-storage/enable/enable_test.go @@ -119,7 +119,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/opensearch/credentials/create/create.go b/internal/cmd/opensearch/credentials/create/create.go index 824ba135f..1a6affef6 100644 --- a/internal/cmd/opensearch/credentials/create/create.go +++ b/internal/cmd/opensearch/credentials/create/create.go @@ -44,7 +44,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -57,6 +57,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := opensearchUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -103,16 +104,16 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), - HidePassword: flags.FlagToBoolValue(cmd, hidePasswordFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), + HidePassword: flags.FlagToBoolValue(p, cmd, hidePasswordFlag), }, nil } diff --git a/internal/cmd/opensearch/credentials/create/create_test.go b/internal/cmd/opensearch/credentials/create/create_test.go index 5ec06a4ae..47aba4795 100644 --- a/internal/cmd/opensearch/credentials/create/create_test.go +++ b/internal/cmd/opensearch/credentials/create/create_test.go @@ -142,7 +142,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/opensearch/credentials/delete/delete.go b/internal/cmd/opensearch/credentials/delete/delete.go index 13c4d8065..5992f5088 100644 --- a/internal/cmd/opensearch/credentials/delete/delete.go +++ b/internal/cmd/opensearch/credentials/delete/delete.go @@ -43,7 +43,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -56,11 +56,13 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := opensearchUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } credentialsLabel, err := opensearchUtils.GetCredentialsUsername(ctx, apiClient, model.ProjectId, model.InstanceId, model.CredentialsId) if err != nil { + p.Debug(print.ErrorLevel, "get credentials user name: %v", err) credentialsLabel = model.CredentialsId } @@ -94,17 +96,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { credentialsId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), CredentialsId: credentialsId, }, nil } diff --git a/internal/cmd/opensearch/credentials/delete/delete_test.go b/internal/cmd/opensearch/credentials/delete/delete_test.go index 276e68eaa..76fd83cb9 100644 --- a/internal/cmd/opensearch/credentials/delete/delete_test.go +++ b/internal/cmd/opensearch/credentials/delete/delete_test.go @@ -195,7 +195,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/opensearch/credentials/describe/describe.go b/internal/cmd/opensearch/credentials/describe/describe.go index 4b8c35cb6..9a79dab7f 100644 --- a/internal/cmd/opensearch/credentials/describe/describe.go +++ b/internal/cmd/opensearch/credentials/describe/describe.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -79,17 +79,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { credentialsId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), CredentialsId: credentialsId, }, nil } diff --git a/internal/cmd/opensearch/credentials/describe/describe_test.go b/internal/cmd/opensearch/credentials/describe/describe_test.go index 5b1354aeb..fe646774c 100644 --- a/internal/cmd/opensearch/credentials/describe/describe_test.go +++ b/internal/cmd/opensearch/credentials/describe/describe_test.go @@ -195,7 +195,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/opensearch/credentials/list/list.go b/internal/cmd/opensearch/credentials/list/list.go index ccb2dbfe3..036122719 100644 --- a/internal/cmd/opensearch/credentials/list/list.go +++ b/internal/cmd/opensearch/credentials/list/list.go @@ -49,7 +49,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -70,6 +70,7 @@ func NewCmd(p *print.Printer) *cobra.Command { if len(credentials) == 0 { instanceLabel, err := opensearchUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } p.Info("No credentials found for instance %q\n", instanceLabel) @@ -95,13 +96,13 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -111,7 +112,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), Limit: limit, }, nil } diff --git a/internal/cmd/opensearch/credentials/list/list_test.go b/internal/cmd/opensearch/credentials/list/list_test.go index 3cd807c35..563f20068 100644 --- a/internal/cmd/opensearch/credentials/list/list_test.go +++ b/internal/cmd/opensearch/credentials/list/list_test.go @@ -159,7 +159,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/opensearch/instance/create/create.go b/internal/cmd/opensearch/instance/create/create.go index fec307f1f..b3cb95b18 100644 --- a/internal/cmd/opensearch/instance/create/create.go +++ b/internal/cmd/opensearch/instance/create/create.go @@ -74,7 +74,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -85,8 +85,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } @@ -154,15 +155,15 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &cliErr.ProjectIdError{} } - planId := flags.FlagToStringPointer(cmd, planIdFlag) - planName := flags.FlagToStringValue(cmd, planNameFlag) - version := flags.FlagToStringValue(cmd, versionFlag) + planId := flags.FlagToStringPointer(p, cmd, planIdFlag) + planName := flags.FlagToStringValue(p, cmd, planNameFlag) + version := flags.FlagToStringValue(p, cmd, versionFlag) if planId == nil && (planName == "" || version == "") { return nil, &cliErr.DSAInputPlanError{ @@ -177,15 +178,15 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - InstanceName: flags.FlagToStringPointer(cmd, instanceNameFlag), - EnableMonitoring: flags.FlagToBoolPointer(cmd, enableMonitoringFlag), - MonitoringInstanceId: flags.FlagToStringPointer(cmd, monitoringInstanceIdFlag), - Graphite: flags.FlagToStringPointer(cmd, graphiteFlag), - MetricsFrequency: flags.FlagToInt64Pointer(cmd, metricsFrequencyFlag), - MetricsPrefix: flags.FlagToStringPointer(cmd, metricsPrefixFlag), - Plugin: flags.FlagToStringSlicePointer(cmd, pluginFlag), - SgwAcl: flags.FlagToStringSlicePointer(cmd, sgwAclFlag), - Syslog: flags.FlagToStringSlicePointer(cmd, syslogFlag), + InstanceName: flags.FlagToStringPointer(p, cmd, instanceNameFlag), + EnableMonitoring: flags.FlagToBoolPointer(p, cmd, enableMonitoringFlag), + MonitoringInstanceId: flags.FlagToStringPointer(p, cmd, monitoringInstanceIdFlag), + Graphite: flags.FlagToStringPointer(p, cmd, graphiteFlag), + MetricsFrequency: flags.FlagToInt64Pointer(p, cmd, metricsFrequencyFlag), + MetricsPrefix: flags.FlagToStringPointer(p, cmd, metricsPrefixFlag), + Plugin: flags.FlagToStringSlicePointer(p, cmd, pluginFlag), + SgwAcl: flags.FlagToStringSlicePointer(p, cmd, sgwAclFlag), + Syslog: flags.FlagToStringSlicePointer(p, cmd, syslogFlag), PlanId: planId, PlanName: planName, Version: version, diff --git a/internal/cmd/opensearch/instance/create/create_test.go b/internal/cmd/opensearch/instance/create/create_test.go index e123fdaf4..83497bbef 100644 --- a/internal/cmd/opensearch/instance/create/create_test.go +++ b/internal/cmd/opensearch/instance/create/create_test.go @@ -329,7 +329,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/opensearch/instance/delete/delete.go b/internal/cmd/opensearch/instance/delete/delete.go index a4ee8cff2..212e18377 100644 --- a/internal/cmd/opensearch/instance/delete/delete.go +++ b/internal/cmd/opensearch/instance/delete/delete.go @@ -41,7 +41,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -54,6 +54,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := opensearchUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -94,10 +95,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/opensearch/instance/delete/delete_test.go b/internal/cmd/opensearch/instance/delete/delete_test.go index 4ef2fc8a8..2992d4974 100644 --- a/internal/cmd/opensearch/instance/delete/delete_test.go +++ b/internal/cmd/opensearch/instance/delete/delete_test.go @@ -168,7 +168,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/opensearch/instance/describe/describe.go b/internal/cmd/opensearch/instance/describe/describe.go index 30063cf8f..540e9d9e8 100644 --- a/internal/cmd/opensearch/instance/describe/describe.go +++ b/internal/cmd/opensearch/instance/describe/describe.go @@ -45,7 +45,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -68,10 +68,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/opensearch/instance/describe/describe_test.go b/internal/cmd/opensearch/instance/describe/describe_test.go index f93c14d58..8d6ffd430 100644 --- a/internal/cmd/opensearch/instance/describe/describe_test.go +++ b/internal/cmd/opensearch/instance/describe/describe_test.go @@ -168,7 +168,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/opensearch/instance/list/list.go b/internal/cmd/opensearch/instance/list/list.go index 61eebea26..f2a5553a2 100644 --- a/internal/cmd/opensearch/instance/list/list.go +++ b/internal/cmd/opensearch/instance/list/list.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -66,8 +66,9 @@ func NewCmd(p *print.Printer) *cobra.Command { } instances := *resp.Instances if len(instances) == 0 { - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } p.Info("No instances found for project %q\n", projectLabel) @@ -91,13 +92,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Int64(limitFlag, 0, "Maximum number of entries to list") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -107,7 +108,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - Limit: flags.FlagToInt64Pointer(cmd, limitFlag), + Limit: flags.FlagToInt64Pointer(p, cmd, limitFlag), }, nil } diff --git a/internal/cmd/opensearch/instance/list/list_test.go b/internal/cmd/opensearch/instance/list/list_test.go index fad552b73..ae86f0791 100644 --- a/internal/cmd/opensearch/instance/list/list_test.go +++ b/internal/cmd/opensearch/instance/list/list_test.go @@ -138,7 +138,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/opensearch/instance/update/update.go b/internal/cmd/opensearch/instance/update/update.go index 82ff1ce5b..45fff824f 100644 --- a/internal/cmd/opensearch/instance/update/update.go +++ b/internal/cmd/opensearch/instance/update/update.go @@ -72,7 +72,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -85,6 +85,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := opensearchUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -148,25 +149,25 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().String(versionFlag, "", "Instance OpenSearch version") } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &cliErr.ProjectIdError{} } - enableMonitoring := flags.FlagToBoolPointer(cmd, enableMonitoringFlag) - monitoringInstanceId := flags.FlagToStringPointer(cmd, monitoringInstanceIdFlag) - graphite := flags.FlagToStringPointer(cmd, graphiteFlag) - metricsFrequency := flags.FlagToInt64Pointer(cmd, metricsFrequencyFlag) - metricsPrefix := flags.FlagToStringPointer(cmd, metricsPrefixFlag) - plugin := flags.FlagToStringSlicePointer(cmd, pluginFlag) - sgwAcl := flags.FlagToStringSlicePointer(cmd, sgwAclFlag) - syslog := flags.FlagToStringSlicePointer(cmd, syslogFlag) - planId := flags.FlagToStringPointer(cmd, planIdFlag) - planName := flags.FlagToStringValue(cmd, planNameFlag) - version := flags.FlagToStringValue(cmd, versionFlag) + enableMonitoring := flags.FlagToBoolPointer(p, cmd, enableMonitoringFlag) + monitoringInstanceId := flags.FlagToStringPointer(p, cmd, monitoringInstanceIdFlag) + graphite := flags.FlagToStringPointer(p, cmd, graphiteFlag) + metricsFrequency := flags.FlagToInt64Pointer(p, cmd, metricsFrequencyFlag) + metricsPrefix := flags.FlagToStringPointer(p, cmd, metricsPrefixFlag) + plugin := flags.FlagToStringSlicePointer(p, cmd, pluginFlag) + sgwAcl := flags.FlagToStringSlicePointer(p, cmd, sgwAclFlag) + syslog := flags.FlagToStringSlicePointer(p, cmd, syslogFlag) + planId := flags.FlagToStringPointer(p, cmd, planIdFlag) + planName := flags.FlagToStringValue(p, cmd, planNameFlag) + version := flags.FlagToStringValue(p, cmd, versionFlag) if planId != nil && (planName != "" || version != "") { return nil, &cliErr.DSAInputPlanError{ diff --git a/internal/cmd/opensearch/instance/update/update_test.go b/internal/cmd/opensearch/instance/update/update_test.go index 628f898ea..506d60ad2 100644 --- a/internal/cmd/opensearch/instance/update/update_test.go +++ b/internal/cmd/opensearch/instance/update/update_test.go @@ -354,7 +354,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/opensearch/plans/plans.go b/internal/cmd/opensearch/plans/plans.go index 3c3f8d7ac..6cd981d8e 100644 --- a/internal/cmd/opensearch/plans/plans.go +++ b/internal/cmd/opensearch/plans/plans.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -66,8 +66,9 @@ func NewCmd(p *print.Printer) *cobra.Command { } plans := *resp.Offerings if len(plans) == 0 { - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } p.Info("No plans found for project %q\n", projectLabel) @@ -91,13 +92,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Int64(limitFlag, 0, "Maximum number of entries to list") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, diff --git a/internal/cmd/opensearch/plans/plans_test.go b/internal/cmd/opensearch/plans/plans_test.go index dbd843a56..90ad23aca 100644 --- a/internal/cmd/opensearch/plans/plans_test.go +++ b/internal/cmd/opensearch/plans/plans_test.go @@ -138,7 +138,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/organization/member/add/add.go b/internal/cmd/organization/member/add/add.go index 2afc5e32b..035a25f7b 100644 --- a/internal/cmd/organization/member/add/add.go +++ b/internal/cmd/organization/member/add/add.go @@ -52,7 +52,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -94,16 +94,16 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { subject := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) return &inputModel{ GlobalFlagModel: globalFlags, - OrganizationId: flags.FlagToStringPointer(cmd, organizationIdFlag), + OrganizationId: flags.FlagToStringPointer(p, cmd, organizationIdFlag), Subject: subject, - Role: flags.FlagToStringPointer(cmd, roleFlag), + Role: flags.FlagToStringPointer(p, cmd, roleFlag), }, nil } diff --git a/internal/cmd/organization/member/add/add_test.go b/internal/cmd/organization/member/add/add_test.go index dae68d183..157941441 100644 --- a/internal/cmd/organization/member/add/add_test.go +++ b/internal/cmd/organization/member/add/add_test.go @@ -155,7 +155,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/organization/member/list/list.go b/internal/cmd/organization/member/list/list.go index 46af0d0ab..9126d4b57 100644 --- a/internal/cmd/organization/member/list/list.go +++ b/internal/cmd/organization/member/list/list.go @@ -56,7 +56,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -103,10 +103,10 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -116,10 +116,10 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - OrganizationId: flags.FlagToStringPointer(cmd, organizationIdFlag), - Subject: flags.FlagToStringPointer(cmd, subjectFlag), - Limit: flags.FlagToInt64Pointer(cmd, limitFlag), - SortBy: flags.FlagWithDefaultToStringValue(cmd, sortByFlag), + OrganizationId: flags.FlagToStringPointer(p, cmd, organizationIdFlag), + Subject: flags.FlagToStringPointer(p, cmd, subjectFlag), + Limit: flags.FlagToInt64Pointer(p, cmd, limitFlag), + SortBy: flags.FlagWithDefaultToStringValue(p, cmd, sortByFlag), }, nil } diff --git a/internal/cmd/organization/member/list/list_test.go b/internal/cmd/organization/member/list/list_test.go index 48800ae1c..d2cc51779 100644 --- a/internal/cmd/organization/member/list/list_test.go +++ b/internal/cmd/organization/member/list/list_test.go @@ -149,7 +149,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/organization/member/remove/remove.go b/internal/cmd/organization/member/remove/remove.go index 2a3dad778..bea4e3fb8 100644 --- a/internal/cmd/organization/member/remove/remove.go +++ b/internal/cmd/organization/member/remove/remove.go @@ -55,7 +55,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -101,17 +101,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { subject := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) return &inputModel{ GlobalFlagModel: globalFlags, - OrganizationId: flags.FlagToStringPointer(cmd, organizationIdFlag), + OrganizationId: flags.FlagToStringPointer(p, cmd, organizationIdFlag), Subject: subject, - Role: flags.FlagToStringPointer(cmd, roleFlag), - Force: flags.FlagToBoolValue(cmd, forceFlag), + Role: flags.FlagToStringPointer(p, cmd, roleFlag), + Force: flags.FlagToBoolValue(p, cmd, forceFlag), }, nil } diff --git a/internal/cmd/organization/member/remove/remove_test.go b/internal/cmd/organization/member/remove/remove_test.go index 4befba92a..6e21ad6e8 100644 --- a/internal/cmd/organization/member/remove/remove_test.go +++ b/internal/cmd/organization/member/remove/remove_test.go @@ -168,7 +168,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/organization/role/list/list.go b/internal/cmd/organization/role/list/list.go index e0af5e6cd..708f43eec 100644 --- a/internal/cmd/organization/role/list/list.go +++ b/internal/cmd/organization/role/list/list.go @@ -51,7 +51,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -94,10 +94,10 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -107,8 +107,8 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - OrganizationId: flags.FlagToStringPointer(cmd, organizationIdFlag), - Limit: flags.FlagToInt64Pointer(cmd, limitFlag), + OrganizationId: flags.FlagToStringPointer(p, cmd, organizationIdFlag), + Limit: flags.FlagToInt64Pointer(p, cmd, limitFlag), }, nil } diff --git a/internal/cmd/organization/role/list/list_test.go b/internal/cmd/organization/role/list/list_test.go index 413a3d072..3304e69ef 100644 --- a/internal/cmd/organization/role/list/list_test.go +++ b/internal/cmd/organization/role/list/list_test.go @@ -119,7 +119,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/postgresflex/instance/clone/clone.go b/internal/cmd/postgresflex/instance/clone/clone.go index 68d248cb8..1007bf548 100644 --- a/internal/cmd/postgresflex/instance/clone/clone.go +++ b/internal/cmd/postgresflex/instance/clone/clone.go @@ -60,7 +60,7 @@ func NewCmd(p *print.Printer) *cobra.Command { RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -73,6 +73,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := postgresflexUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -128,15 +129,15 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &cliErr.ProjectIdError{} } - recoveryTimestamp, err := flags.FlagToDateTimePointer(cmd, recoveryTimestampFlag, recoveryDateFormat) + recoveryTimestamp, err := flags.FlagToDateTimePointer(p, cmd, recoveryTimestampFlag, recoveryDateFormat) if err != nil { return nil, &cliErr.FlagValidationError{ Flag: recoveryTimestampFlag, @@ -148,8 +149,8 @@ func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, InstanceId: instanceId, - StorageClass: flags.FlagToStringPointer(cmd, storageClassFlag), - StorageSize: flags.FlagToInt64Pointer(cmd, storageSizeFlag), + StorageClass: flags.FlagToStringPointer(p, cmd, storageClassFlag), + StorageSize: flags.FlagToInt64Pointer(p, cmd, storageSizeFlag), RecoveryDate: utils.Ptr(recoveryTimestampString), }, nil } diff --git a/internal/cmd/postgresflex/instance/clone/clone_test.go b/internal/cmd/postgresflex/instance/clone/clone_test.go index f84f42f40..7b9c83167 100644 --- a/internal/cmd/postgresflex/instance/clone/clone_test.go +++ b/internal/cmd/postgresflex/instance/clone/clone_test.go @@ -330,7 +330,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/postgresflex/instance/create/create.go b/internal/cmd/postgresflex/instance/create/create.go index 6d8696eb3..c9141c17f 100644 --- a/internal/cmd/postgresflex/instance/create/create.go +++ b/internal/cmd/postgresflex/instance/create/create.go @@ -75,7 +75,7 @@ func NewCmd(p *print.Printer) *cobra.Command { RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -86,8 +86,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } @@ -160,17 +161,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &cliErr.ProjectIdError{} } - storageSize := flags.FlagWithDefaultToInt64Value(cmd, storageSizeFlag) + storageSize := flags.FlagWithDefaultToInt64Value(p, cmd, storageSizeFlag) - flavorId := flags.FlagToStringPointer(cmd, flavorIdFlag) - cpu := flags.FlagToInt64Pointer(cmd, cpuFlag) - ram := flags.FlagToInt64Pointer(cmd, ramFlag) + flavorId := flags.FlagToStringPointer(p, cmd, flavorIdFlag) + cpu := flags.FlagToInt64Pointer(p, cmd, cpuFlag) + ram := flags.FlagToInt64Pointer(p, cmd, ramFlag) if flavorId == nil && (cpu == nil || ram == nil) { return nil, &cliErr.DatabaseInputFlavorError{ @@ -185,16 +186,16 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - InstanceName: flags.FlagToStringPointer(cmd, instanceNameFlag), - ACL: flags.FlagToStringSlicePointer(cmd, aclFlag), - BackupSchedule: utils.Ptr(flags.FlagWithDefaultToStringValue(cmd, backupScheduleFlag)), + InstanceName: flags.FlagToStringPointer(p, cmd, instanceNameFlag), + ACL: flags.FlagToStringSlicePointer(p, cmd, aclFlag), + BackupSchedule: utils.Ptr(flags.FlagWithDefaultToStringValue(p, cmd, backupScheduleFlag)), FlavorId: flavorId, CPU: cpu, RAM: ram, - StorageClass: utils.Ptr(flags.FlagWithDefaultToStringValue(cmd, storageClassFlag)), + StorageClass: utils.Ptr(flags.FlagWithDefaultToStringValue(p, cmd, storageClassFlag)), StorageSize: &storageSize, - Version: flags.FlagToStringPointer(cmd, versionFlag), - Type: utils.Ptr(flags.FlagWithDefaultToStringValue(cmd, typeFlag)), + Version: flags.FlagToStringPointer(p, cmd, versionFlag), + Type: utils.Ptr(flags.FlagWithDefaultToStringValue(p, cmd, typeFlag)), }, nil } diff --git a/internal/cmd/postgresflex/instance/create/create_test.go b/internal/cmd/postgresflex/instance/create/create_test.go index 69e348237..71508c435 100644 --- a/internal/cmd/postgresflex/instance/create/create_test.go +++ b/internal/cmd/postgresflex/instance/create/create_test.go @@ -282,7 +282,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/postgresflex/instance/delete/delete.go b/internal/cmd/postgresflex/instance/delete/delete.go index bf98e4464..321df48e5 100644 --- a/internal/cmd/postgresflex/instance/delete/delete.go +++ b/internal/cmd/postgresflex/instance/delete/delete.go @@ -52,7 +52,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -65,6 +65,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := postgresflexUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -143,10 +144,10 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().BoolP(forceDeleteFlag, "f", false, "Force deletion of a delayed deleted instance") } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } @@ -154,7 +155,7 @@ func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, InstanceId: instanceId, - ForceDelete: flags.FlagToBoolValue(cmd, forceDeleteFlag), + ForceDelete: flags.FlagToBoolValue(p, cmd, forceDeleteFlag), }, nil } diff --git a/internal/cmd/postgresflex/instance/delete/delete_test.go b/internal/cmd/postgresflex/instance/delete/delete_test.go index 60b1fd00a..23a4d9f2b 100644 --- a/internal/cmd/postgresflex/instance/delete/delete_test.go +++ b/internal/cmd/postgresflex/instance/delete/delete_test.go @@ -200,7 +200,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/postgresflex/instance/describe/describe.go b/internal/cmd/postgresflex/instance/describe/describe.go index 4836bc0cb..651499967 100644 --- a/internal/cmd/postgresflex/instance/describe/describe.go +++ b/internal/cmd/postgresflex/instance/describe/describe.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -70,10 +70,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/postgresflex/instance/describe/describe_test.go b/internal/cmd/postgresflex/instance/describe/describe_test.go index bcff29fa6..079f8a0c7 100644 --- a/internal/cmd/postgresflex/instance/describe/describe_test.go +++ b/internal/cmd/postgresflex/instance/describe/describe_test.go @@ -168,7 +168,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/postgresflex/instance/list/list.go b/internal/cmd/postgresflex/instance/list/list.go index a9f6b5e25..c8af818e3 100644 --- a/internal/cmd/postgresflex/instance/list/list.go +++ b/internal/cmd/postgresflex/instance/list/list.go @@ -49,7 +49,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -67,8 +67,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return fmt.Errorf("get PostgreSQL Flex instances: %w", err) } if resp.Items == nil || len(*resp.Items) == 0 { - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } p.Info("No instances found for project %q\n", projectLabel) @@ -93,13 +94,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Int64(limitFlag, 0, "Maximum number of entries to list") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -109,7 +110,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - Limit: flags.FlagToInt64Pointer(cmd, limitFlag), + Limit: flags.FlagToInt64Pointer(p, cmd, limitFlag), }, nil } diff --git a/internal/cmd/postgresflex/instance/list/list_test.go b/internal/cmd/postgresflex/instance/list/list_test.go index c8aede301..4a57f0e98 100644 --- a/internal/cmd/postgresflex/instance/list/list_test.go +++ b/internal/cmd/postgresflex/instance/list/list_test.go @@ -138,7 +138,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/postgresflex/instance/update/update.go b/internal/cmd/postgresflex/instance/update/update.go index 5a61ff14e..118e0a640 100644 --- a/internal/cmd/postgresflex/instance/update/update.go +++ b/internal/cmd/postgresflex/instance/update/update.go @@ -69,7 +69,7 @@ func NewCmd(p *print.Printer) *cobra.Command { RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -82,6 +82,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := postgresflexUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -142,24 +143,24 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Var(flags.EnumFlag(false, "", typeFlagOptions...), typeFlag, fmt.Sprintf("Instance type, one of %q", typeFlagOptions)) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &cliErr.ProjectIdError{} } - instanceName := flags.FlagToStringPointer(cmd, instanceNameFlag) - flavorId := flags.FlagToStringPointer(cmd, flavorIdFlag) - cpu := flags.FlagToInt64Pointer(cmd, cpuFlag) - ram := flags.FlagToInt64Pointer(cmd, ramFlag) - acl := flags.FlagToStringSlicePointer(cmd, aclFlag) - backupSchedule := flags.FlagToStringPointer(cmd, backupScheduleFlag) - storageClass := flags.FlagToStringPointer(cmd, storageClassFlag) - storageSize := flags.FlagToInt64Pointer(cmd, storageSizeFlag) - version := flags.FlagToStringPointer(cmd, versionFlag) - instanceType := flags.FlagToStringPointer(cmd, typeFlag) + instanceName := flags.FlagToStringPointer(p, cmd, instanceNameFlag) + flavorId := flags.FlagToStringPointer(p, cmd, flavorIdFlag) + cpu := flags.FlagToInt64Pointer(p, cmd, cpuFlag) + ram := flags.FlagToInt64Pointer(p, cmd, ramFlag) + acl := flags.FlagToStringSlicePointer(p, cmd, aclFlag) + backupSchedule := flags.FlagToStringPointer(p, cmd, backupScheduleFlag) + storageClass := flags.FlagToStringPointer(p, cmd, storageClassFlag) + storageSize := flags.FlagToInt64Pointer(p, cmd, storageSizeFlag) + version := flags.FlagToStringPointer(p, cmd, versionFlag) + instanceType := flags.FlagToStringPointer(p, cmd, typeFlag) if instanceName == nil && flavorId == nil && cpu == nil && ram == nil && acl == nil && backupSchedule == nil && storageClass == nil && storageSize == nil && version == nil && instanceType == nil { diff --git a/internal/cmd/postgresflex/instance/update/update_test.go b/internal/cmd/postgresflex/instance/update/update_test.go index 16f6d3769..97dd19c4c 100644 --- a/internal/cmd/postgresflex/instance/update/update_test.go +++ b/internal/cmd/postgresflex/instance/update/update_test.go @@ -320,7 +320,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/postgresflex/options/options.go b/internal/cmd/postgresflex/options/options.go index 998c18d87..0ce14bc02 100644 --- a/internal/cmd/postgresflex/options/options.go +++ b/internal/cmd/postgresflex/options/options.go @@ -64,7 +64,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -95,12 +95,12 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().String(flavorIdFlag, "", `The flavor ID to show storages for. Only relevant when "--storages" is passed`) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) - flavors := flags.FlagToBoolValue(cmd, flavorsFlag) - versions := flags.FlagToBoolValue(cmd, versionsFlag) - storages := flags.FlagToBoolValue(cmd, storagesFlag) - flavorId := flags.FlagToStringPointer(cmd, flavorIdFlag) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) + flavors := flags.FlagToBoolValue(p, cmd, flavorsFlag) + versions := flags.FlagToBoolValue(p, cmd, versionsFlag) + storages := flags.FlagToBoolValue(p, cmd, storagesFlag) + flavorId := flags.FlagToStringPointer(p, cmd, flavorIdFlag) if !flavors && !versions && !storages { return nil, fmt.Errorf("%s\n\n%s", @@ -120,7 +120,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { Flavors: flavors, Versions: versions, Storages: storages, - FlavorId: flags.FlagToStringPointer(cmd, flavorIdFlag), + FlavorId: flags.FlagToStringPointer(p, cmd, flavorIdFlag), }, nil } diff --git a/internal/cmd/postgresflex/options/options_test.go b/internal/cmd/postgresflex/options/options_test.go index c9905cd20..e26ea4fc2 100644 --- a/internal/cmd/postgresflex/options/options_test.go +++ b/internal/cmd/postgresflex/options/options_test.go @@ -190,7 +190,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/postgresflex/user/create/create.go b/internal/cmd/postgresflex/user/create/create.go index a0758c12b..10f57edf1 100644 --- a/internal/cmd/postgresflex/user/create/create.go +++ b/internal/cmd/postgresflex/user/create/create.go @@ -56,7 +56,7 @@ func NewCmd(p *print.Printer) *cobra.Command { Args: args.NoArgs, RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -69,6 +69,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := postgresflexUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -115,17 +116,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), - Username: flags.FlagToStringPointer(cmd, usernameFlag), - Roles: flags.FlagWithDefaultToStringSlicePointer(cmd, roleFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), + Username: flags.FlagToStringPointer(p, cmd, usernameFlag), + Roles: flags.FlagWithDefaultToStringSlicePointer(p, cmd, roleFlag), }, nil } diff --git a/internal/cmd/postgresflex/user/create/create_test.go b/internal/cmd/postgresflex/user/create/create_test.go index f12b20b89..cb48a98f5 100644 --- a/internal/cmd/postgresflex/user/create/create_test.go +++ b/internal/cmd/postgresflex/user/create/create_test.go @@ -173,7 +173,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/postgresflex/user/delete/delete.go b/internal/cmd/postgresflex/user/delete/delete.go index c4bb11f24..8affbe99b 100644 --- a/internal/cmd/postgresflex/user/delete/delete.go +++ b/internal/cmd/postgresflex/user/delete/delete.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { Args: args.SingleArg(userIdArg, nil), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -60,11 +60,13 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := postgresflexUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } userLabel, err := postgresflexUtils.GetUserName(ctx, apiClient, model.ProjectId, model.InstanceId, model.UserId) if err != nil { + p.Debug(print.ErrorLevel, "get user name: %v", err) userLabel = model.UserId } @@ -98,17 +100,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { userId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), UserId: userId, }, nil } diff --git a/internal/cmd/postgresflex/user/delete/delete_test.go b/internal/cmd/postgresflex/user/delete/delete_test.go index 1a7bb7d94..546555723 100644 --- a/internal/cmd/postgresflex/user/delete/delete_test.go +++ b/internal/cmd/postgresflex/user/delete/delete_test.go @@ -189,7 +189,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/postgresflex/user/describe/describe.go b/internal/cmd/postgresflex/user/describe/describe.go index acfa5d5d2..f846320ad 100644 --- a/internal/cmd/postgresflex/user/describe/describe.go +++ b/internal/cmd/postgresflex/user/describe/describe.go @@ -51,7 +51,7 @@ func NewCmd(p *print.Printer) *cobra.Command { Args: args.SingleArg(userIdArg, nil), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -84,17 +84,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { userId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), UserId: userId, }, nil } diff --git a/internal/cmd/postgresflex/user/describe/describe_test.go b/internal/cmd/postgresflex/user/describe/describe_test.go index 4bc121ee7..f6ebcbbd7 100644 --- a/internal/cmd/postgresflex/user/describe/describe_test.go +++ b/internal/cmd/postgresflex/user/describe/describe_test.go @@ -189,7 +189,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/postgresflex/user/list/list.go b/internal/cmd/postgresflex/user/list/list.go index 785fc473a..fb1ef6065 100644 --- a/internal/cmd/postgresflex/user/list/list.go +++ b/internal/cmd/postgresflex/user/list/list.go @@ -50,7 +50,7 @@ func NewCmd(p *print.Printer) *cobra.Command { Args: args.NoArgs, RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -70,6 +70,7 @@ func NewCmd(p *print.Printer) *cobra.Command { if resp.Items == nil || len(*resp.Items) == 0 { instanceLabel, err := postgresflexUtils.GetInstanceName(ctx, apiClient, model.ProjectId, *model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = *model.InstanceId } p.Info("No users found for instance %q\n", instanceLabel) @@ -98,13 +99,13 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -114,8 +115,8 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringPointer(cmd, instanceIdFlag), - Limit: flags.FlagToInt64Pointer(cmd, limitFlag), + InstanceId: flags.FlagToStringPointer(p, cmd, instanceIdFlag), + Limit: flags.FlagToInt64Pointer(p, cmd, limitFlag), }, nil } diff --git a/internal/cmd/postgresflex/user/list/list_test.go b/internal/cmd/postgresflex/user/list/list_test.go index 58f5c7434..d4d97e6a7 100644 --- a/internal/cmd/postgresflex/user/list/list_test.go +++ b/internal/cmd/postgresflex/user/list/list_test.go @@ -155,7 +155,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/postgresflex/user/reset-password/reset_password.go b/internal/cmd/postgresflex/user/reset-password/reset_password.go index ba0ab2b26..b18ad672b 100644 --- a/internal/cmd/postgresflex/user/reset-password/reset_password.go +++ b/internal/cmd/postgresflex/user/reset-password/reset_password.go @@ -46,7 +46,7 @@ func NewCmd(p *print.Printer) *cobra.Command { Args: args.SingleArg(userIdArg, nil), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -59,11 +59,13 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := postgresflexUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } userLabel, err := postgresflexUtils.GetUserName(ctx, apiClient, model.ProjectId, model.InstanceId, model.UserId) if err != nil { + p.Debug(print.ErrorLevel, "get user name: %v", err) userLabel = model.UserId } @@ -101,17 +103,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { userId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), UserId: userId, }, nil } diff --git a/internal/cmd/postgresflex/user/reset-password/reset_password_test.go b/internal/cmd/postgresflex/user/reset-password/reset_password_test.go index b312e5867..4eaf6f1ae 100644 --- a/internal/cmd/postgresflex/user/reset-password/reset_password_test.go +++ b/internal/cmd/postgresflex/user/reset-password/reset_password_test.go @@ -189,7 +189,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/postgresflex/user/update/update.go b/internal/cmd/postgresflex/user/update/update.go index 0b39a8eef..1331ed7db 100644 --- a/internal/cmd/postgresflex/user/update/update.go +++ b/internal/cmd/postgresflex/user/update/update.go @@ -45,7 +45,7 @@ func NewCmd(p *print.Printer) *cobra.Command { Args: args.SingleArg(userIdArg, nil), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -58,11 +58,13 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := postgresflexUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } userLabel, err := postgresflexUtils.GetUserName(ctx, apiClient, model.ProjectId, model.InstanceId, model.UserId) if err != nil { + p.Debug(print.ErrorLevel, "get user name: %v", err) userLabel = model.UserId } @@ -100,22 +102,22 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { userId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - roles := flags.FlagToStringSlicePointer(cmd, roleFlag) + roles := flags.FlagToStringSlicePointer(p, cmd, roleFlag) if roles == nil { return nil, &errors.EmptyUpdateError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), UserId: userId, Roles: roles, }, nil diff --git a/internal/cmd/postgresflex/user/update/update_test.go b/internal/cmd/postgresflex/user/update/update_test.go index 7f5f50092..01ac94cc2 100644 --- a/internal/cmd/postgresflex/user/update/update_test.go +++ b/internal/cmd/postgresflex/user/update/update_test.go @@ -198,7 +198,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/project/create/create.go b/internal/cmd/project/create/create.go index e1fbc397b..cfcbf1c06 100644 --- a/internal/cmd/project/create/create.go +++ b/internal/cmd/project/create/create.go @@ -52,7 +52,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -98,10 +98,10 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) - labels := flags.FlagToStringToStringPointer(cmd, labelFlag) + labels := flags.FlagToStringToStringPointer(p, cmd, labelFlag) if labels != nil { labelKeyRegex := regexp.MustCompile(labelKeyRegex) labelValueRegex := regexp.MustCompile(labelValueRegex) @@ -124,8 +124,8 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - ParentId: flags.FlagToStringPointer(cmd, parentIdFlag), - Name: flags.FlagToStringPointer(cmd, nameFlag), + ParentId: flags.FlagToStringPointer(p, cmd, parentIdFlag), + Name: flags.FlagToStringPointer(p, cmd, nameFlag), Labels: labels, }, nil } diff --git a/internal/cmd/project/create/create_test.go b/internal/cmd/project/create/create_test.go index b7e051328..510935d63 100644 --- a/internal/cmd/project/create/create_test.go +++ b/internal/cmd/project/create/create_test.go @@ -173,7 +173,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/project/delete/delete.go b/internal/cmd/project/delete/delete.go index 1709736f3..cb8fde898 100644 --- a/internal/cmd/project/delete/delete.go +++ b/internal/cmd/project/delete/delete.go @@ -36,7 +36,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -47,8 +47,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } @@ -78,8 +79,8 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/project/delete/delete_test.go b/internal/cmd/project/delete/delete_test.go index 2bb0b63c6..7514c8fc8 100644 --- a/internal/cmd/project/delete/delete_test.go +++ b/internal/cmd/project/delete/delete_test.go @@ -97,7 +97,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/project/describe/describe.go b/internal/cmd/project/describe/describe.go index 9208fe081..a2e60535d 100644 --- a/internal/cmd/project/describe/describe.go +++ b/internal/cmd/project/describe/describe.go @@ -49,7 +49,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -78,13 +78,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Bool(includeParentsFlag, false, "When true, the details of the parent resources will be included in the output") } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { var projectId string if len(inputArgs) > 0 { projectId = inputArgs[0] } - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" && projectId == "" { return nil, fmt.Errorf("Project ID needs to be provided either as an argument or as a flag") } @@ -96,7 +96,7 @@ func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, ArgProjectId: projectId, - IncludeParents: flags.FlagToBoolValue(cmd, includeParentsFlag), + IncludeParents: flags.FlagToBoolValue(p, cmd, includeParentsFlag), }, nil } diff --git a/internal/cmd/project/describe/describe_test.go b/internal/cmd/project/describe/describe_test.go index cd60acf0a..76a6d6abf 100644 --- a/internal/cmd/project/describe/describe_test.go +++ b/internal/cmd/project/describe/describe_test.go @@ -166,7 +166,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/project/list/list.go b/internal/cmd/project/list/list.go index 1dd26e492..6e4eadf39 100644 --- a/internal/cmd/project/list/list.go +++ b/internal/cmd/project/list/list.go @@ -64,7 +64,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -101,10 +101,10 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Int64(pageSizeFlag, pageSizeDefault, "Number of items fetched in each API call. Does not affect the number of items in the command output") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) - creationTimeAfter, err := flags.FlagToDateTimePointer(cmd, creationTimeAfterFlag, creationTimeAfterFormat) + creationTimeAfter, err := flags.FlagToDateTimePointer(p, cmd, creationTimeAfterFlag, creationTimeAfterFormat) if err != nil { return nil, &errors.FlagValidationError{ Flag: creationTimeAfterFlag, @@ -112,7 +112,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { } } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -120,7 +120,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { } } - pageSize := flags.FlagWithDefaultToInt64Value(cmd, pageSizeFlag) + pageSize := flags.FlagWithDefaultToInt64Value(p, cmd, pageSizeFlag) if pageSize < 1 { return nil, &errors.FlagValidationError{ Flag: pageSizeFlag, @@ -130,9 +130,9 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - ParentId: flags.FlagToStringPointer(cmd, parentIdFlag), - ProjectIdLike: flags.FlagToStringSliceValue(cmd, projectIdLikeFlag), - Member: flags.FlagToStringPointer(cmd, memberFlag), + ParentId: flags.FlagToStringPointer(p, cmd, parentIdFlag), + ProjectIdLike: flags.FlagToStringSliceValue(p, cmd, projectIdLikeFlag), + Member: flags.FlagToStringPointer(p, cmd, memberFlag), CreationTimeAfter: creationTimeAfter, Limit: limit, PageSize: pageSize, diff --git a/internal/cmd/project/list/list_test.go b/internal/cmd/project/list/list_test.go index b89adca73..a4d02b78e 100644 --- a/internal/cmd/project/list/list_test.go +++ b/internal/cmd/project/list/list_test.go @@ -237,7 +237,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating one of required flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/project/member/add/add.go b/internal/cmd/project/member/add/add.go index f0bc1ec05..c44bfd6b2 100644 --- a/internal/cmd/project/member/add/add.go +++ b/internal/cmd/project/member/add/add.go @@ -52,7 +52,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -63,8 +63,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } @@ -98,10 +99,10 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { subject := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } @@ -109,7 +110,7 @@ func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, Subject: subject, - Role: flags.FlagToStringPointer(cmd, roleFlag), + Role: flags.FlagToStringPointer(p, cmd, roleFlag), }, nil } diff --git a/internal/cmd/project/member/add/add_test.go b/internal/cmd/project/member/add/add_test.go index e59825633..97763b3e5 100644 --- a/internal/cmd/project/member/add/add_test.go +++ b/internal/cmd/project/member/add/add_test.go @@ -154,7 +154,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/project/member/list/list.go b/internal/cmd/project/member/list/list.go index be2f80471..4d3b98dd7 100644 --- a/internal/cmd/project/member/list/list.go +++ b/internal/cmd/project/member/list/list.go @@ -55,7 +55,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -74,8 +74,9 @@ func NewCmd(p *print.Printer) *cobra.Command { } members := *resp.Members if len(members) == 0 { - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } p.Info("No members found for project %q\n", projectLabel) @@ -102,13 +103,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Var(flags.EnumFlag(false, "subject", sortByFlagOptions...), sortByFlag, fmt.Sprintf("Sort entries by a specific field, one of %q", sortByFlagOptions)) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -118,9 +119,9 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - Subject: flags.FlagToStringPointer(cmd, subjectFlag), - Limit: flags.FlagToInt64Pointer(cmd, limitFlag), - SortBy: flags.FlagWithDefaultToStringValue(cmd, sortByFlag), + Subject: flags.FlagToStringPointer(p, cmd, subjectFlag), + Limit: flags.FlagToInt64Pointer(p, cmd, limitFlag), + SortBy: flags.FlagWithDefaultToStringValue(p, cmd, sortByFlag), }, nil } diff --git a/internal/cmd/project/member/list/list_test.go b/internal/cmd/project/member/list/list_test.go index 469ce2eb0..c741fbac0 100644 --- a/internal/cmd/project/member/list/list_test.go +++ b/internal/cmd/project/member/list/list_test.go @@ -154,7 +154,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/project/member/remove/remove.go b/internal/cmd/project/member/remove/remove.go index 46d5015c2..dbca7d4ad 100644 --- a/internal/cmd/project/member/remove/remove.go +++ b/internal/cmd/project/member/remove/remove.go @@ -55,7 +55,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -66,8 +66,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } @@ -105,10 +106,10 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { subject := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } @@ -116,8 +117,8 @@ func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, Subject: subject, - Role: flags.FlagToStringPointer(cmd, roleFlag), - Force: flags.FlagToBoolValue(cmd, forceFlag), + Role: flags.FlagToStringPointer(p, cmd, roleFlag), + Force: flags.FlagToBoolValue(p, cmd, forceFlag), }, nil } diff --git a/internal/cmd/project/member/remove/remove_test.go b/internal/cmd/project/member/remove/remove_test.go index c39df7e82..540d57a08 100644 --- a/internal/cmd/project/member/remove/remove_test.go +++ b/internal/cmd/project/member/remove/remove_test.go @@ -167,7 +167,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/project/role/list/list.go b/internal/cmd/project/role/list/list.go index 5605f3ddb..103cad108 100644 --- a/internal/cmd/project/role/list/list.go +++ b/internal/cmd/project/role/list/list.go @@ -50,7 +50,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -69,8 +69,9 @@ func NewCmd(p *print.Printer) *cobra.Command { } roles := *resp.Roles if len(roles) == 0 { - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } p.Info("No roles found for project %q\n", projectLabel) @@ -93,13 +94,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Int64(limitFlag, 0, "Maximum number of entries to list") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -109,7 +110,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - Limit: flags.FlagToInt64Pointer(cmd, limitFlag), + Limit: flags.FlagToInt64Pointer(p, cmd, limitFlag), }, nil } diff --git a/internal/cmd/project/role/list/list_test.go b/internal/cmd/project/role/list/list_test.go index 80ee22574..60a1080f0 100644 --- a/internal/cmd/project/role/list/list_test.go +++ b/internal/cmd/project/role/list/list_test.go @@ -124,7 +124,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/project/update/update.go b/internal/cmd/project/update/update.go index fe553cf0a..f80edc5c2 100644 --- a/internal/cmd/project/update/update.go +++ b/internal/cmd/project/update/update.go @@ -55,7 +55,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -66,8 +66,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } @@ -100,15 +101,15 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().StringToString(labelFlag, nil, "Labels are key-value string pairs which can be attached to a project. A label can be provided with the format key=value and the flag can be used multiple times to provide a list of labels") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - labels := flags.FlagToStringToStringPointer(cmd, labelFlag) - parentId := flags.FlagToStringPointer(cmd, parentIdFlag) - name := flags.FlagToStringPointer(cmd, nameFlag) + labels := flags.FlagToStringToStringPointer(p, cmd, labelFlag) + parentId := flags.FlagToStringPointer(p, cmd, parentIdFlag) + name := flags.FlagToStringPointer(p, cmd, nameFlag) if labels == nil && parentId == nil && name == nil { return nil, &errors.EmptyUpdateError{} diff --git a/internal/cmd/project/update/update_test.go b/internal/cmd/project/update/update_test.go index 7a7f0454e..75873a964 100644 --- a/internal/cmd/project/update/update_test.go +++ b/internal/cmd/project/update/update_test.go @@ -163,7 +163,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/rabbitmq/credentials/create/create.go b/internal/cmd/rabbitmq/credentials/create/create.go index ee75a5aa3..bb7c21ae9 100644 --- a/internal/cmd/rabbitmq/credentials/create/create.go +++ b/internal/cmd/rabbitmq/credentials/create/create.go @@ -44,7 +44,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -57,6 +57,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := rabbitmqUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -104,16 +105,16 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), - HidePassword: flags.FlagToBoolValue(cmd, hidePasswordFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), + HidePassword: flags.FlagToBoolValue(p, cmd, hidePasswordFlag), }, nil } diff --git a/internal/cmd/rabbitmq/credentials/create/create_test.go b/internal/cmd/rabbitmq/credentials/create/create_test.go index c68535494..732e94540 100644 --- a/internal/cmd/rabbitmq/credentials/create/create_test.go +++ b/internal/cmd/rabbitmq/credentials/create/create_test.go @@ -142,7 +142,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/rabbitmq/credentials/delete/delete.go b/internal/cmd/rabbitmq/credentials/delete/delete.go index b469f92b0..76f2265c5 100644 --- a/internal/cmd/rabbitmq/credentials/delete/delete.go +++ b/internal/cmd/rabbitmq/credentials/delete/delete.go @@ -43,7 +43,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -56,11 +56,13 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := rabbitmqUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } credentialsLabel, err := rabbitmqUtils.GetCredentialsUsername(ctx, apiClient, model.ProjectId, model.InstanceId, model.CredentialsId) if err != nil { + p.Debug(print.ErrorLevel, "get credentials user name: %v", err) credentialsLabel = model.CredentialsId } @@ -94,17 +96,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { credentialsId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), CredentialsId: credentialsId, }, nil } diff --git a/internal/cmd/rabbitmq/credentials/delete/delete_test.go b/internal/cmd/rabbitmq/credentials/delete/delete_test.go index ecf10d176..bbfb59819 100644 --- a/internal/cmd/rabbitmq/credentials/delete/delete_test.go +++ b/internal/cmd/rabbitmq/credentials/delete/delete_test.go @@ -195,7 +195,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/rabbitmq/credentials/describe/describe.go b/internal/cmd/rabbitmq/credentials/describe/describe.go index c70489746..d4b0efbb3 100644 --- a/internal/cmd/rabbitmq/credentials/describe/describe.go +++ b/internal/cmd/rabbitmq/credentials/describe/describe.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -79,17 +79,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { credentialsId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), CredentialsId: credentialsId, }, nil } diff --git a/internal/cmd/rabbitmq/credentials/describe/describe_test.go b/internal/cmd/rabbitmq/credentials/describe/describe_test.go index b3bc93579..196808e04 100644 --- a/internal/cmd/rabbitmq/credentials/describe/describe_test.go +++ b/internal/cmd/rabbitmq/credentials/describe/describe_test.go @@ -195,7 +195,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/rabbitmq/credentials/list/list.go b/internal/cmd/rabbitmq/credentials/list/list.go index 047f0b1db..ffb8c88b4 100644 --- a/internal/cmd/rabbitmq/credentials/list/list.go +++ b/internal/cmd/rabbitmq/credentials/list/list.go @@ -49,7 +49,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -70,6 +70,7 @@ func NewCmd(p *print.Printer) *cobra.Command { if len(credentials) == 0 { instanceLabel, err := rabbitmqUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } p.Info("No credentials found for instance %q\n", instanceLabel) @@ -95,13 +96,13 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -111,7 +112,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), Limit: limit, }, nil } diff --git a/internal/cmd/rabbitmq/credentials/list/list_test.go b/internal/cmd/rabbitmq/credentials/list/list_test.go index ba398c659..a09f19010 100644 --- a/internal/cmd/rabbitmq/credentials/list/list_test.go +++ b/internal/cmd/rabbitmq/credentials/list/list_test.go @@ -159,7 +159,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/rabbitmq/instance/create/create.go b/internal/cmd/rabbitmq/instance/create/create.go index 6ed1cead5..d931f44fc 100644 --- a/internal/cmd/rabbitmq/instance/create/create.go +++ b/internal/cmd/rabbitmq/instance/create/create.go @@ -74,7 +74,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -85,8 +85,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } @@ -154,15 +155,15 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &cliErr.ProjectIdError{} } - planId := flags.FlagToStringPointer(cmd, planIdFlag) - planName := flags.FlagToStringValue(cmd, planNameFlag) - version := flags.FlagToStringValue(cmd, versionFlag) + planId := flags.FlagToStringPointer(p, cmd, planIdFlag) + planName := flags.FlagToStringValue(p, cmd, planNameFlag) + version := flags.FlagToStringValue(p, cmd, versionFlag) if planId == nil && (planName == "" || version == "") { return nil, &cliErr.DSAInputPlanError{ @@ -177,15 +178,15 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - InstanceName: flags.FlagToStringPointer(cmd, instanceNameFlag), - EnableMonitoring: flags.FlagToBoolPointer(cmd, enableMonitoringFlag), - MonitoringInstanceId: flags.FlagToStringPointer(cmd, monitoringInstanceIdFlag), - Graphite: flags.FlagToStringPointer(cmd, graphiteFlag), - MetricsFrequency: flags.FlagToInt64Pointer(cmd, metricsFrequencyFlag), - MetricsPrefix: flags.FlagToStringPointer(cmd, metricsPrefixFlag), - Plugin: flags.FlagToStringSlicePointer(cmd, pluginFlag), - SgwAcl: flags.FlagToStringSlicePointer(cmd, sgwAclFlag), - Syslog: flags.FlagToStringSlicePointer(cmd, syslogFlag), + InstanceName: flags.FlagToStringPointer(p, cmd, instanceNameFlag), + EnableMonitoring: flags.FlagToBoolPointer(p, cmd, enableMonitoringFlag), + MonitoringInstanceId: flags.FlagToStringPointer(p, cmd, monitoringInstanceIdFlag), + Graphite: flags.FlagToStringPointer(p, cmd, graphiteFlag), + MetricsFrequency: flags.FlagToInt64Pointer(p, cmd, metricsFrequencyFlag), + MetricsPrefix: flags.FlagToStringPointer(p, cmd, metricsPrefixFlag), + Plugin: flags.FlagToStringSlicePointer(p, cmd, pluginFlag), + SgwAcl: flags.FlagToStringSlicePointer(p, cmd, sgwAclFlag), + Syslog: flags.FlagToStringSlicePointer(p, cmd, syslogFlag), PlanId: planId, PlanName: planName, Version: version, diff --git a/internal/cmd/rabbitmq/instance/create/create_test.go b/internal/cmd/rabbitmq/instance/create/create_test.go index 535db19fd..ab6dded0f 100644 --- a/internal/cmd/rabbitmq/instance/create/create_test.go +++ b/internal/cmd/rabbitmq/instance/create/create_test.go @@ -329,7 +329,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/rabbitmq/instance/delete/delete.go b/internal/cmd/rabbitmq/instance/delete/delete.go index 64411ddb8..fdaee44cf 100644 --- a/internal/cmd/rabbitmq/instance/delete/delete.go +++ b/internal/cmd/rabbitmq/instance/delete/delete.go @@ -41,7 +41,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -54,6 +54,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := rabbitmqUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -94,10 +95,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/rabbitmq/instance/delete/delete_test.go b/internal/cmd/rabbitmq/instance/delete/delete_test.go index f9c2f565a..998cd2488 100644 --- a/internal/cmd/rabbitmq/instance/delete/delete_test.go +++ b/internal/cmd/rabbitmq/instance/delete/delete_test.go @@ -168,7 +168,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/rabbitmq/instance/describe/describe.go b/internal/cmd/rabbitmq/instance/describe/describe.go index 3b4f0b200..8b07f8952 100644 --- a/internal/cmd/rabbitmq/instance/describe/describe.go +++ b/internal/cmd/rabbitmq/instance/describe/describe.go @@ -45,7 +45,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -68,10 +68,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/rabbitmq/instance/describe/describe_test.go b/internal/cmd/rabbitmq/instance/describe/describe_test.go index 616b7731a..16b688a46 100644 --- a/internal/cmd/rabbitmq/instance/describe/describe_test.go +++ b/internal/cmd/rabbitmq/instance/describe/describe_test.go @@ -168,7 +168,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/rabbitmq/instance/list/list.go b/internal/cmd/rabbitmq/instance/list/list.go index 3258a5444..4e0eb3b2b 100644 --- a/internal/cmd/rabbitmq/instance/list/list.go +++ b/internal/cmd/rabbitmq/instance/list/list.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -66,8 +66,9 @@ func NewCmd(p *print.Printer) *cobra.Command { } instances := *resp.Instances if len(instances) == 0 { - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } p.Info("No instances found for project %q\n", projectLabel) @@ -91,13 +92,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Int64(limitFlag, 0, "Maximum number of entries to list") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -107,7 +108,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - Limit: flags.FlagToInt64Pointer(cmd, limitFlag), + Limit: flags.FlagToInt64Pointer(p, cmd, limitFlag), }, nil } diff --git a/internal/cmd/rabbitmq/instance/list/list_test.go b/internal/cmd/rabbitmq/instance/list/list_test.go index e940eb894..19058b50e 100644 --- a/internal/cmd/rabbitmq/instance/list/list_test.go +++ b/internal/cmd/rabbitmq/instance/list/list_test.go @@ -138,7 +138,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/rabbitmq/instance/update/update.go b/internal/cmd/rabbitmq/instance/update/update.go index da36b8663..80183f2bc 100644 --- a/internal/cmd/rabbitmq/instance/update/update.go +++ b/internal/cmd/rabbitmq/instance/update/update.go @@ -72,7 +72,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -85,6 +85,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := rabbitmqUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -148,25 +149,25 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().String(versionFlag, "", "Instance RabbitMQ version") } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &cliErr.ProjectIdError{} } - enableMonitoring := flags.FlagToBoolPointer(cmd, enableMonitoringFlag) - monitoringInstanceId := flags.FlagToStringPointer(cmd, monitoringInstanceIdFlag) - graphite := flags.FlagToStringPointer(cmd, graphiteFlag) - metricsFrequency := flags.FlagToInt64Pointer(cmd, metricsFrequencyFlag) - metricsPrefix := flags.FlagToStringPointer(cmd, metricsPrefixFlag) - plugin := flags.FlagToStringSlicePointer(cmd, pluginFlag) - sgwAcl := flags.FlagToStringSlicePointer(cmd, sgwAclFlag) - syslog := flags.FlagToStringSlicePointer(cmd, syslogFlag) - planId := flags.FlagToStringPointer(cmd, planIdFlag) - planName := flags.FlagToStringValue(cmd, planNameFlag) - version := flags.FlagToStringValue(cmd, versionFlag) + enableMonitoring := flags.FlagToBoolPointer(p, cmd, enableMonitoringFlag) + monitoringInstanceId := flags.FlagToStringPointer(p, cmd, monitoringInstanceIdFlag) + graphite := flags.FlagToStringPointer(p, cmd, graphiteFlag) + metricsFrequency := flags.FlagToInt64Pointer(p, cmd, metricsFrequencyFlag) + metricsPrefix := flags.FlagToStringPointer(p, cmd, metricsPrefixFlag) + plugin := flags.FlagToStringSlicePointer(p, cmd, pluginFlag) + sgwAcl := flags.FlagToStringSlicePointer(p, cmd, sgwAclFlag) + syslog := flags.FlagToStringSlicePointer(p, cmd, syslogFlag) + planId := flags.FlagToStringPointer(p, cmd, planIdFlag) + planName := flags.FlagToStringValue(p, cmd, planNameFlag) + version := flags.FlagToStringValue(p, cmd, versionFlag) if planId != nil && (planName != "" || version != "") { return nil, &cliErr.DSAInputPlanError{ diff --git a/internal/cmd/rabbitmq/instance/update/update_test.go b/internal/cmd/rabbitmq/instance/update/update_test.go index aa169639d..239c5304f 100644 --- a/internal/cmd/rabbitmq/instance/update/update_test.go +++ b/internal/cmd/rabbitmq/instance/update/update_test.go @@ -354,7 +354,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/rabbitmq/plans/plans.go b/internal/cmd/rabbitmq/plans/plans.go index 610533e8b..27ee06607 100644 --- a/internal/cmd/rabbitmq/plans/plans.go +++ b/internal/cmd/rabbitmq/plans/plans.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -66,8 +66,9 @@ func NewCmd(p *print.Printer) *cobra.Command { } plans := *resp.Offerings if len(plans) == 0 { - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } p.Info("No plans found for project %q\n", projectLabel) @@ -91,13 +92,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Int64(limitFlag, 0, "Maximum number of entries to list") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, diff --git a/internal/cmd/rabbitmq/plans/plans_test.go b/internal/cmd/rabbitmq/plans/plans_test.go index 87319bf6d..ec90c2eb0 100644 --- a/internal/cmd/rabbitmq/plans/plans_test.go +++ b/internal/cmd/rabbitmq/plans/plans_test.go @@ -138,7 +138,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/redis/credentials/create/create.go b/internal/cmd/redis/credentials/create/create.go index 273d1a7c1..db39a1e72 100644 --- a/internal/cmd/redis/credentials/create/create.go +++ b/internal/cmd/redis/credentials/create/create.go @@ -44,7 +44,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -57,6 +57,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := redisUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -104,16 +105,16 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), - HidePassword: flags.FlagToBoolValue(cmd, hidePasswordFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), + HidePassword: flags.FlagToBoolValue(p, cmd, hidePasswordFlag), }, nil } diff --git a/internal/cmd/redis/credentials/create/create_test.go b/internal/cmd/redis/credentials/create/create_test.go index 5f1a247f1..cea83002a 100644 --- a/internal/cmd/redis/credentials/create/create_test.go +++ b/internal/cmd/redis/credentials/create/create_test.go @@ -142,7 +142,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/redis/credentials/delete/delete.go b/internal/cmd/redis/credentials/delete/delete.go index 875d73243..fb7998212 100644 --- a/internal/cmd/redis/credentials/delete/delete.go +++ b/internal/cmd/redis/credentials/delete/delete.go @@ -43,7 +43,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -56,11 +56,13 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := redisUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } credentialsLabel, err := redisUtils.GetCredentialsUsername(ctx, apiClient, model.ProjectId, model.InstanceId, model.CredentialsId) if err != nil { + p.Debug(print.ErrorLevel, "get credentials user name: %v", err) credentialsLabel = model.CredentialsId } @@ -94,17 +96,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { credentialsId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), CredentialsId: credentialsId, }, nil } diff --git a/internal/cmd/redis/credentials/delete/delete_test.go b/internal/cmd/redis/credentials/delete/delete_test.go index 575dac9f0..f43d60560 100644 --- a/internal/cmd/redis/credentials/delete/delete_test.go +++ b/internal/cmd/redis/credentials/delete/delete_test.go @@ -195,7 +195,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/redis/credentials/describe/describe.go b/internal/cmd/redis/credentials/describe/describe.go index 848813908..fd19846a3 100644 --- a/internal/cmd/redis/credentials/describe/describe.go +++ b/internal/cmd/redis/credentials/describe/describe.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -79,17 +79,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { credentialsId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), CredentialsId: credentialsId, }, nil } diff --git a/internal/cmd/redis/credentials/describe/describe_test.go b/internal/cmd/redis/credentials/describe/describe_test.go index 45f2fa6f5..783ceb69e 100644 --- a/internal/cmd/redis/credentials/describe/describe_test.go +++ b/internal/cmd/redis/credentials/describe/describe_test.go @@ -195,7 +195,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/redis/credentials/list/list.go b/internal/cmd/redis/credentials/list/list.go index d3972638e..f1dda3102 100644 --- a/internal/cmd/redis/credentials/list/list.go +++ b/internal/cmd/redis/credentials/list/list.go @@ -49,7 +49,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -70,6 +70,7 @@ func NewCmd(p *print.Printer) *cobra.Command { if len(credentials) == 0 { instanceLabel, err := redisUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } p.Info("No credentials found for instance %q\n", instanceLabel) @@ -95,13 +96,13 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -111,7 +112,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), Limit: limit, }, nil } diff --git a/internal/cmd/redis/credentials/list/list_test.go b/internal/cmd/redis/credentials/list/list_test.go index 749a288d3..0dba8e057 100644 --- a/internal/cmd/redis/credentials/list/list_test.go +++ b/internal/cmd/redis/credentials/list/list_test.go @@ -159,7 +159,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/redis/instance/create/create.go b/internal/cmd/redis/instance/create/create.go index 01a2635da..0843bcbdf 100644 --- a/internal/cmd/redis/instance/create/create.go +++ b/internal/cmd/redis/instance/create/create.go @@ -72,7 +72,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -83,8 +83,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } @@ -151,15 +152,15 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &cliErr.ProjectIdError{} } - planId := flags.FlagToStringPointer(cmd, planIdFlag) - planName := flags.FlagToStringValue(cmd, planNameFlag) - version := flags.FlagToStringValue(cmd, versionFlag) + planId := flags.FlagToStringPointer(p, cmd, planIdFlag) + planName := flags.FlagToStringValue(p, cmd, planNameFlag) + version := flags.FlagToStringValue(p, cmd, versionFlag) if planId == nil && (planName == "" || version == "") { return nil, &cliErr.DSAInputPlanError{ @@ -174,14 +175,14 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - InstanceName: flags.FlagToStringPointer(cmd, instanceNameFlag), - EnableMonitoring: flags.FlagToBoolPointer(cmd, enableMonitoringFlag), - MonitoringInstanceId: flags.FlagToStringPointer(cmd, monitoringInstanceIdFlag), - Graphite: flags.FlagToStringPointer(cmd, graphiteFlag), - MetricsFrequency: flags.FlagToInt64Pointer(cmd, metricsFrequencyFlag), - MetricsPrefix: flags.FlagToStringPointer(cmd, metricsPrefixFlag), - SgwAcl: flags.FlagToStringSlicePointer(cmd, sgwAclFlag), - Syslog: flags.FlagToStringSlicePointer(cmd, syslogFlag), + InstanceName: flags.FlagToStringPointer(p, cmd, instanceNameFlag), + EnableMonitoring: flags.FlagToBoolPointer(p, cmd, enableMonitoringFlag), + MonitoringInstanceId: flags.FlagToStringPointer(p, cmd, monitoringInstanceIdFlag), + Graphite: flags.FlagToStringPointer(p, cmd, graphiteFlag), + MetricsFrequency: flags.FlagToInt64Pointer(p, cmd, metricsFrequencyFlag), + MetricsPrefix: flags.FlagToStringPointer(p, cmd, metricsPrefixFlag), + SgwAcl: flags.FlagToStringSlicePointer(p, cmd, sgwAclFlag), + Syslog: flags.FlagToStringSlicePointer(p, cmd, syslogFlag), PlanId: planId, PlanName: planName, Version: version, diff --git a/internal/cmd/redis/instance/create/create_test.go b/internal/cmd/redis/instance/create/create_test.go index b96d6a5f7..924460cd4 100644 --- a/internal/cmd/redis/instance/create/create_test.go +++ b/internal/cmd/redis/instance/create/create_test.go @@ -304,7 +304,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/redis/instance/delete/delete.go b/internal/cmd/redis/instance/delete/delete.go index 9f424d480..01ca6a7f7 100644 --- a/internal/cmd/redis/instance/delete/delete.go +++ b/internal/cmd/redis/instance/delete/delete.go @@ -41,7 +41,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -54,6 +54,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := redisUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -94,10 +95,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/redis/instance/delete/delete_test.go b/internal/cmd/redis/instance/delete/delete_test.go index e1e637428..9bd8fb11d 100644 --- a/internal/cmd/redis/instance/delete/delete_test.go +++ b/internal/cmd/redis/instance/delete/delete_test.go @@ -168,7 +168,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/redis/instance/describe/describe.go b/internal/cmd/redis/instance/describe/describe.go index 29631c017..238672eb2 100644 --- a/internal/cmd/redis/instance/describe/describe.go +++ b/internal/cmd/redis/instance/describe/describe.go @@ -45,7 +45,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -68,10 +68,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/redis/instance/describe/describe_test.go b/internal/cmd/redis/instance/describe/describe_test.go index d19561e30..d0a69f98d 100644 --- a/internal/cmd/redis/instance/describe/describe_test.go +++ b/internal/cmd/redis/instance/describe/describe_test.go @@ -168,7 +168,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/redis/instance/list/list.go b/internal/cmd/redis/instance/list/list.go index eac41d481..da0542071 100644 --- a/internal/cmd/redis/instance/list/list.go +++ b/internal/cmd/redis/instance/list/list.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -66,8 +66,9 @@ func NewCmd(p *print.Printer) *cobra.Command { } instances := *resp.Instances if len(instances) == 0 { - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } p.Info("No instances found for project %q\n", projectLabel) @@ -91,13 +92,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Int64(limitFlag, 0, "Maximum number of entries to list") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -107,7 +108,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - Limit: flags.FlagToInt64Pointer(cmd, limitFlag), + Limit: flags.FlagToInt64Pointer(p, cmd, limitFlag), }, nil } diff --git a/internal/cmd/redis/instance/list/list_test.go b/internal/cmd/redis/instance/list/list_test.go index 9a8ffc30b..f04edf436 100644 --- a/internal/cmd/redis/instance/list/list_test.go +++ b/internal/cmd/redis/instance/list/list_test.go @@ -138,7 +138,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/redis/instance/update/update.go b/internal/cmd/redis/instance/update/update.go index 3857e6fd3..076222ea2 100644 --- a/internal/cmd/redis/instance/update/update.go +++ b/internal/cmd/redis/instance/update/update.go @@ -69,7 +69,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -82,6 +82,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := redisUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -144,24 +145,24 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().String(versionFlag, "", "Instance Redis version") } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &cliErr.ProjectIdError{} } - enableMonitoring := flags.FlagToBoolPointer(cmd, enableMonitoringFlag) - monitoringInstanceId := flags.FlagToStringPointer(cmd, monitoringInstanceIdFlag) - graphite := flags.FlagToStringPointer(cmd, graphiteFlag) - metricsFrequency := flags.FlagToInt64Pointer(cmd, metricsFrequencyFlag) - metricsPrefix := flags.FlagToStringPointer(cmd, metricsPrefixFlag) - sgwAcl := flags.FlagToStringSlicePointer(cmd, sgwAclFlag) - syslog := flags.FlagToStringSlicePointer(cmd, syslogFlag) - planId := flags.FlagToStringPointer(cmd, planIdFlag) - planName := flags.FlagToStringValue(cmd, planNameFlag) - version := flags.FlagToStringValue(cmd, versionFlag) + enableMonitoring := flags.FlagToBoolPointer(p, cmd, enableMonitoringFlag) + monitoringInstanceId := flags.FlagToStringPointer(p, cmd, monitoringInstanceIdFlag) + graphite := flags.FlagToStringPointer(p, cmd, graphiteFlag) + metricsFrequency := flags.FlagToInt64Pointer(p, cmd, metricsFrequencyFlag) + metricsPrefix := flags.FlagToStringPointer(p, cmd, metricsPrefixFlag) + sgwAcl := flags.FlagToStringSlicePointer(p, cmd, sgwAclFlag) + syslog := flags.FlagToStringSlicePointer(p, cmd, syslogFlag) + planId := flags.FlagToStringPointer(p, cmd, planIdFlag) + planName := flags.FlagToStringValue(p, cmd, planNameFlag) + version := flags.FlagToStringValue(p, cmd, versionFlag) if planId != nil && (planName != "" || version != "") { return nil, &cliErr.DSAInputPlanError{ diff --git a/internal/cmd/redis/instance/update/update_test.go b/internal/cmd/redis/instance/update/update_test.go index 732158cd4..07eb331e3 100644 --- a/internal/cmd/redis/instance/update/update_test.go +++ b/internal/cmd/redis/instance/update/update_test.go @@ -328,7 +328,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/redis/plans/plans.go b/internal/cmd/redis/plans/plans.go index 18c043710..5834ebb0f 100644 --- a/internal/cmd/redis/plans/plans.go +++ b/internal/cmd/redis/plans/plans.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -66,8 +66,9 @@ func NewCmd(p *print.Printer) *cobra.Command { } plans := *resp.Offerings if len(plans) == 0 { - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } p.Info("No plans found for project %q\n", projectLabel) @@ -91,13 +92,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Int64(limitFlag, 0, "Maximum number of entries to list") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, diff --git a/internal/cmd/redis/plans/plans_test.go b/internal/cmd/redis/plans/plans_test.go index 43b6f9577..872386f44 100644 --- a/internal/cmd/redis/plans/plans_test.go +++ b/internal/cmd/redis/plans/plans_test.go @@ -138,7 +138,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/root.go b/internal/cmd/root.go index f7885bfb6..d72c61eac 100644 --- a/internal/cmd/root.go +++ b/internal/cmd/root.go @@ -44,10 +44,10 @@ func NewRootCmd(version, date string, p *print.Printer) *cobra.Command { DisableAutoGenTag: true, PersistentPreRun: func(cmd *cobra.Command, args []string) { p.Cmd = cmd - p.Verbosity = print.Level(globalflags.Parse(cmd).Verbosity) + p.Verbosity = print.Level(globalflags.Parse(p, cmd).Verbosity) }, RunE: func(cmd *cobra.Command, args []string) error { - if flags.FlagToBoolValue(cmd, "version") { + if flags.FlagToBoolValue(p, cmd, "version") { p.Outputf("STACKIT CLI (BETA)\n") parsedDate, err := time.Parse(time.RFC3339, date) @@ -131,6 +131,7 @@ func Execute(version, date string) { if err != nil { err := beautifyUnknownAndMissingCommandsError(cmd, err) p.Error(err.Error()) + p.Debug(print.ErrorLevel, "execute command: %v", err) os.Exit(1) } } diff --git a/internal/cmd/secrets-manager/instance/create/create.go b/internal/cmd/secrets-manager/instance/create/create.go index 7a6d80886..8d0539d33 100644 --- a/internal/cmd/secrets-manager/instance/create/create.go +++ b/internal/cmd/secrets-manager/instance/create/create.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -58,8 +58,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } @@ -107,16 +108,16 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &cliErr.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceName: flags.FlagToStringPointer(cmd, instanceNameFlag), - Acls: flags.FlagToStringSlicePointer(cmd, aclFlag), + InstanceName: flags.FlagToStringPointer(p, cmd, instanceNameFlag), + Acls: flags.FlagToStringSlicePointer(p, cmd, aclFlag), }, nil } diff --git a/internal/cmd/secrets-manager/instance/create/create_test.go b/internal/cmd/secrets-manager/instance/create/create_test.go index 76375bc58..a0c683046 100644 --- a/internal/cmd/secrets-manager/instance/create/create_test.go +++ b/internal/cmd/secrets-manager/instance/create/create_test.go @@ -216,7 +216,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/secrets-manager/instance/delete/delete.go b/internal/cmd/secrets-manager/instance/delete/delete.go index 42fff7fb4..71056b0ef 100644 --- a/internal/cmd/secrets-manager/instance/delete/delete.go +++ b/internal/cmd/secrets-manager/instance/delete/delete.go @@ -38,7 +38,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -51,6 +51,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := secretsmanagerUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -76,10 +77,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/secrets-manager/instance/delete/delete_test.go b/internal/cmd/secrets-manager/instance/delete/delete_test.go index 3fa907dfe..76cb22186 100644 --- a/internal/cmd/secrets-manager/instance/delete/delete_test.go +++ b/internal/cmd/secrets-manager/instance/delete/delete_test.go @@ -168,7 +168,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/secrets-manager/instance/describe/describe.go b/internal/cmd/secrets-manager/instance/describe/describe.go index bcfe42cbb..f54046574 100644 --- a/internal/cmd/secrets-manager/instance/describe/describe.go +++ b/internal/cmd/secrets-manager/instance/describe/describe.go @@ -44,7 +44,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -74,10 +74,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/secrets-manager/instance/describe/describe_test.go b/internal/cmd/secrets-manager/instance/describe/describe_test.go index 6ec20eb30..f6a20ffd5 100644 --- a/internal/cmd/secrets-manager/instance/describe/describe_test.go +++ b/internal/cmd/secrets-manager/instance/describe/describe_test.go @@ -176,7 +176,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/secrets-manager/instance/list/list.go b/internal/cmd/secrets-manager/instance/list/list.go index 57e6a5fe3..6a2481253 100644 --- a/internal/cmd/secrets-manager/instance/list/list.go +++ b/internal/cmd/secrets-manager/instance/list/list.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -66,8 +66,9 @@ func NewCmd(p *print.Printer) *cobra.Command { } if resp.Instances == nil || len(*resp.Instances) == 0 { - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } p.Info("No instances found for project %q\n", projectLabel) @@ -92,13 +93,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Int64(limitFlag, 0, "Maximum number of entries to list") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, diff --git a/internal/cmd/secrets-manager/instance/list/list_test.go b/internal/cmd/secrets-manager/instance/list/list_test.go index bc27b6ae4..fac95fa11 100644 --- a/internal/cmd/secrets-manager/instance/list/list_test.go +++ b/internal/cmd/secrets-manager/instance/list/list_test.go @@ -148,7 +148,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/secrets-manager/instance/update/update.go b/internal/cmd/secrets-manager/instance/update/update.go index 365477ea3..864afa60d 100644 --- a/internal/cmd/secrets-manager/instance/update/update.go +++ b/internal/cmd/secrets-manager/instance/update/update.go @@ -45,7 +45,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -58,6 +58,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := secretsManagerUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -88,15 +89,15 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Var(flags.CIDRSliceFlag(), aclFlag, "List of IP networks in CIDR notation which are allowed to access this instance") } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { instanceId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &cliErr.ProjectIdError{} } - acls := flags.FlagToStringSlicePointer(cmd, aclFlag) + acls := flags.FlagToStringSlicePointer(p, cmd, aclFlag) if acls == nil { return nil, &cliErr.EmptyUpdateError{} diff --git a/internal/cmd/secrets-manager/instance/update/update_test.go b/internal/cmd/secrets-manager/instance/update/update_test.go index fb858ebdc..6348a423a 100644 --- a/internal/cmd/secrets-manager/instance/update/update_test.go +++ b/internal/cmd/secrets-manager/instance/update/update_test.go @@ -238,7 +238,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/secrets-manager/user/create/create.go b/internal/cmd/secrets-manager/user/create/create.go index 35ea18110..da9d4597f 100644 --- a/internal/cmd/secrets-manager/user/create/create.go +++ b/internal/cmd/secrets-manager/user/create/create.go @@ -52,7 +52,7 @@ func NewCmd(p *print.Printer) *cobra.Command { Args: args.NoArgs, RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -65,6 +65,7 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := secretsManagerUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } @@ -106,17 +107,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), - Description: utils.Ptr(flags.FlagToStringValue(cmd, descriptionFlag)), - Write: utils.Ptr(flags.FlagToBoolValue(cmd, writeFlag)), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), + Description: utils.Ptr(flags.FlagToStringValue(p, cmd, descriptionFlag)), + Write: utils.Ptr(flags.FlagToBoolValue(p, cmd, writeFlag)), }, nil } diff --git a/internal/cmd/secrets-manager/user/create/create_test.go b/internal/cmd/secrets-manager/user/create/create_test.go index d88b94e2a..f4fa06f4c 100644 --- a/internal/cmd/secrets-manager/user/create/create_test.go +++ b/internal/cmd/secrets-manager/user/create/create_test.go @@ -177,7 +177,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/secrets-manager/user/delete/delete.go b/internal/cmd/secrets-manager/user/delete/delete.go index c2967c96b..3348e15b4 100644 --- a/internal/cmd/secrets-manager/user/delete/delete.go +++ b/internal/cmd/secrets-manager/user/delete/delete.go @@ -47,7 +47,7 @@ func NewCmd(p *print.Printer) *cobra.Command { Args: args.SingleArg(userIdArg, utils.ValidateUUID), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -60,11 +60,13 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := secretsManagerUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } userLabel, err := secretsManagerUtils.GetUserLabel(ctx, apiClient, model.ProjectId, model.InstanceId, model.UserId) if err != nil { + p.Debug(print.ErrorLevel, "get user label: %v", err) userLabel = fmt.Sprintf("%q", model.UserId) } @@ -98,17 +100,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { userId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), UserId: userId, }, nil } diff --git a/internal/cmd/secrets-manager/user/delete/delete_test.go b/internal/cmd/secrets-manager/user/delete/delete_test.go index 0b4605d6d..40d597efb 100644 --- a/internal/cmd/secrets-manager/user/delete/delete_test.go +++ b/internal/cmd/secrets-manager/user/delete/delete_test.go @@ -183,7 +183,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/secrets-manager/user/describe/describe.go b/internal/cmd/secrets-manager/user/describe/describe.go index c43fe6f08..ff6763c74 100644 --- a/internal/cmd/secrets-manager/user/describe/describe.go +++ b/internal/cmd/secrets-manager/user/describe/describe.go @@ -48,7 +48,7 @@ func NewCmd(p *print.Printer) *cobra.Command { Args: args.SingleArg(userIdArg, utils.ValidateUUID), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -81,17 +81,17 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { userId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), UserId: userId, }, nil } diff --git a/internal/cmd/secrets-manager/user/describe/describe_test.go b/internal/cmd/secrets-manager/user/describe/describe_test.go index e9c055f93..c694d672e 100644 --- a/internal/cmd/secrets-manager/user/describe/describe_test.go +++ b/internal/cmd/secrets-manager/user/describe/describe_test.go @@ -195,7 +195,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/secrets-manager/user/list/list.go b/internal/cmd/secrets-manager/user/list/list.go index d5d9440ca..6dc0c64a9 100644 --- a/internal/cmd/secrets-manager/user/list/list.go +++ b/internal/cmd/secrets-manager/user/list/list.go @@ -50,7 +50,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -70,6 +70,7 @@ func NewCmd(p *print.Printer) *cobra.Command { if resp.Users == nil || len(*resp.Users) == 0 { instanceLabel, err := secretsManagerUtils.GetInstanceName(ctx, apiClient, model.ProjectId, *model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = *model.InstanceId } p.Info("No users found for instance %q\n", instanceLabel) @@ -98,13 +99,13 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -114,8 +115,8 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringPointer(cmd, instanceIdFlag), - Limit: flags.FlagToInt64Pointer(cmd, limitFlag), + InstanceId: flags.FlagToStringPointer(p, cmd, instanceIdFlag), + Limit: flags.FlagToInt64Pointer(p, cmd, limitFlag), }, nil } diff --git a/internal/cmd/secrets-manager/user/list/list_test.go b/internal/cmd/secrets-manager/user/list/list_test.go index b3e764903..8a8bbb08f 100644 --- a/internal/cmd/secrets-manager/user/list/list_test.go +++ b/internal/cmd/secrets-manager/user/list/list_test.go @@ -155,7 +155,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/secrets-manager/user/update/update.go b/internal/cmd/secrets-manager/user/update/update.go index 53a711592..8f8bcb824 100644 --- a/internal/cmd/secrets-manager/user/update/update.go +++ b/internal/cmd/secrets-manager/user/update/update.go @@ -51,7 +51,7 @@ func NewCmd(p *print.Printer) *cobra.Command { Args: args.SingleArg(userIdArg, utils.ValidateUUID), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -64,11 +64,13 @@ func NewCmd(p *print.Printer) *cobra.Command { instanceLabel, err := secretsManagerUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId) if err != nil { + p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } userLabel, err := secretsManagerUtils.GetUserLabel(ctx, apiClient, model.ProjectId, model.InstanceId, model.UserId) if err != nil { + p.Debug(print.ErrorLevel, "get user label: %v", err) userLabel = fmt.Sprintf("%q", model.UserId) } @@ -111,16 +113,16 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { userId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - enableWrite := flags.FlagToBoolPointer(cmd, enableWriteFlag) - disableWrite := flags.FlagToBoolPointer(cmd, disableWriteFlag) + enableWrite := flags.FlagToBoolPointer(p, cmd, enableWriteFlag) + disableWrite := flags.FlagToBoolPointer(p, cmd, disableWriteFlag) if enableWrite == nil && disableWrite == nil { return nil, &errors.EmptyUpdateError{} @@ -128,7 +130,7 @@ func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - InstanceId: flags.FlagToStringValue(cmd, instanceIdFlag), + InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), EnableWrite: enableWrite, DisableWrite: disableWrite, UserId: userId, diff --git a/internal/cmd/secrets-manager/user/update/update_test.go b/internal/cmd/secrets-manager/user/update/update_test.go index 8d39b9c36..412e86dd7 100644 --- a/internal/cmd/secrets-manager/user/update/update_test.go +++ b/internal/cmd/secrets-manager/user/update/update_test.go @@ -227,7 +227,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flag groups: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/service-account/create/create.go b/internal/cmd/service-account/create/create.go index 39931160e..aa622af30 100644 --- a/internal/cmd/service-account/create/create.go +++ b/internal/cmd/service-account/create/create.go @@ -39,7 +39,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -50,8 +50,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } @@ -85,15 +86,15 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } return &inputModel{ GlobalFlagModel: globalFlags, - Name: flags.FlagToStringPointer(cmd, nameFlag), + Name: flags.FlagToStringPointer(p, cmd, nameFlag), }, nil } diff --git a/internal/cmd/service-account/create/create_test.go b/internal/cmd/service-account/create/create_test.go index 66c3da314..76880105e 100644 --- a/internal/cmd/service-account/create/create_test.go +++ b/internal/cmd/service-account/create/create_test.go @@ -139,7 +139,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/service-account/delete/delete.go b/internal/cmd/service-account/delete/delete.go index cb8b525c7..55b458e23 100644 --- a/internal/cmd/service-account/delete/delete.go +++ b/internal/cmd/service-account/delete/delete.go @@ -37,7 +37,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -73,10 +73,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { email := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/service-account/delete/delete_test.go b/internal/cmd/service-account/delete/delete_test.go index 8653abe86..0635db4e3 100644 --- a/internal/cmd/service-account/delete/delete_test.go +++ b/internal/cmd/service-account/delete/delete_test.go @@ -156,7 +156,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/service-account/key/create/create.go b/internal/cmd/service-account/key/create/create.go index d2efaa40f..a04b519e5 100644 --- a/internal/cmd/service-account/key/create/create.go +++ b/internal/cmd/service-account/key/create/create.go @@ -56,7 +56,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -110,13 +110,13 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - email := flags.FlagToStringValue(cmd, serviceAccountEmailFlag) + email := flags.FlagToStringValue(p, cmd, serviceAccountEmailFlag) if email == "" { return nil, &errors.FlagValidationError{ Flag: serviceAccountEmailFlag, @@ -124,7 +124,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { } } - expriresInDays := flags.FlagToInt64Pointer(cmd, expiredInDaysFlag) + expriresInDays := flags.FlagToInt64Pointer(p, cmd, expiredInDaysFlag) if expriresInDays != nil && *expriresInDays < 1 { return nil, &errors.FlagValidationError{ Flag: expiredInDaysFlag, @@ -136,7 +136,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { GlobalFlagModel: globalFlags, ServiceAccountEmail: email, ExpiresInDays: expriresInDays, - PublicKey: flags.FlagToStringPointer(cmd, publicKeyFlag), + PublicKey: flags.FlagToStringPointer(p, cmd, publicKeyFlag), }, nil } diff --git a/internal/cmd/service-account/key/create/create_test.go b/internal/cmd/service-account/key/create/create_test.go index 1a621d14b..33f0adf5e 100644 --- a/internal/cmd/service-account/key/create/create_test.go +++ b/internal/cmd/service-account/key/create/create_test.go @@ -164,7 +164,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/service-account/key/delete/delete.go b/internal/cmd/service-account/key/delete/delete.go index b438fc13d..a90e83e19 100644 --- a/internal/cmd/service-account/key/delete/delete.go +++ b/internal/cmd/service-account/key/delete/delete.go @@ -43,7 +43,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -85,15 +85,15 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { keyId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - email := flags.FlagToStringValue(cmd, serviceAccountEmailFlag) + email := flags.FlagToStringValue(p, cmd, serviceAccountEmailFlag) if email == "" { return nil, &errors.FlagValidationError{ Flag: serviceAccountEmailFlag, diff --git a/internal/cmd/service-account/key/delete/delete_test.go b/internal/cmd/service-account/key/delete/delete_test.go index 056e8c04c..50ae43fa2 100644 --- a/internal/cmd/service-account/key/delete/delete_test.go +++ b/internal/cmd/service-account/key/delete/delete_test.go @@ -179,7 +179,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/service-account/key/describe/describe.go b/internal/cmd/service-account/key/describe/describe.go index 18280e676..1d746437a 100644 --- a/internal/cmd/service-account/key/describe/describe.go +++ b/internal/cmd/service-account/key/describe/describe.go @@ -44,7 +44,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -75,15 +75,15 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { keyId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - email := flags.FlagToStringValue(cmd, serviceAccountEmailFlag) + email := flags.FlagToStringValue(p, cmd, serviceAccountEmailFlag) if email == "" { return nil, &errors.FlagValidationError{ Flag: serviceAccountEmailFlag, diff --git a/internal/cmd/service-account/key/describe/describe_test.go b/internal/cmd/service-account/key/describe/describe_test.go index 06797196d..f070a7efc 100644 --- a/internal/cmd/service-account/key/describe/describe_test.go +++ b/internal/cmd/service-account/key/describe/describe_test.go @@ -179,7 +179,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/service-account/key/list/list.go b/internal/cmd/service-account/key/list/list.go index 69c2b3667..e148f615e 100644 --- a/internal/cmd/service-account/key/list/list.go +++ b/internal/cmd/service-account/key/list/list.go @@ -49,7 +49,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -93,13 +93,13 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - email := flags.FlagToStringValue(cmd, serviceAccountEmailFlag) + email := flags.FlagToStringValue(p, cmd, serviceAccountEmailFlag) if email == "" { return nil, &errors.FlagValidationError{ Flag: serviceAccountEmailFlag, @@ -107,7 +107,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { } } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, diff --git a/internal/cmd/service-account/key/list/list_test.go b/internal/cmd/service-account/key/list/list_test.go index 574480c63..7750cc17a 100644 --- a/internal/cmd/service-account/key/list/list_test.go +++ b/internal/cmd/service-account/key/list/list_test.go @@ -148,7 +148,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/service-account/key/update/update.go b/internal/cmd/service-account/key/update/update.go index 2aeda0da6..b39cca63c 100644 --- a/internal/cmd/service-account/key/update/update.go +++ b/internal/cmd/service-account/key/update/update.go @@ -60,7 +60,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -109,15 +109,15 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { keyId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - email := flags.FlagToStringValue(cmd, serviceAccountEmailFlag) + email := flags.FlagToStringValue(p, cmd, serviceAccountEmailFlag) if email == "" { return nil, &errors.FlagValidationError{ Flag: serviceAccountEmailFlag, @@ -125,7 +125,7 @@ func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { } } - expriresInDays := flags.FlagToInt64Pointer(cmd, expiredInDaysFlag) + expriresInDays := flags.FlagToInt64Pointer(p, cmd, expiredInDaysFlag) if expriresInDays != nil && *expriresInDays < 1 { return nil, &errors.FlagValidationError{ Flag: expiredInDaysFlag, @@ -133,8 +133,8 @@ func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { } } - activate := flags.FlagToBoolValue(cmd, activateFlag) - deactivate := flags.FlagToBoolValue(cmd, deactivateFlag) + activate := flags.FlagToBoolValue(p, cmd, activateFlag) + deactivate := flags.FlagToBoolValue(p, cmd, deactivateFlag) if activate && deactivate { return nil, fmt.Errorf("only one of %q and %q can be set", activateFlag, deactivateFlag) } diff --git a/internal/cmd/service-account/key/update/update_test.go b/internal/cmd/service-account/key/update/update_test.go index 9e15d4d14..8e94fe764 100644 --- a/internal/cmd/service-account/key/update/update_test.go +++ b/internal/cmd/service-account/key/update/update_test.go @@ -226,7 +226,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/service-account/list/list.go b/internal/cmd/service-account/list/list.go index b9f3377c5..d41304913 100644 --- a/internal/cmd/service-account/list/list.go +++ b/internal/cmd/service-account/list/list.go @@ -41,7 +41,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -60,8 +60,9 @@ func NewCmd(p *print.Printer) *cobra.Command { } serviceAccounts := *resp.Items if len(serviceAccounts) == 0 { - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } p.Info("No service accounts found for project %q\n", projectLabel) @@ -85,13 +86,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Int64(limitFlag, 0, "Maximum number of entries to list") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -101,7 +102,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - Limit: flags.FlagToInt64Pointer(cmd, limitFlag), + Limit: flags.FlagToInt64Pointer(p, cmd, limitFlag), }, nil } diff --git a/internal/cmd/service-account/list/list_test.go b/internal/cmd/service-account/list/list_test.go index e853aad3d..37ccd4bc6 100644 --- a/internal/cmd/service-account/list/list_test.go +++ b/internal/cmd/service-account/list/list_test.go @@ -138,7 +138,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/service-account/token/create/create.go b/internal/cmd/service-account/token/create/create.go index 66f0ab53c..351f1544e 100644 --- a/internal/cmd/service-account/token/create/create.go +++ b/internal/cmd/service-account/token/create/create.go @@ -50,7 +50,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -95,13 +95,13 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - email := flags.FlagToStringValue(cmd, serviceAccountEmailFlag) + email := flags.FlagToStringValue(p, cmd, serviceAccountEmailFlag) if email == "" { return nil, &errors.FlagValidationError{ Flag: serviceAccountEmailFlag, @@ -109,7 +109,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { } } - ttlDays := flags.FlagWithDefaultToInt64Value(cmd, ttlDaysFlag) + ttlDays := flags.FlagWithDefaultToInt64Value(p, cmd, ttlDaysFlag) if ttlDays < 1 { return nil, &errors.FlagValidationError{ Flag: serviceAccountEmailFlag, diff --git a/internal/cmd/service-account/token/create/create_test.go b/internal/cmd/service-account/token/create/create_test.go index edaeca401..76c9d2a84 100644 --- a/internal/cmd/service-account/token/create/create_test.go +++ b/internal/cmd/service-account/token/create/create_test.go @@ -143,7 +143,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/service-account/token/list/list.go b/internal/cmd/service-account/token/list/list.go index cf9323ee0..d9162c679 100644 --- a/internal/cmd/service-account/token/list/list.go +++ b/internal/cmd/service-account/token/list/list.go @@ -53,7 +53,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -97,13 +97,13 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - email := flags.FlagToStringValue(cmd, serviceAccountEmailFlag) + email := flags.FlagToStringValue(p, cmd, serviceAccountEmailFlag) if email == "" { return nil, &errors.FlagValidationError{ Flag: serviceAccountEmailFlag, @@ -111,7 +111,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { } } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, diff --git a/internal/cmd/service-account/token/list/list_test.go b/internal/cmd/service-account/token/list/list_test.go index 2f577572f..472a23dac 100644 --- a/internal/cmd/service-account/token/list/list_test.go +++ b/internal/cmd/service-account/token/list/list_test.go @@ -148,7 +148,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/service-account/token/revoke/revoke.go b/internal/cmd/service-account/token/revoke/revoke.go index 3ce6f0ef7..5572eefaa 100644 --- a/internal/cmd/service-account/token/revoke/revoke.go +++ b/internal/cmd/service-account/token/revoke/revoke.go @@ -46,7 +46,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -88,15 +88,15 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { tokenId := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - email := flags.FlagToStringValue(cmd, serviceAccountEmailFlag) + email := flags.FlagToStringValue(p, cmd, serviceAccountEmailFlag) if email == "" { return nil, &errors.FlagValidationError{ Flag: serviceAccountEmailFlag, diff --git a/internal/cmd/service-account/token/revoke/revoke_test.go b/internal/cmd/service-account/token/revoke/revoke_test.go index 824f210d5..1bc62f194 100644 --- a/internal/cmd/service-account/token/revoke/revoke_test.go +++ b/internal/cmd/service-account/token/revoke/revoke_test.go @@ -179,7 +179,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/ske/cluster/create/create.go b/internal/cmd/ske/cluster/create/create.go index 26ced6182..05c5af178 100644 --- a/internal/cmd/ske/cluster/create/create.go +++ b/internal/cmd/ske/cluster/create/create.go @@ -61,7 +61,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -72,8 +72,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } @@ -147,15 +148,15 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Var(flags.ReadFromFileFlag(), payloadFlag, `Request payload (JSON). Can be a string or a file path, if prefixed with "@" (example: @./payload.json). If unset, will use a default payload (you can check it by running "stackit ske cluster generate-payload")`) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { clusterName := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - payloadValue := flags.FlagToStringPointer(cmd, payloadFlag) + payloadValue := flags.FlagToStringPointer(p, cmd, payloadFlag) var payload *ske.CreateOrUpdateClusterPayload if payloadValue != nil { payload = &ske.CreateOrUpdateClusterPayload{} diff --git a/internal/cmd/ske/cluster/create/create_test.go b/internal/cmd/ske/cluster/create/create_test.go index 2583bb864..9cddc018c 100644 --- a/internal/cmd/ske/cluster/create/create_test.go +++ b/internal/cmd/ske/cluster/create/create_test.go @@ -265,7 +265,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/ske/cluster/delete/delete.go b/internal/cmd/ske/cluster/delete/delete.go index 83e3c574e..e131f667c 100644 --- a/internal/cmd/ske/cluster/delete/delete.go +++ b/internal/cmd/ske/cluster/delete/delete.go @@ -39,7 +39,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -87,10 +87,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { clusterName := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/ske/cluster/delete/delete_test.go b/internal/cmd/ske/cluster/delete/delete_test.go index cb2d3aca0..ff54db6c2 100644 --- a/internal/cmd/ske/cluster/delete/delete_test.go +++ b/internal/cmd/ske/cluster/delete/delete_test.go @@ -156,7 +156,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/ske/cluster/describe/describe.go b/internal/cmd/ske/cluster/describe/describe.go index 0f6804914..3283fb706 100644 --- a/internal/cmd/ske/cluster/describe/describe.go +++ b/internal/cmd/ske/cluster/describe/describe.go @@ -42,7 +42,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -65,10 +65,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { clusterName := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/ske/cluster/describe/describe_test.go b/internal/cmd/ske/cluster/describe/describe_test.go index 833db3b0e..a2d468d44 100644 --- a/internal/cmd/ske/cluster/describe/describe_test.go +++ b/internal/cmd/ske/cluster/describe/describe_test.go @@ -156,7 +156,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/ske/cluster/generate-payload/generate_payload.go b/internal/cmd/ske/cluster/generate-payload/generate_payload.go index 195255455..f3e3cc87d 100644 --- a/internal/cmd/ske/cluster/generate-payload/generate_payload.go +++ b/internal/cmd/ske/cluster/generate-payload/generate_payload.go @@ -50,7 +50,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -94,10 +94,10 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().StringP(clusterNameFlag, "n", "", "If set, generates the payload with the current state of the given cluster. If unset, generates the payload with default values") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) - clusterName := flags.FlagToStringPointer(cmd, clusterNameFlag) + clusterName := flags.FlagToStringPointer(p, cmd, clusterNameFlag) // If clusterName is provided, projectId is needed as well if clusterName != nil && globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} diff --git a/internal/cmd/ske/cluster/generate-payload/generate_payload_test.go b/internal/cmd/ske/cluster/generate-payload/generate_payload_test.go index 0b5500dcd..da4fca653 100644 --- a/internal/cmd/ske/cluster/generate-payload/generate_payload_test.go +++ b/internal/cmd/ske/cluster/generate-payload/generate_payload_test.go @@ -142,7 +142,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/ske/cluster/list/list.go b/internal/cmd/ske/cluster/list/list.go index d9baa2dec..22d0043c2 100644 --- a/internal/cmd/ske/cluster/list/list.go +++ b/internal/cmd/ske/cluster/list/list.go @@ -48,7 +48,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -76,8 +76,9 @@ func NewCmd(p *print.Printer) *cobra.Command { } clusters := *resp.Items if len(clusters) == 0 { - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } p.Info("No clusters found for project %q\n", projectLabel) @@ -101,13 +102,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Int64(limitFlag, 0, "Maximum number of entries to list") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - limit := flags.FlagToInt64Pointer(cmd, limitFlag) + limit := flags.FlagToInt64Pointer(p, cmd, limitFlag) if limit != nil && *limit < 1 { return nil, &errors.FlagValidationError{ Flag: limitFlag, @@ -117,7 +118,7 @@ func parseInput(cmd *cobra.Command) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, - Limit: flags.FlagToInt64Pointer(cmd, limitFlag), + Limit: flags.FlagToInt64Pointer(p, cmd, limitFlag), }, nil } diff --git a/internal/cmd/ske/cluster/list/list_test.go b/internal/cmd/ske/cluster/list/list_test.go index 898de77e0..73bed5fcb 100644 --- a/internal/cmd/ske/cluster/list/list_test.go +++ b/internal/cmd/ske/cluster/list/list_test.go @@ -138,7 +138,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/ske/cluster/update/update.go b/internal/cmd/ske/cluster/update/update.go index cac74ea15..e7551accb 100644 --- a/internal/cmd/ske/cluster/update/update.go +++ b/internal/cmd/ske/cluster/update/update.go @@ -57,7 +57,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -123,15 +123,15 @@ func configureFlags(cmd *cobra.Command) { cobra.CheckErr(err) } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { clusterName := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - payloadString := flags.FlagToStringValue(cmd, payloadFlag) + payloadString := flags.FlagToStringValue(p, cmd, payloadFlag) var payload ske.CreateOrUpdateClusterPayload err := json.Unmarshal([]byte(payloadString), &payload) if err != nil { diff --git a/internal/cmd/ske/cluster/update/update_test.go b/internal/cmd/ske/cluster/update/update_test.go index 74e98972c..938a62308 100644 --- a/internal/cmd/ske/cluster/update/update_test.go +++ b/internal/cmd/ske/cluster/update/update_test.go @@ -245,7 +245,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/ske/credentials/complete-rotation/complete_rotation.go b/internal/cmd/ske/credentials/complete-rotation/complete_rotation.go index 335488e53..f5eb4a76d 100644 --- a/internal/cmd/ske/credentials/complete-rotation/complete_rotation.go +++ b/internal/cmd/ske/credentials/complete-rotation/complete_rotation.go @@ -56,7 +56,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -105,10 +105,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { clusterName := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/ske/credentials/complete-rotation/complete_rotation_test.go b/internal/cmd/ske/credentials/complete-rotation/complete_rotation_test.go index d90046e38..fb92f8750 100644 --- a/internal/cmd/ske/credentials/complete-rotation/complete_rotation_test.go +++ b/internal/cmd/ske/credentials/complete-rotation/complete_rotation_test.go @@ -156,7 +156,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/ske/credentials/describe/describe.go b/internal/cmd/ske/credentials/describe/describe.go index e53a8ca67..8f079496d 100644 --- a/internal/cmd/ske/credentials/describe/describe.go +++ b/internal/cmd/ske/credentials/describe/describe.go @@ -49,7 +49,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -82,10 +82,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { clusterName := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/ske/credentials/describe/describe_test.go b/internal/cmd/ske/credentials/describe/describe_test.go index 35dc8b801..b7e216874 100644 --- a/internal/cmd/ske/credentials/describe/describe_test.go +++ b/internal/cmd/ske/credentials/describe/describe_test.go @@ -156,7 +156,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/ske/credentials/rotate/rotate.go b/internal/cmd/ske/credentials/rotate/rotate.go index 652349336..78a933ddc 100644 --- a/internal/cmd/ske/credentials/rotate/rotate.go +++ b/internal/cmd/ske/credentials/rotate/rotate.go @@ -46,7 +46,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -94,10 +94,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { clusterName := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/ske/credentials/rotate/rotate_test.go b/internal/cmd/ske/credentials/rotate/rotate_test.go index e7d5713be..72af69428 100644 --- a/internal/cmd/ske/credentials/rotate/rotate_test.go +++ b/internal/cmd/ske/credentials/rotate/rotate_test.go @@ -156,7 +156,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/ske/credentials/start-rotation/start_rotation.go b/internal/cmd/ske/credentials/start-rotation/start_rotation.go index 154f15468..9fa12b7b6 100644 --- a/internal/cmd/ske/credentials/start-rotation/start_rotation.go +++ b/internal/cmd/ske/credentials/start-rotation/start_rotation.go @@ -59,7 +59,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -108,10 +108,10 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { clusterName := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/ske/credentials/start-rotation/start_rotation_test.go b/internal/cmd/ske/credentials/start-rotation/start_rotation_test.go index 763fb93b2..1170a35f9 100644 --- a/internal/cmd/ske/credentials/start-rotation/start_rotation_test.go +++ b/internal/cmd/ske/credentials/start-rotation/start_rotation_test.go @@ -156,7 +156,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/ske/describe/describe.go b/internal/cmd/ske/describe/describe.go index 5daff4193..9775418cc 100644 --- a/internal/cmd/ske/describe/describe.go +++ b/internal/cmd/ske/describe/describe.go @@ -34,7 +34,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -57,8 +57,8 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/ske/describe/describe_test.go b/internal/cmd/ske/describe/describe_test.go index 9f2407d44..c8fa3fa9c 100644 --- a/internal/cmd/ske/describe/describe_test.go +++ b/internal/cmd/ske/describe/describe_test.go @@ -119,7 +119,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/ske/disable/disable.go b/internal/cmd/ske/disable/disable.go index 4001ad275..c7380317a 100644 --- a/internal/cmd/ske/disable/disable.go +++ b/internal/cmd/ske/disable/disable.go @@ -35,7 +35,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -46,8 +46,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } @@ -88,8 +89,8 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command) (*InputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*InputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/ske/disable/disable_test.go b/internal/cmd/ske/disable/disable_test.go index 1d2831e0d..01b3de6e1 100644 --- a/internal/cmd/ske/disable/disable_test.go +++ b/internal/cmd/ske/disable/disable_test.go @@ -119,7 +119,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/ske/enable/enable.go b/internal/cmd/ske/enable/enable.go index 74b0cbd37..62a6302cd 100644 --- a/internal/cmd/ske/enable/enable.go +++ b/internal/cmd/ske/enable/enable.go @@ -35,7 +35,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -46,8 +46,9 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - projectLabel, err := projectname.GetProjectName(ctx, cmd, p) + projectLabel, err := projectname.GetProjectName(ctx, p, cmd) if err != nil { + p.Debug(print.ErrorLevel, "get project name: %v", err) projectLabel = model.ProjectId } @@ -88,8 +89,8 @@ func NewCmd(p *print.Printer) *cobra.Command { return cmd } -func parseInput(cmd *cobra.Command) (*InputModel, error) { - globalFlags := globalflags.Parse(cmd) +func parseInput(p *print.Printer, cmd *cobra.Command) (*InputModel, error) { + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } diff --git a/internal/cmd/ske/enable/enable_test.go b/internal/cmd/ske/enable/enable_test.go index 57505d7a0..1a7025295 100644 --- a/internal/cmd/ske/enable/enable_test.go +++ b/internal/cmd/ske/enable/enable_test.go @@ -119,7 +119,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/ske/kubeconfig/create/create.go b/internal/cmd/ske/kubeconfig/create/create.go index ed4eee242..3e8d29e38 100644 --- a/internal/cmd/ske/kubeconfig/create/create.go +++ b/internal/cmd/ske/kubeconfig/create/create.go @@ -58,7 +58,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd, args) + model, err := parseInput(p, cmd, args) if err != nil { return err } @@ -121,15 +121,15 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().String(filepathFlag, "", "Path to create the kubeconfig file. By default, the kubeconfig is created as 'config' in the .kube folder, in the user's home directory.") } -func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { +func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { clusterName := inputArgs[0] - globalFlags := globalflags.Parse(cmd) + globalFlags := globalflags.Parse(p, cmd) if globalFlags.ProjectId == "" { return nil, &errors.ProjectIdError{} } - expTime := flags.FlagToStringPointer(cmd, expirationFlag) + expTime := flags.FlagToStringPointer(p, cmd, expirationFlag) if expTime != nil { var err error @@ -145,7 +145,7 @@ func parseInput(cmd *cobra.Command, inputArgs []string) (*inputModel, error) { return &inputModel{ GlobalFlagModel: globalFlags, ClusterName: clusterName, - Filepath: flags.FlagToStringPointer(cmd, filepathFlag), + Filepath: flags.FlagToStringPointer(p, cmd, filepathFlag), ExpirationTime: expTime, }, nil } diff --git a/internal/cmd/ske/kubeconfig/create/create_test.go b/internal/cmd/ske/kubeconfig/create/create_test.go index 6326ed3b3..6700d528a 100644 --- a/internal/cmd/ske/kubeconfig/create/create_test.go +++ b/internal/cmd/ske/kubeconfig/create/create_test.go @@ -181,7 +181,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd, tt.argValues) + model, err := parseInput(nil, cmd, tt.argValues) if err != nil { if !tt.isValid { return diff --git a/internal/cmd/ske/options/options.go b/internal/cmd/ske/options/options.go index 57e02c19f..f1657a9e4 100644 --- a/internal/cmd/ske/options/options.go +++ b/internal/cmd/ske/options/options.go @@ -58,7 +58,7 @@ func NewCmd(p *print.Printer) *cobra.Command { ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() - model, err := parseInput(cmd) + model, err := parseInput(p, cmd) if err != nil { return err } @@ -91,13 +91,13 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Bool(volumeTypesFlag, false, "Lists supported volume types") } -func parseInput(cmd *cobra.Command) (*inputModel, error) { - globalFlags := globalflags.Parse(cmd) - availabilityZones := flags.FlagToBoolValue(cmd, availabilityZonesFlag) - kubernetesVersions := flags.FlagToBoolValue(cmd, kubernetesVersionsFlag) - machineImages := flags.FlagToBoolValue(cmd, machineImagesFlag) - machineTypes := flags.FlagToBoolValue(cmd, machineTypesFlag) - volumeTypes := flags.FlagToBoolValue(cmd, volumeTypesFlag) +func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { + globalFlags := globalflags.Parse(p, cmd) + availabilityZones := flags.FlagToBoolValue(p, cmd, availabilityZonesFlag) + kubernetesVersions := flags.FlagToBoolValue(p, cmd, kubernetesVersionsFlag) + machineImages := flags.FlagToBoolValue(p, cmd, machineImagesFlag) + machineTypes := flags.FlagToBoolValue(p, cmd, machineTypesFlag) + volumeTypes := flags.FlagToBoolValue(p, cmd, volumeTypesFlag) // If no flag was passed, take it as if every flag were passed if !availabilityZones && !kubernetesVersions && !machineImages && !machineTypes && !volumeTypes { diff --git a/internal/cmd/ske/options/options_test.go b/internal/cmd/ske/options/options_test.go index 05b1a50e0..f8df5cc06 100644 --- a/internal/cmd/ske/options/options_test.go +++ b/internal/cmd/ske/options/options_test.go @@ -140,7 +140,7 @@ func TestParseInput(t *testing.T) { t.Fatalf("error validating flags: %v", err) } - model, err := parseInput(cmd) + model, err := parseInput(nil, cmd) if err != nil { if !tt.isValid { return diff --git a/internal/pkg/auth/user_token_flow.go b/internal/pkg/auth/user_token_flow.go index 6c8ee0305..ab450d6f0 100644 --- a/internal/pkg/auth/user_token_flow.go +++ b/internal/pkg/auth/user_token_flow.go @@ -53,6 +53,8 @@ func (utf *userTokenFlow) RoundTrip(req *http.Request) (*http.Response, error) { err = refreshTokens(utf) if err == nil { accessTokenValid = true + } else { + utf.printer.Debug(print.ErrorLevel, "refresh access token: %v", err) } } diff --git a/internal/pkg/flags/flag_to_value.go b/internal/pkg/flags/flag_to_value.go index 15c3beea5..6385ba65a 100644 --- a/internal/pkg/flags/flag_to_value.go +++ b/internal/pkg/flags/flag_to_value.go @@ -5,13 +5,15 @@ import ( "time" "github.com/spf13/cobra" + "github.com/stackitcloud/stackit-cli/internal/pkg/print" ) // Returns the flag's value as a string. // Returns "" if the flag is not set, if its value can not be converted to string, or if the flag does not exist. -func FlagToStringValue(cmd *cobra.Command, flag string) string { +func FlagToStringValue(p *print.Printer, cmd *cobra.Command, flag string) string { value, err := cmd.Flags().GetString(flag) if err != nil { + p.Debug(print.ErrorLevel, "convert flag to string value: %v", err) return "" } if cmd.Flag(flag).Changed { @@ -22,9 +24,10 @@ func FlagToStringValue(cmd *cobra.Command, flag string) string { // Returns the flag's value as a bool. // Returns false if its value can not be converted to bool, or if the flag does not exist. -func FlagToBoolValue(cmd *cobra.Command, flag string) bool { +func FlagToBoolValue(p *print.Printer, cmd *cobra.Command, flag string) bool { value, err := cmd.Flags().GetBool(flag) if err != nil { + p.Debug(print.ErrorLevel, "convert flag to bool value: %v", err) return false } return value @@ -32,9 +35,10 @@ func FlagToBoolValue(cmd *cobra.Command, flag string) bool { // Returns the flag's value as a []string. // Returns nil if the flag is not set, if its value can not be converted to []string, or if the flag does not exist. -func FlagToStringSliceValue(cmd *cobra.Command, flag string) []string { +func FlagToStringSliceValue(p *print.Printer, cmd *cobra.Command, flag string) []string { value, err := cmd.Flags().GetStringSlice(flag) if err != nil { + p.Debug(print.ErrorLevel, "convert flag to string slice value: %v", err) return nil } if cmd.Flag(flag).Changed { @@ -45,9 +49,10 @@ func FlagToStringSliceValue(cmd *cobra.Command, flag string) []string { // Returns a pointer to the flag's value. // Returns nil if the flag is not set, if its value can not be converted to map[string]string, or if the flag does not exist. -func FlagToStringToStringPointer(cmd *cobra.Command, flag string) *map[string]string { //nolint:gocritic //convenient for setting the SDK payload +func FlagToStringToStringPointer(p *print.Printer, cmd *cobra.Command, flag string) *map[string]string { //nolint:gocritic //convenient for setting the SDK payload value, err := cmd.Flags().GetStringToString(flag) if err != nil { + p.Debug(print.ErrorLevel, "convert flag to string to string pointer: %v", err) return nil } if cmd.Flag(flag).Changed { @@ -58,9 +63,10 @@ func FlagToStringToStringPointer(cmd *cobra.Command, flag string) *map[string]st // Returns a pointer to the flag's value. // Returns nil if the flag is not set, if its value can not be converted to int64, or if the flag does not exist. -func FlagToInt64Pointer(cmd *cobra.Command, flag string) *int64 { +func FlagToInt64Pointer(p *print.Printer, cmd *cobra.Command, flag string) *int64 { value, err := cmd.Flags().GetInt64(flag) if err != nil { + p.Debug(print.ErrorLevel, "convert flag to Int64 pointer: %v", err) return nil } if cmd.Flag(flag).Changed { @@ -71,9 +77,10 @@ func FlagToInt64Pointer(cmd *cobra.Command, flag string) *int64 { // Returns a pointer to the flag's value. // Returns nil if the flag is not set, if its value can not be converted to string, or if the flag does not exist. -func FlagToStringPointer(cmd *cobra.Command, flag string) *string { +func FlagToStringPointer(p *print.Printer, cmd *cobra.Command, flag string) *string { value, err := cmd.Flags().GetString(flag) if err != nil { + p.Debug(print.ErrorLevel, "convert flag to string pointer: %v", err) return nil } if cmd.Flag(flag).Changed { @@ -84,9 +91,10 @@ func FlagToStringPointer(cmd *cobra.Command, flag string) *string { // Returns a pointer to the flag's value. // Returns nil if the flag is not set, if its value can not be converted to []string, or if the flag does not exist. -func FlagToStringSlicePointer(cmd *cobra.Command, flag string) *[]string { +func FlagToStringSlicePointer(p *print.Printer, cmd *cobra.Command, flag string) *[]string { value, err := cmd.Flags().GetStringSlice(flag) if err != nil { + p.Debug(print.ErrorLevel, "convert flag to string slice pointer: %v", err) return nil } if cmd.Flag(flag).Changed { @@ -97,9 +105,10 @@ func FlagToStringSlicePointer(cmd *cobra.Command, flag string) *[]string { // Returns a pointer to the flag's value. // Returns nil if the flag is not set, if its value can not be converted to bool, or if the flag does not exist. -func FlagToBoolPointer(cmd *cobra.Command, flag string) *bool { +func FlagToBoolPointer(p *print.Printer, cmd *cobra.Command, flag string) *bool { value, err := cmd.Flags().GetBool(flag) if err != nil { + p.Debug(print.ErrorLevel, "convert flag to bool pointer: %v", err) return nil } if cmd.Flag(flag).Changed { @@ -111,9 +120,10 @@ func FlagToBoolPointer(cmd *cobra.Command, flag string) *bool { // Returns a pointer to the flag's value. // Returns nil if the flag is not set, or if the flag does not exist. // Returns an error if its value can not be converted to a date time with the provided format. -func FlagToDateTimePointer(cmd *cobra.Command, flag, format string) (*time.Time, error) { +func FlagToDateTimePointer(p *print.Printer, cmd *cobra.Command, flag, format string) (*time.Time, error) { value, err := cmd.Flags().GetString(flag) if err != nil { + p.Debug(print.ErrorLevel, "convert flag to date-time pointer: %v", err) return nil, nil } @@ -129,9 +139,10 @@ func FlagToDateTimePointer(cmd *cobra.Command, flag, format string) (*time.Time, // Returns the int64 value set on the flag. If no value is set, returns the flag's default value. // Returns 0 if the flag value can not be converted to int64 or if the flag does not exist. -func FlagWithDefaultToInt64Value(cmd *cobra.Command, flag string) int64 { +func FlagWithDefaultToInt64Value(p *print.Printer, cmd *cobra.Command, flag string) int64 { value, err := cmd.Flags().GetInt64(flag) if err != nil { + p.Debug(print.ErrorLevel, "convert flag with default to Int64 value: %v", err) return 0 } return value @@ -139,9 +150,10 @@ func FlagWithDefaultToInt64Value(cmd *cobra.Command, flag string) int64 { // Returns the string value set on the flag. If no value is set, returns the flag's default value. // Returns nil if the flag value can not be converted to string or if the flag does not exist. -func FlagWithDefaultToStringValue(cmd *cobra.Command, flag string) string { +func FlagWithDefaultToStringValue(p *print.Printer, cmd *cobra.Command, flag string) string { value, err := cmd.Flags().GetString(flag) if err != nil { + p.Debug(print.ErrorLevel, "convert flag with default to string value: %v", err) return "" } return value @@ -149,9 +161,10 @@ func FlagWithDefaultToStringValue(cmd *cobra.Command, flag string) string { // Returns a pointer to the flag's value. If no value is set, returns the flag's default value. // Returns nil if the flag value can't be converted to []string or if the flag does not exist. -func FlagWithDefaultToStringSlicePointer(cmd *cobra.Command, flag string) *[]string { +func FlagWithDefaultToStringSlicePointer(p *print.Printer, cmd *cobra.Command, flag string) *[]string { value, err := cmd.Flags().GetStringSlice(flag) if err != nil { + p.Debug(print.ErrorLevel, "convert flag with default to string slice pointer: %v", err) return nil } return &value diff --git a/internal/pkg/flags/flags_test.go b/internal/pkg/flags/flags_test.go index 1e77f616b..982f300b6 100644 --- a/internal/pkg/flags/flags_test.go +++ b/internal/pkg/flags/flags_test.go @@ -101,7 +101,7 @@ func TestEnumFlag(t *testing.T) { if err != nil { t.Fatalf("failed on valid input: %v", err) } - value := FlagToStringValue(cmd, "test-flag") + value := FlagToStringValue(nil, cmd, "test-flag") if !tt.ignoreCase && value != tt.value { t.Fatalf("flag did not return set value") } @@ -320,7 +320,7 @@ func TestUUIDFlag(t *testing.T) { if err != nil { t.Fatalf("failed on valid input: %v", err) } - value := FlagToStringValue(cmd, "test-flag") + value := FlagToStringValue(nil, cmd, "test-flag") if value != tt.value { t.Fatalf("flag did not return set value") } @@ -427,7 +427,7 @@ func TestUUIDSliceFlag(t *testing.T) { if err2 != nil { t.Fatalf("failed on valid input: %v", err2) } - value := FlagToStringSliceValue(cmd, "test-flag") + value := FlagToStringSliceValue(nil, cmd, "test-flag") if !reflect.DeepEqual(tt.expectedValue, value) { t.Fatalf("flag did not return set value (expected %s, got %s)", tt.expectedValue, value) } @@ -531,7 +531,7 @@ func TestCIDRFlag(t *testing.T) { if err != nil { t.Fatalf("failed on valid input: %v", err) } - value := FlagToStringValue(cmd, "test-flag") + value := FlagToStringValue(nil, cmd, "test-flag") if value != tt.value { t.Fatalf("flag did not return set value") } @@ -642,7 +642,7 @@ func TestCIDRSliceFlag(t *testing.T) { if err2 != nil { t.Fatalf("failed on valid input: %v", err2) } - value := FlagToStringSliceValue(cmd, "test-flag") + value := FlagToStringSliceValue(nil, cmd, "test-flag") if !reflect.DeepEqual(tt.expectedValue, value) { t.Fatalf("flag did not return set value (expected %s, got %s)", tt.expectedValue, value) } @@ -741,7 +741,7 @@ func TestReadFromFileFlag(t *testing.T) { if err != nil { t.Fatalf("failed on valid input: %v", err) } - value := FlagToStringValue(cmd, "test-flag") + value := FlagToStringValue(nil, cmd, "test-flag") if value != tt.expectedValue { t.Fatalf("flag returned %q, expected %q", value, tt.expectedValue) } diff --git a/internal/pkg/globalflags/global_flags.go b/internal/pkg/globalflags/global_flags.go index 6a6aef335..786ddceba 100644 --- a/internal/pkg/globalflags/global_flags.go +++ b/internal/pkg/globalflags/global_flags.go @@ -71,10 +71,10 @@ func Configure(flagSet *pflag.FlagSet) error { return nil } -func Parse(cmd *cobra.Command) *GlobalFlagModel { +func Parse(p *print.Printer, cmd *cobra.Command) *GlobalFlagModel { return &GlobalFlagModel{ Async: viper.GetBool(config.AsyncKey), - AssumeYes: flags.FlagToBoolValue(cmd, AssumeYesFlag), + AssumeYes: flags.FlagToBoolValue(p, cmd, AssumeYesFlag), OutputFormat: viper.GetString(config.OutputFormatKey), ProjectId: viper.GetString(config.ProjectIdKey), Verbosity: viper.GetString(config.VerbosityKey), diff --git a/internal/pkg/print/print.go b/internal/pkg/print/print.go index 7cf7b0571..74b912ada 100644 --- a/internal/pkg/print/print.go +++ b/internal/pkg/print/print.go @@ -29,7 +29,7 @@ type Printer struct { // Creates a new printer, including setting up the default logger. func NewPrinter() *Printer { - logger := slog.New(slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{AddSource: true, Level: slog.LevelDebug})) + logger := slog.New(slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{AddSource: false, Level: slog.LevelDebug})) slog.SetDefault(logger) return &Printer{} @@ -51,15 +51,16 @@ func (p *Printer) Debug(level Level, msg string, args ...any) { if p.Verbosity != DebugLevel { return } + msg = fmt.Sprintf(msg, args...) switch level { case DebugLevel: - slog.Debug(msg, args...) + slog.Debug(msg) case InfoLevel: - slog.Info(msg, args...) + slog.Info(msg) case WarningLevel: - slog.Warn(msg, args...) + slog.Warn(msg) case ErrorLevel: - slog.Error(msg, args...) + slog.Error(msg) } } diff --git a/internal/pkg/projectname/project_name.go b/internal/pkg/projectname/project_name.go index 9f80da8ab..a258df6e1 100644 --- a/internal/pkg/projectname/project_name.go +++ b/internal/pkg/projectname/project_name.go @@ -17,9 +17,9 @@ import ( // Returns the project name associated to the project ID set in config // // Uses the one stored in config if it's valid, otherwise gets it from the API -func GetProjectName(ctx context.Context, cmd *cobra.Command, p *print.Printer) (string, error) { +func GetProjectName(ctx context.Context, p *print.Printer, cmd *cobra.Command) (string, error) { // If we can use the project name from config, return it - if useProjectNameFromConfig(cmd) { + if useProjectNameFromConfig(p, cmd) { return viper.GetString(config.ProjectNameKey), nil } @@ -41,7 +41,7 @@ func GetProjectName(ctx context.Context, cmd *cobra.Command, p *print.Printer) ( // If project ID is set in config, we store the project name in config // (So next time we can just pull it from there) - if !isProjectIdSetInFlags(cmd) { + if !isProjectIdSetInFlags(p, cmd) { viper.Set(config.ProjectNameKey, projectName) err = config.Write() if err != nil { @@ -53,11 +53,11 @@ func GetProjectName(ctx context.Context, cmd *cobra.Command, p *print.Printer) ( } // Returns True if project name from config should be used, False otherwise -func useProjectNameFromConfig(cmd *cobra.Command) bool { +func useProjectNameFromConfig(p *print.Printer, cmd *cobra.Command) bool { // We use the project name from the config file, if: // - Project id is not set to a different value than the one in the config file // - Project name in the config file is not empty - projectIdSet := isProjectIdSetInFlags(cmd) + projectIdSet := isProjectIdSetInFlags(p, cmd) projectName := viper.GetString(config.ProjectNameKey) projectNameSet := false if projectName != "" { @@ -66,11 +66,11 @@ func useProjectNameFromConfig(cmd *cobra.Command) bool { return !projectIdSet && projectNameSet } -func isProjectIdSetInFlags(cmd *cobra.Command) bool { +func isProjectIdSetInFlags(p *print.Printer, cmd *cobra.Command) bool { // FlagToStringPointer pulls the projectId from passed flags // viper.GetString uses the flags, and fallsback to config file // To check if projectId was passed, we use the first rather than the second - projectIdFromFlag := flags.FlagToStringPointer(cmd, globalflags.ProjectIdFlag) + projectIdFromFlag := flags.FlagToStringPointer(p, cmd, globalflags.ProjectIdFlag) projectIdSetInFlag := false if projectIdFromFlag != nil { projectIdSetInFlag = true diff --git a/internal/pkg/services/argus/client/client.go b/internal/pkg/services/argus/client/client.go index 44125b4ea..cf852d45f 100644 --- a/internal/pkg/services/argus/client/client.go +++ b/internal/pkg/services/argus/client/client.go @@ -18,6 +18,7 @@ func ConfigureClient(p *print.Printer) (*argus.APIClient, error) { authCfgOption, err := auth.AuthenticationConfig(p, auth.AuthorizeUser) if err != nil { + p.Debug(print.ErrorLevel, "configure authentication: %v", err) return nil, &errors.AuthError{} } cfgOptions = append(cfgOptions, authCfgOption, sdkConfig.WithRegion("eu01")) @@ -30,6 +31,7 @@ func ConfigureClient(p *print.Printer) (*argus.APIClient, error) { apiClient, err = argus.NewAPIClient(cfgOptions...) if err != nil { + p.Debug(print.ErrorLevel, "create new API client: %v", err) return nil, &errors.AuthError{} } diff --git a/internal/pkg/services/authorization/client/client.go b/internal/pkg/services/authorization/client/client.go index 41f268c94..b4f475da7 100644 --- a/internal/pkg/services/authorization/client/client.go +++ b/internal/pkg/services/authorization/client/client.go @@ -18,6 +18,7 @@ func ConfigureClient(p *print.Printer) (*authorization.APIClient, error) { authCfgOption, err := auth.AuthenticationConfig(p, auth.AuthorizeUser) if err != nil { + p.Debug(print.ErrorLevel, "configure authentication: %v", err) return nil, &errors.AuthError{} } cfgOptions = append(cfgOptions, authCfgOption) @@ -30,6 +31,7 @@ func ConfigureClient(p *print.Printer) (*authorization.APIClient, error) { apiClient, err = authorization.NewAPIClient(cfgOptions...) if err != nil { + p.Debug(print.ErrorLevel, "create new API client: %v", err) return nil, &errors.AuthError{} } diff --git a/internal/pkg/services/dns/client/client.go b/internal/pkg/services/dns/client/client.go index 9440f939c..6555222dd 100644 --- a/internal/pkg/services/dns/client/client.go +++ b/internal/pkg/services/dns/client/client.go @@ -18,6 +18,7 @@ func ConfigureClient(p *print.Printer) (*dns.APIClient, error) { authCfgOption, err := auth.AuthenticationConfig(p, auth.AuthorizeUser) if err != nil { + p.Debug(print.ErrorLevel, "configure authentication: %v", err) return nil, &errors.AuthError{} } cfgOptions = append(cfgOptions, authCfgOption) @@ -30,6 +31,7 @@ func ConfigureClient(p *print.Printer) (*dns.APIClient, error) { apiClient, err = dns.NewAPIClient(cfgOptions...) if err != nil { + p.Debug(print.ErrorLevel, "create new API client: %v", err) return nil, &errors.AuthError{} } diff --git a/internal/pkg/services/logme/client/client.go b/internal/pkg/services/logme/client/client.go index d701f1b10..36bcd8a15 100644 --- a/internal/pkg/services/logme/client/client.go +++ b/internal/pkg/services/logme/client/client.go @@ -18,6 +18,7 @@ func ConfigureClient(p *print.Printer) (*logme.APIClient, error) { authCfgOption, err := auth.AuthenticationConfig(p, auth.AuthorizeUser) if err != nil { + p.Debug(print.ErrorLevel, "configure authentication: %v", err) return nil, &errors.AuthError{} } cfgOptions = append(cfgOptions, authCfgOption, sdkConfig.WithRegion("eu01")) @@ -30,6 +31,7 @@ func ConfigureClient(p *print.Printer) (*logme.APIClient, error) { apiClient, err = logme.NewAPIClient(cfgOptions...) if err != nil { + p.Debug(print.ErrorLevel, "create new API client: %v", err) return nil, &errors.AuthError{} } diff --git a/internal/pkg/services/mariadb/client/client.go b/internal/pkg/services/mariadb/client/client.go index 01baa5193..06046a36d 100644 --- a/internal/pkg/services/mariadb/client/client.go +++ b/internal/pkg/services/mariadb/client/client.go @@ -18,6 +18,7 @@ func ConfigureClient(p *print.Printer) (*mariadb.APIClient, error) { authCfgOption, err := auth.AuthenticationConfig(p, auth.AuthorizeUser) if err != nil { + p.Debug(print.ErrorLevel, "configure authentication: %v", err) return nil, &errors.AuthError{} } cfgOptions = append(cfgOptions, authCfgOption, sdkConfig.WithRegion("eu01")) @@ -30,6 +31,7 @@ func ConfigureClient(p *print.Printer) (*mariadb.APIClient, error) { apiClient, err = mariadb.NewAPIClient(cfgOptions...) if err != nil { + p.Debug(print.ErrorLevel, "create new API client: %v", err) return nil, &errors.AuthError{} } diff --git a/internal/pkg/services/mongodbflex/client/client.go b/internal/pkg/services/mongodbflex/client/client.go index 4291cf753..77bec7c9b 100644 --- a/internal/pkg/services/mongodbflex/client/client.go +++ b/internal/pkg/services/mongodbflex/client/client.go @@ -18,6 +18,7 @@ func ConfigureClient(p *print.Printer) (*mongodbflex.APIClient, error) { authCfgOption, err := auth.AuthenticationConfig(p, auth.AuthorizeUser) if err != nil { + p.Debug(print.ErrorLevel, "configure authentication: %v", err) return nil, &errors.AuthError{} } cfgOptions = append(cfgOptions, authCfgOption, sdkConfig.WithRegion("eu01")) @@ -30,6 +31,7 @@ func ConfigureClient(p *print.Printer) (*mongodbflex.APIClient, error) { apiClient, err = mongodbflex.NewAPIClient(cfgOptions...) if err != nil { + p.Debug(print.ErrorLevel, "create new API client: %v", err) return nil, &errors.AuthError{} } diff --git a/internal/pkg/services/object-storage/client/client.go b/internal/pkg/services/object-storage/client/client.go index 8f7de8ed0..100db6111 100644 --- a/internal/pkg/services/object-storage/client/client.go +++ b/internal/pkg/services/object-storage/client/client.go @@ -18,6 +18,7 @@ func ConfigureClient(p *print.Printer) (*objectstorage.APIClient, error) { authCfgOption, err := auth.AuthenticationConfig(p, auth.AuthorizeUser) if err != nil { + p.Debug(print.ErrorLevel, "configure authentication: %v", err) return nil, &errors.AuthError{} } cfgOptions = append(cfgOptions, authCfgOption, sdkConfig.WithRegion("eu01")) @@ -30,6 +31,7 @@ func ConfigureClient(p *print.Printer) (*objectstorage.APIClient, error) { apiClient, err = objectstorage.NewAPIClient(cfgOptions...) if err != nil { + p.Debug(print.ErrorLevel, "create new API client: %v", err) return nil, &errors.AuthError{} } diff --git a/internal/pkg/services/opensearch/client/client.go b/internal/pkg/services/opensearch/client/client.go index f5679a88c..e18dc4d70 100644 --- a/internal/pkg/services/opensearch/client/client.go +++ b/internal/pkg/services/opensearch/client/client.go @@ -18,6 +18,7 @@ func ConfigureClient(p *print.Printer) (*opensearch.APIClient, error) { authCfgOption, err := auth.AuthenticationConfig(p, auth.AuthorizeUser) if err != nil { + p.Debug(print.ErrorLevel, "configure authentication: %v", err) return nil, &errors.AuthError{} } cfgOptions = append(cfgOptions, authCfgOption, sdkConfig.WithRegion("eu01")) @@ -30,6 +31,7 @@ func ConfigureClient(p *print.Printer) (*opensearch.APIClient, error) { apiClient, err = opensearch.NewAPIClient(cfgOptions...) if err != nil { + p.Debug(print.ErrorLevel, "create new API client: %v", err) return nil, &errors.AuthError{} } diff --git a/internal/pkg/services/postgresflex/client/client.go b/internal/pkg/services/postgresflex/client/client.go index c37181bf3..eb4d52960 100644 --- a/internal/pkg/services/postgresflex/client/client.go +++ b/internal/pkg/services/postgresflex/client/client.go @@ -18,6 +18,7 @@ func ConfigureClient(p *print.Printer) (*postgresflex.APIClient, error) { authCfgOption, err := auth.AuthenticationConfig(p, auth.AuthorizeUser) if err != nil { + p.Debug(print.ErrorLevel, "configure authentication: %v", err) return nil, &errors.AuthError{} } cfgOptions = append(cfgOptions, authCfgOption, sdkConfig.WithRegion("eu01")) @@ -30,6 +31,7 @@ func ConfigureClient(p *print.Printer) (*postgresflex.APIClient, error) { apiClient, err = postgresflex.NewAPIClient(cfgOptions...) if err != nil { + p.Debug(print.ErrorLevel, "create new API client: %v", err) return nil, &errors.AuthError{} } diff --git a/internal/pkg/services/rabbitmq/client/client.go b/internal/pkg/services/rabbitmq/client/client.go index 84e9fa583..0c82aa2cd 100644 --- a/internal/pkg/services/rabbitmq/client/client.go +++ b/internal/pkg/services/rabbitmq/client/client.go @@ -18,6 +18,7 @@ func ConfigureClient(p *print.Printer) (*rabbitmq.APIClient, error) { authCfgOption, err := auth.AuthenticationConfig(p, auth.AuthorizeUser) if err != nil { + p.Debug(print.ErrorLevel, "configure authentication: %v", err) return nil, &errors.AuthError{} } cfgOptions = append(cfgOptions, authCfgOption, sdkConfig.WithRegion("eu01")) @@ -30,6 +31,7 @@ func ConfigureClient(p *print.Printer) (*rabbitmq.APIClient, error) { apiClient, err = rabbitmq.NewAPIClient(cfgOptions...) if err != nil { + p.Debug(print.ErrorLevel, "create new API client: %v", err) return nil, &errors.AuthError{} } diff --git a/internal/pkg/services/redis/client/client.go b/internal/pkg/services/redis/client/client.go index e376cd150..58113d565 100644 --- a/internal/pkg/services/redis/client/client.go +++ b/internal/pkg/services/redis/client/client.go @@ -18,6 +18,7 @@ func ConfigureClient(p *print.Printer) (*redis.APIClient, error) { authCfgOption, err := auth.AuthenticationConfig(p, auth.AuthorizeUser) if err != nil { + p.Debug(print.ErrorLevel, "configure authentication: %v", err) return nil, &errors.AuthError{} } cfgOptions = append(cfgOptions, authCfgOption, sdkConfig.WithRegion("eu01")) @@ -30,6 +31,7 @@ func ConfigureClient(p *print.Printer) (*redis.APIClient, error) { apiClient, err = redis.NewAPIClient(cfgOptions...) if err != nil { + p.Debug(print.ErrorLevel, "create new API client: %v", err) return nil, &errors.AuthError{} } diff --git a/internal/pkg/services/resourcemanager/client/client.go b/internal/pkg/services/resourcemanager/client/client.go index 6e0158b07..a250411ba 100644 --- a/internal/pkg/services/resourcemanager/client/client.go +++ b/internal/pkg/services/resourcemanager/client/client.go @@ -18,6 +18,7 @@ func ConfigureClient(p *print.Printer) (*resourcemanager.APIClient, error) { authCfgOption, err := auth.AuthenticationConfig(p, auth.AuthorizeUser) if err != nil { + p.Debug(print.ErrorLevel, "configure authentication: %v", err) return nil, &errors.AuthError{} } cfgOptions = append(cfgOptions, authCfgOption) @@ -30,6 +31,7 @@ func ConfigureClient(p *print.Printer) (*resourcemanager.APIClient, error) { apiClient, err = resourcemanager.NewAPIClient(cfgOptions...) if err != nil { + p.Debug(print.ErrorLevel, "create new API client: %v", err) return nil, &errors.AuthError{} } diff --git a/internal/pkg/services/secrets-manager/client/client.go b/internal/pkg/services/secrets-manager/client/client.go index 712ead723..c5a380803 100644 --- a/internal/pkg/services/secrets-manager/client/client.go +++ b/internal/pkg/services/secrets-manager/client/client.go @@ -18,6 +18,7 @@ func ConfigureClient(p *print.Printer) (*secretsmanager.APIClient, error) { authCfgOption, err := auth.AuthenticationConfig(p, auth.AuthorizeUser) if err != nil { + p.Debug(print.ErrorLevel, "configure authentication: %v", err) return nil, &errors.AuthError{} } cfgOptions = append(cfgOptions, authCfgOption, sdkConfig.WithRegion("eu01")) @@ -30,6 +31,7 @@ func ConfigureClient(p *print.Printer) (*secretsmanager.APIClient, error) { apiClient, err = secretsmanager.NewAPIClient(cfgOptions...) if err != nil { + p.Debug(print.ErrorLevel, "create new API client: %v", err) return nil, &errors.AuthError{} } diff --git a/internal/pkg/services/service-account/client/client.go b/internal/pkg/services/service-account/client/client.go index a348cc896..984394f03 100644 --- a/internal/pkg/services/service-account/client/client.go +++ b/internal/pkg/services/service-account/client/client.go @@ -18,6 +18,7 @@ func ConfigureClient(p *print.Printer) (*serviceaccount.APIClient, error) { authCfgOption, err := auth.AuthenticationConfig(p, auth.AuthorizeUser) if err != nil { + p.Debug(print.ErrorLevel, "configure authentication: %v", err) return nil, &errors.AuthError{} } cfgOptions = append(cfgOptions, authCfgOption) @@ -30,6 +31,7 @@ func ConfigureClient(p *print.Printer) (*serviceaccount.APIClient, error) { apiClient, err = serviceaccount.NewAPIClient(cfgOptions...) if err != nil { + p.Debug(print.ErrorLevel, "create new API client: %v", err) return nil, &errors.AuthError{} } diff --git a/internal/pkg/services/ske/client/client.go b/internal/pkg/services/ske/client/client.go index 4397cdba7..9d5c26eb6 100644 --- a/internal/pkg/services/ske/client/client.go +++ b/internal/pkg/services/ske/client/client.go @@ -18,6 +18,7 @@ func ConfigureClient(p *print.Printer) (*ske.APIClient, error) { authCfgOption, err := auth.AuthenticationConfig(p, auth.AuthorizeUser) if err != nil { + p.Debug(print.ErrorLevel, "configure authentication: %v", err) return nil, &errors.AuthError{} } cfgOptions = append(cfgOptions, authCfgOption) @@ -31,6 +32,7 @@ func ConfigureClient(p *print.Printer) (*ske.APIClient, error) { apiClient, err = ske.NewAPIClient(cfgOptions...) if err != nil { + p.Debug(print.ErrorLevel, "create new API client: %v", err) return nil, &errors.AuthError{} }