Skip to content

Commit 96e2492

Browse files
committed
change --details flag handling
1 parent ff7220b commit 96e2492

File tree

4 files changed

+29
-45
lines changed

4 files changed

+29
-45
lines changed

docs/stackit_beta_server_list.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@ stackit beta server list [flags]
1919
Lists all servers which contains the label xxx
2020
$ stackit beta server list --label-selector xxx
2121
22-
Lists all servers with detailed information
23-
$ stackit beta server list --details
24-
2522
Lists all servers in JSON format
2623
$ stackit beta server list --output-format json
2724
@@ -32,7 +29,6 @@ stackit beta server list [flags]
3229
### Options
3330

3431
```
35-
--details Show detailed information about server
3632
-h, --help Help for "stackit beta server list"
3733
--label-selector string Filter by label
3834
--limit int Maximum number of entries to list

internal/cmd/beta/server/describe/describe.go

Lines changed: 29 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ func NewCmd(p *print.Printer) *cobra.Command {
7373
return fmt.Errorf("read server: %w", err)
7474
}
7575

76-
return outputResult(p, model.OutputFormat, resp)
76+
return outputResult(p, model, resp)
7777
},
7878
}
7979
configureFlags(cmd)
@@ -120,7 +120,9 @@ func buildRequest(ctx context.Context, model *inputModel, apiClient *iaas.APICli
120120
return req
121121
}
122122

123-
func outputResult(p *print.Printer, outputFormat string, server *iaas.Server) error {
123+
func outputResult(p *print.Printer, model *inputModel, server *iaas.Server) error {
124+
outputFormat := model.OutputFormat
125+
124126
switch outputFormat {
125127
case print.JSONOutputFormat:
126128
details, err := json.MarshalIndent(server, "", " ")
@@ -173,32 +175,43 @@ func outputResult(p *print.Printer, outputFormat string, server *iaas.Server) er
173175
table.AddSeparator()
174176
}
175177

176-
if server.Nics != nil && len(*server.Nics) > 0 {
177-
nics := []string{}
178-
for _, nic := range *server.Nics {
179-
nics = append(nics, *nic.NicId)
180-
}
181-
table.AddRow("NICS", strings.Join(nics, "\n"))
182-
}
183-
184178
if server.Labels != nil && len(*server.Labels) > 0 {
185179
labels := []string{}
186180
for key, value := range *server.Labels {
187181
labels = append(labels, fmt.Sprintf("%s: %s", key, value))
188182
}
189183
table.AddRow("LABELS", strings.Join(labels, "\n"))
190-
}
191-
192-
if server.ServiceAccountMails != nil && len(*server.ServiceAccountMails) > 0 {
193-
emails := []string{}
194-
emails = append(emails, *server.ServiceAccountMails...)
195-
table.AddRow("SERVICE ACCOUNTS", strings.Join(emails, "\n"))
184+
table.AddSeparator()
196185
}
197186

198187
if server.Volumes != nil && len(*server.Volumes) > 0 {
199188
volumes := []string{}
200189
volumes = append(volumes, *server.Volumes...)
201190
table.AddRow("VOLUMES", strings.Join(volumes, "\n"))
191+
table.AddSeparator()
192+
}
193+
194+
if model.Details {
195+
if server.ServiceAccountMails != nil && len(*server.ServiceAccountMails) > 0 {
196+
emails := []string{}
197+
emails = append(emails, *server.ServiceAccountMails...)
198+
table.AddRow("SERVICE ACCOUNTS", strings.Join(emails, "\n"))
199+
table.AddSeparator()
200+
}
201+
202+
if server.Nics != nil && len(*server.Nics) > 0 {
203+
nics := []string{}
204+
for _, nic := range *server.Nics {
205+
nics = append(nics, *nic.NicId)
206+
}
207+
table.AddRow("NICS", strings.Join(nics, "\n"))
208+
table.AddSeparator()
209+
}
210+
211+
if server.UserData != nil {
212+
table.AddRow("USER DATA", *server.UserData)
213+
table.AddSeparator()
214+
}
202215
}
203216

204217
err := table.Display(p)

internal/cmd/beta/server/list/list.go

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,12 @@ import (
2323
const (
2424
limitFlag = "limit"
2525
labelSelectorFlag = "label-selector"
26-
detailsFlag = "details"
2726
)
2827

2928
type inputModel struct {
3029
*globalflags.GlobalFlagModel
3130
Limit *int64
3231
LabelSelector *string
33-
Details bool
3432
}
3533

3634
func NewCmd(p *print.Printer) *cobra.Command {
@@ -48,10 +46,6 @@ func NewCmd(p *print.Printer) *cobra.Command {
4846
`Lists all servers which contains the label xxx`,
4947
"$ stackit beta server list --label-selector xxx",
5048
),
51-
examples.NewExample(
52-
`Lists all servers with detailed information`,
53-
"$ stackit beta server list --details",
54-
),
5549
examples.NewExample(
5650
`Lists all servers in JSON format`,
5751
"$ stackit beta server list --output-format json",
@@ -107,7 +101,6 @@ func NewCmd(p *print.Printer) *cobra.Command {
107101
func configureFlags(cmd *cobra.Command) {
108102
cmd.Flags().Int64(limitFlag, 0, "Maximum number of entries to list")
109103
cmd.Flags().String(labelSelectorFlag, "", "Filter by label")
110-
cmd.Flags().Bool(detailsFlag, false, "Show detailed information about server")
111104
}
112105

113106
func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) {
@@ -128,7 +121,6 @@ func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) {
128121
GlobalFlagModel: globalFlags,
129122
Limit: limit,
130123
LabelSelector: flags.FlagToStringPointer(p, cmd, labelSelectorFlag),
131-
Details: flags.FlagToBoolValue(p, cmd, detailsFlag),
132124
}
133125

134126
if p.IsVerbosityDebug() {
@@ -149,10 +141,6 @@ func buildRequest(ctx context.Context, model *inputModel, apiClient *iaas.APICli
149141
req = req.LabelSelector(*model.LabelSelector)
150142
}
151143

152-
if model.Details {
153-
req = req.Details(true)
154-
}
155-
156144
return req
157145
}
158146

internal/cmd/beta/server/list/list_test.go

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]st
2828
projectIdFlag: testProjectId,
2929
limitFlag: "10",
3030
labelSelectorFlag: testLabelSelector,
31-
detailsFlag: "true",
3231
}
3332
for _, mod := range mods {
3433
mod(flagValues)
@@ -44,7 +43,6 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
4443
},
4544
Limit: utils.Ptr(int64(10)),
4645
LabelSelector: utils.Ptr(testLabelSelector),
47-
Details: true,
4846
}
4947
for _, mod := range mods {
5048
mod(model)
@@ -55,7 +53,6 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
5553
func fixtureRequest(mods ...func(request *iaas.ApiListServersRequest)) iaas.ApiListServersRequest {
5654
request := testClient.ListServers(testCtx, testProjectId)
5755
request = request.LabelSelector(testLabelSelector)
58-
request = request.Details(true)
5956
for _, mod := range mods {
6057
mod(&request)
6158
}
@@ -130,16 +127,6 @@ func TestParseInput(t *testing.T) {
130127
model.LabelSelector = utils.Ptr("")
131128
}),
132129
},
133-
{
134-
description: "details flag false",
135-
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
136-
flagValues[detailsFlag] = "false"
137-
}),
138-
isValid: true,
139-
expectedModel: fixtureInputModel(func(model *inputModel) {
140-
model.Details = false
141-
}),
142-
},
143130
}
144131

145132
for _, tt := range tests {

0 commit comments

Comments
 (0)