Skip to content

Commit c433739

Browse files
committed
feat(credentials): code cleanup
1 parent 5d990e4 commit c433739

File tree

5 files changed

+4
-404
lines changed

5 files changed

+4
-404
lines changed

internal/cmd/beta/alb/credentials/create/create.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ type inputModel struct {
3737
func NewCmd(p *print.Printer) *cobra.Command {
3838
cmd := &cobra.Command{
3939
Use: "create",
40-
Short: "Creates credentials",
41-
Long: "Creates credentials.",
40+
Short: "Creates a credential",
41+
Long: "Creates a credential.",
4242
Args: cobra.NoArgs,
4343
Example: examples.Build(
4444
examples.NewExample(
@@ -65,7 +65,7 @@ func NewCmd(p *print.Printer) *cobra.Command {
6565
}
6666

6767
if !model.AssumeYes {
68-
prompt := "Are your sure you want to create credentials?"
68+
prompt := "Are your sure you want to create a credential?"
6969
err = p.PromptForConfirmation(prompt)
7070
if err != nil {
7171
return err
@@ -76,7 +76,7 @@ func NewCmd(p *print.Printer) *cobra.Command {
7676
req := buildRequest(ctx, model, apiClient)
7777
resp, err := req.Execute()
7878
if err != nil {
79-
return fmt.Errorf("create credentials: %w", err)
79+
return fmt.Errorf("create credential: %w", err)
8080
}
8181

8282
return outputResult(p, model.GlobalFlagModel.OutputFormat, resp)

internal/cmd/beta/alb/list/list.go

Lines changed: 0 additions & 178 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
<<<<<<< HEAD
21
package list
32

43
import (
@@ -177,180 +176,3 @@ func outputResult(p *print.Printer, outputFormat string, items []alb.LoadBalance
177176
return nil
178177
}
179178
}
180-
||||||| parent of db5dfa32 (feat(alb): list command)
181-
=======
182-
package list
183-
184-
import (
185-
"context"
186-
"encoding/json"
187-
"fmt"
188-
189-
"github.com/goccy/go-yaml"
190-
"github.com/spf13/cobra"
191-
"github.com/stackitcloud/stackit-cli/internal/pkg/args"
192-
"github.com/stackitcloud/stackit-cli/internal/pkg/errors"
193-
"github.com/stackitcloud/stackit-cli/internal/pkg/examples"
194-
"github.com/stackitcloud/stackit-cli/internal/pkg/flags"
195-
"github.com/stackitcloud/stackit-cli/internal/pkg/globalflags"
196-
"github.com/stackitcloud/stackit-cli/internal/pkg/print"
197-
"github.com/stackitcloud/stackit-cli/internal/pkg/projectname"
198-
"github.com/stackitcloud/stackit-cli/internal/pkg/services/alb/client"
199-
"github.com/stackitcloud/stackit-cli/internal/pkg/tables"
200-
"github.com/stackitcloud/stackit-cli/internal/pkg/utils"
201-
"github.com/stackitcloud/stackit-sdk-go/services/alb"
202-
)
203-
204-
type inputModel struct {
205-
*globalflags.GlobalFlagModel
206-
Limit *int64
207-
}
208-
209-
const (
210-
labelSelectorFlag = "label-selector"
211-
limitFlag = "limit"
212-
)
213-
214-
func NewCmd(p *print.Printer) *cobra.Command {
215-
cmd := &cobra.Command{
216-
Use: "list",
217-
Short: "Lists albs",
218-
Long: "Lists application load balancers.",
219-
Args: args.NoArgs,
220-
Example: examples.Build(
221-
examples.NewExample(
222-
`List all load balancers`,
223-
`$ stackit beta alb list`,
224-
),
225-
examples.NewExample(
226-
`List the first 10 application load balancers`,
227-
`$ stackit beta alb list --limit=10`,
228-
),
229-
),
230-
RunE: func(cmd *cobra.Command, _ []string) error {
231-
ctx := context.Background()
232-
model, err := parseInput(p, cmd)
233-
if err != nil {
234-
return err
235-
}
236-
237-
// Configure API client
238-
apiClient, err := client.ConfigureClient(p)
239-
if err != nil {
240-
return err
241-
}
242-
243-
projectLabel, err := projectname.GetProjectName(ctx, p, cmd)
244-
if err != nil {
245-
p.Debug(print.ErrorLevel, "get project name: %v", err)
246-
projectLabel = model.ProjectId
247-
} else if projectLabel == "" {
248-
projectLabel = model.ProjectId
249-
}
250-
251-
// Call API
252-
request := buildRequest(ctx, model, apiClient)
253-
254-
response, err := request.Execute()
255-
if err != nil {
256-
return fmt.Errorf("list load balancerse: %w", err)
257-
}
258-
259-
if items := response.LoadBalancers; items != nil && len(*items) == 0 {
260-
p.Info("No load balancers found for project %q", projectLabel)
261-
} else {
262-
if model.Limit != nil && len(*items) > int(*model.Limit) {
263-
*items = (*items)[:*model.Limit]
264-
}
265-
if err := outputResult(p, model.OutputFormat, *items); err != nil {
266-
return fmt.Errorf("output loadbalancers: %w", err)
267-
}
268-
}
269-
270-
return nil
271-
},
272-
}
273-
274-
configureFlags(cmd)
275-
return cmd
276-
}
277-
278-
func configureFlags(cmd *cobra.Command) {
279-
cmd.Flags().Int64(limitFlag, 0, "Limit the output to the first n elements")
280-
}
281-
282-
func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) {
283-
globalFlags := globalflags.Parse(p, cmd)
284-
if globalFlags.ProjectId == "" {
285-
return nil, &errors.ProjectIdError{}
286-
}
287-
288-
limit := flags.FlagToInt64Pointer(p, cmd, limitFlag)
289-
if limit != nil && *limit < 1 {
290-
return nil, &errors.FlagValidationError{
291-
Flag: limitFlag,
292-
Details: "must be greater than 0",
293-
}
294-
}
295-
296-
model := inputModel{
297-
GlobalFlagModel: globalFlags,
298-
Limit: limit,
299-
}
300-
301-
if p.IsVerbosityDebug() {
302-
modelStr, err := print.BuildDebugStrFromInputModel(model)
303-
if err != nil {
304-
p.Debug(print.ErrorLevel, "convert model to string for debugging: %v", err)
305-
} else {
306-
p.Debug(print.DebugLevel, "parsed input values: %s", modelStr)
307-
}
308-
}
309-
310-
return &model, nil
311-
}
312-
313-
func buildRequest(ctx context.Context, model *inputModel, apiClient *alb.APIClient) alb.ApiListLoadBalancersRequest {
314-
request := apiClient.ListLoadBalancers(ctx, model.ProjectId, model.Region)
315-
316-
return request
317-
}
318-
func outputResult(p *print.Printer, outputFormat string, items []alb.LoadBalancer) error {
319-
switch outputFormat {
320-
case print.JSONOutputFormat:
321-
details, err := json.MarshalIndent(items, "", " ")
322-
if err != nil {
323-
return fmt.Errorf("marshal loadbalancer list: %w", err)
324-
}
325-
p.Outputln(string(details))
326-
327-
return nil
328-
case print.YAMLOutputFormat:
329-
details, err := yaml.MarshalWithOptions(items, yaml.IndentSequence(true), yaml.UseJSONMarshaler())
330-
if err != nil {
331-
return fmt.Errorf("marshal loadbalancer list: %w", err)
332-
}
333-
p.Outputln(string(details))
334-
335-
return nil
336-
default:
337-
table := tables.NewTable()
338-
table.SetHeader("NAME", "EXTERNAL ADDRESS", "REGION", "STATUS", "VERSION")
339-
for _, item := range items {
340-
table.AddRow(utils.PtrString(item.Name),
341-
utils.PtrString(item.ExternalAddress),
342-
utils.PtrString(item.Region),
343-
utils.PtrString(item.Status),
344-
utils.PtrString(item.Version),
345-
utils.PtrString(item.ExternalAddress),
346-
)
347-
}
348-
err := table.Display(p)
349-
if err != nil {
350-
return fmt.Errorf("render table: %w", err)
351-
}
352-
353-
return nil
354-
}
355-
}
356-
>>>>>>> db5dfa32 (feat(alb): list command)

0 commit comments

Comments
 (0)