5
5
package cli
6
6
7
7
import (
8
- "os "
8
+ "github.com/scaleway/scaleway-cli/vendor/github.com/Sirupsen/logrus "
9
9
10
- log "github.com/scaleway/scaleway-cli/vendor/github.com/Sirupsen/logrus"
11
-
12
- "github.com/scaleway/scaleway-cli/pkg/api"
13
- "github.com/scaleway/scaleway-cli/pkg/utils"
10
+ "github.com/scaleway/scaleway-cli/pkg/commands"
14
11
)
15
12
16
13
var cmdLogs = & Command {
@@ -29,39 +26,21 @@ func init() {
29
26
var logsHelp bool // -h, --help flag
30
27
var logsGateway string // -g, --gateway flag
31
28
32
- func runLogs (cmd * Command , args []string ) {
29
+ func runLogs (cmd * Command , rawArgs []string ) {
33
30
if logsHelp {
34
31
cmd .PrintUsage ()
35
32
}
36
- if len (args ) != 1 {
33
+ if len (rawArgs ) != 1 {
37
34
cmd .PrintShortUsage ()
38
35
}
39
36
40
- serverID := cmd .API .GetServerID (args [0 ])
41
- server , err := cmd .API .GetServer (serverID )
42
- if err != nil {
43
- log .Fatalf ("Failed to get server information for %s: %v" , serverID , err )
37
+ args := commands.LogsArgs {
38
+ Gateway : logsGateway ,
39
+ Server : rawArgs [0 ],
44
40
}
45
-
46
- // FIXME: switch to serial history when API is ready
47
-
48
- // Resolve gateway
49
- if logsGateway == "" {
50
- logsGateway = os .Getenv ("SCW_GATEWAY" )
51
- }
52
- var gateway string
53
- if logsGateway == serverID || logsGateway == args [0 ] {
54
- gateway = ""
55
- } else {
56
- gateway , err = api .ResolveGateway (cmd .API , logsGateway )
57
- if err != nil {
58
- log .Fatalf ("Cannot resolve Gateway '%s': %v" , logsGateway , err )
59
- }
60
- }
61
-
62
- command := []string {"dmesg" }
63
- err = utils .SSHExec (server .PublicAddress .IP , server .PrivateIP , command , true , gateway )
41
+ ctx := cmd .GetContext (rawArgs )
42
+ err := commands .RunLogs (ctx , args )
64
43
if err != nil {
65
- log .Fatalf ("Command execution failed : %v" , err )
44
+ logrus .Fatalf ("Cannot execute 'logs' : %v" , err )
66
45
}
67
46
}
0 commit comments