Skip to content

Commit 3dd7ebd

Browse files
committed
order volume deletion success messages for golden consistency
1 parent 43c9d53 commit 3dd7ebd

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

internal/namespaces/instance/v1/custom_server_action.go

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"errors"
66
"fmt"
77
"reflect"
8+
"sort"
89
"strings"
910

1011
"github.com/scaleway/scaleway-cli/v2/core"
@@ -396,7 +397,9 @@ func serverTerminateCommand() *core.Command {
396397
_, _ = interactive.Printf("successfully detached volume %s\n", volumeName)
397398
}
398399
} else {
399-
for _, volume := range server.Server.Volumes {
400+
successMessages := make(map[string]string)
401+
402+
for index, volume := range server.Server.Volumes {
400403
if volume.VolumeType != instance.VolumeServerVolumeTypeSbsVolume {
401404
continue
402405
}
@@ -428,8 +431,11 @@ func serverTerminateCommand() *core.Command {
428431
if err != nil {
429432
return nil, fmt.Errorf("failed to delete block volume %s: %w", blockVolume.Name, err)
430433
}
431-
_, _ = interactive.Printf("successfully deleted block volume %q\n", blockVolume.Name)
434+
435+
successMessages[index] = fmt.Sprintf("successfully deleted block volume %q", blockVolume.Name)
432436
}
437+
438+
printSuccessMessagesInOrder(successMessages)
433439
}
434440

435441
if _, err := api.ServerAction(&instance.ServerActionRequest{
@@ -493,6 +499,19 @@ func shouldDeleteBlockVolumes(
493499
}
494500
}
495501

502+
// printSuccessMessagesInOrder prints volume deletion messages ordered by volume map key "0", "1", "2",...
503+
func printSuccessMessagesInOrder(messages map[string]string) {
504+
indexes := []string(nil)
505+
for index := range messages {
506+
indexes = append(indexes, index)
507+
}
508+
sort.Strings(indexes)
509+
510+
for _, index := range indexes {
511+
_, _ = interactive.Println(messages[index])
512+
}
513+
}
514+
496515
type instanceUniqueActionRequest struct {
497516
Zone scw.Zone
498517
ServerID string

0 commit comments

Comments
 (0)