File tree 2 files changed +45
-21
lines changed
2 files changed +45
-21
lines changed Original file line number Diff line number Diff line change 5
5
package cli
6
6
7
7
import (
8
- "fmt"
9
- "os"
10
-
11
- log "github.com/scaleway/scaleway-cli/vendor/github.com/Sirupsen/logrus"
8
+ "github.com/scaleway/scaleway-cli/pkg/commands"
9
+ "github.com/scaleway/scaleway-cli/vendor/github.com/Sirupsen/logrus"
12
10
)
13
11
14
12
var cmdRmi = & Command {
@@ -29,29 +27,20 @@ func init() {
29
27
// Flags
30
28
var rmiHelp bool // -h, --help flag
31
29
32
- func runRmi (cmd * Command , args []string ) {
30
+ func runRmi (cmd * Command , rawArgs []string ) {
33
31
if rmiHelp {
34
32
cmd .PrintUsage ()
35
33
}
36
- if len (args ) < 1 {
34
+ if len (rawArgs ) < 1 {
37
35
cmd .PrintShortUsage ()
38
36
}
39
37
40
- if len (args ) == 0 {
41
- log .Fatalf ("usage: scw %s" , cmd .UsageLine )
42
- }
43
- hasError := false
44
- for _ , needle := range args {
45
- image := cmd .API .GetImageID (needle , true )
46
- err := cmd .API .DeleteImage (image )
47
- if err != nil {
48
- log .Errorf ("failed to delete image %s: %s" , image , err )
49
- hasError = true
50
- } else {
51
- fmt .Println (needle )
52
- }
38
+ args := commands.RmiArgs {
39
+ Images : rawArgs ,
53
40
}
54
- if hasError {
55
- os .Exit (1 )
41
+ ctx := cmd .GetContext (rawArgs )
42
+ err := commands .RunRmi (ctx , args )
43
+ if err != nil {
44
+ logrus .Fatalf ("Cannot execute 'rmi': %v" , err )
56
45
}
57
46
}
Original file line number Diff line number Diff line change
1
+ // Copyright (C) 2015 Scaleway. All rights reserved.
2
+ // Use of this source code is governed by a MIT-style
3
+ // license that can be found in the LICENSE.md file.
4
+
5
+ package commands
6
+
7
+ import (
8
+ "fmt"
9
+
10
+ "github.com/scaleway/scaleway-cli/vendor/github.com/Sirupsen/logrus"
11
+ )
12
+
13
+ // RmiArgs are flags for the `RunRmi` function
14
+ type RmiArgs struct {
15
+ Images []string
16
+ }
17
+
18
+ // RunRmi is the handler for 'scw rmi'
19
+ func RunRmi (ctx CommandContext , args RmiArgs ) error {
20
+ hasError := false
21
+ for _ , needle := range args .Images {
22
+ image := ctx .API .GetImageID (needle , true )
23
+ err := ctx .API .DeleteImage (image )
24
+ if err != nil {
25
+ logrus .Errorf ("failed to delete image %s: %s" , image , err )
26
+ hasError = true
27
+ } else {
28
+ fmt .Fprintln (ctx .Stdout , needle )
29
+ }
30
+ }
31
+ if hasError {
32
+ return fmt .Errorf ("at least 1 image failed to be removed" )
33
+ }
34
+ return nil
35
+ }
You can’t perform that action at this time.
0 commit comments