diff --git a/src/client/cmdLogin/login.go b/src/client/cmdLogin/login.go index d2960f7ec95aea2950f94388e9bce4d88412df22..382fb3b1ff8f2736398536739761bb62557d99b2 100644 --- a/src/client/cmdLogin/login.go +++ b/src/client/cmdLogin/login.go @@ -3,9 +3,9 @@ package cmdLogin import ( "encoding/json" "errors" - g "nexus-client/globals" u "nexus-client/utils" "nexus-common/params" + g "nexus-libclient/globals" "syscall" "golang.org/x/term" diff --git a/src/client/cmdTemplate/templateCreate.go b/src/client/cmdTemplate/templateCreate.go index 44eda68690e17ad2c7d1181c6632f9493ef2a6fc..92eb10934eb653f0267eec98226299a74424f9c6 100644 --- a/src/client/cmdTemplate/templateCreate.go +++ b/src/client/cmdTemplate/templateCreate.go @@ -1,9 +1,9 @@ package cmdTemplate import ( - g "nexus-client/globals" u "nexus-client/utils" "nexus-common/params" + g "nexus-libclient/globals" "github.com/go-resty/resty/v2" "github.com/google/uuid" diff --git a/src/client/cmdTemplate/templateDel.go b/src/client/cmdTemplate/templateDel.go index b1a7be6cd2201e59b2a4d27603c3b8c3fa3fbf10..e5bbd494541bb7c814192c975ef5a2ff6eb9bde9 100644 --- a/src/client/cmdTemplate/templateDel.go +++ b/src/client/cmdTemplate/templateDel.go @@ -1,8 +1,8 @@ package cmdTemplate import ( - g "nexus-client/globals" u "nexus-client/utils" + g "nexus-libclient/globals" ) type Del struct { diff --git a/src/client/cmdTemplate/templateEdit.go b/src/client/cmdTemplate/templateEdit.go index a8b4f0579142aaa8ba106b1762c9a58d0f16a8a9..c770bb5b3fced7cc2866b3bb7f9338d15c009747 100644 --- a/src/client/cmdTemplate/templateEdit.go +++ b/src/client/cmdTemplate/templateEdit.go @@ -2,9 +2,9 @@ package cmdTemplate import ( "errors" - g "nexus-client/globals" u "nexus-client/utils" "nexus-common/params" + g "nexus-libclient/globals" "strings" ) diff --git a/src/client/cmdTemplate/templateExportDisk.go b/src/client/cmdTemplate/templateExportDisk.go index e8b9d4e303803ba57369f4400e73ca6508a9ecdf..abea4af778b93ad2d0bae2eafbff16092974ac8a 100644 --- a/src/client/cmdTemplate/templateExportDisk.go +++ b/src/client/cmdTemplate/templateExportDisk.go @@ -1,8 +1,8 @@ package cmdTemplate import ( - g "nexus-client/globals" u "nexus-client/utils" + g "nexus-libclient/globals" ) type ExportDisk struct { diff --git a/src/client/cmdUser/userAdd.go b/src/client/cmdUser/userAdd.go index bb3973a693aaa97aea6c9c3e830acd6c3b41588f..0dbdc6eb5365f825dfb19078ee3ea1b495d00db1 100644 --- a/src/client/cmdUser/userAdd.go +++ b/src/client/cmdUser/userAdd.go @@ -4,10 +4,10 @@ import ( "encoding/csv" "errors" "io" - g "nexus-client/globals" u "nexus-client/utils" "nexus-common/caps" "nexus-common/params" + g "nexus-libclient/globals" "os" "strings" ) diff --git a/src/client/cmdUser/userDel.go b/src/client/cmdUser/userDel.go index b32dd2f84b2d75c1929223ca67c5b0d42d9c53fc..6ea96fa612289f6463589ff42cd3e13228a0517d 100644 --- a/src/client/cmdUser/userDel.go +++ b/src/client/cmdUser/userDel.go @@ -4,8 +4,8 @@ import ( "encoding/csv" "errors" "io" - g "nexus-client/globals" u "nexus-client/utils" + g "nexus-libclient/globals" "os" ) diff --git a/src/client/cmdUser/userList.go b/src/client/cmdUser/userList.go index e66f11971c40a35e6391d37efaea876669f520b9..196d19e65f3f6b5b60877dcef46c0f09174f7d75 100644 --- a/src/client/cmdUser/userList.go +++ b/src/client/cmdUser/userList.go @@ -2,9 +2,9 @@ package cmdUser import ( "fmt" - g "nexus-client/globals" u "nexus-client/utils" "nexus-common/params" + g "nexus-libclient/globals" "regexp" "strings" ) diff --git a/src/client/cmdUser/userResetPwd.go b/src/client/cmdUser/userResetPwd.go index 772dd77afc24398fe97ec1d60246a3d505d4470b..27441341844c69415b6c4882d3c9620e123f4003 100644 --- a/src/client/cmdUser/userResetPwd.go +++ b/src/client/cmdUser/userResetPwd.go @@ -2,8 +2,8 @@ package cmdUser import ( "errors" - g "nexus-client/globals" u "nexus-client/utils" + g "nexus-libclient/globals" ) type ResetPwd struct { diff --git a/src/client/cmdUser/userSetCaps.go b/src/client/cmdUser/userSetCaps.go index 61e76d2a851f1d5532299b28ec8773c7473e57d5..1fde3d16f9f162e8f557469f61c96a7bdbd19694 100644 --- a/src/client/cmdUser/userSetCaps.go +++ b/src/client/cmdUser/userSetCaps.go @@ -4,10 +4,10 @@ import ( "encoding/csv" "errors" "io" - g "nexus-client/globals" u "nexus-client/utils" "nexus-common/caps" "nexus-common/params" + g "nexus-libclient/globals" "os" "strings" ) diff --git a/src/client/cmdUser/userUnlock.go b/src/client/cmdUser/userUnlock.go index 5725307148ae5909f33ee52eb122d3e5fc34b114..219d307668e16888f8c68ad9531eb6dd0fda3840 100644 --- a/src/client/cmdUser/userUnlock.go +++ b/src/client/cmdUser/userUnlock.go @@ -2,8 +2,8 @@ package cmdUser import ( "errors" - g "nexus-client/globals" u "nexus-client/utils" + g "nexus-libclient/globals" ) type Unlock struct { diff --git a/src/client/cmdUser/userUpdatePwd.go b/src/client/cmdUser/userUpdatePwd.go index 3dc52be685906cdb0ee5241d66f74813ce2c0783..4c6e38d05eb4fe01b8bf30cb574fdb03c79888c3 100644 --- a/src/client/cmdUser/userUpdatePwd.go +++ b/src/client/cmdUser/userUpdatePwd.go @@ -2,9 +2,9 @@ package cmdUser import ( "bytes" - g "nexus-client/globals" u "nexus-client/utils" "nexus-common/params" + g "nexus-libclient/globals" "golang.org/x/crypto/ssh/terminal" ) diff --git a/src/client/cmdUser/userWhoami.go b/src/client/cmdUser/userWhoami.go index 5b36fbafb872b6ad619f0336e684a5fe406c29d2..3af8624736bfa3a6b14346d4852bcb2f632ba5c6 100644 --- a/src/client/cmdUser/userWhoami.go +++ b/src/client/cmdUser/userWhoami.go @@ -1,8 +1,8 @@ package cmdUser import ( - g "nexus-client/globals" u "nexus-client/utils" + g "nexus-libclient/globals" ) type Whoami struct { diff --git a/src/client/cmdVM/attachHelper.go b/src/client/cmdVM/attachHelper.go index 6a99cf9bea809e6ae252c8643c2e20868a0590cd..f607e0dbbe05b93b5fd322298242dfcbb97bc1e4 100644 --- a/src/client/cmdVM/attachHelper.go +++ b/src/client/cmdVM/attachHelper.go @@ -5,10 +5,10 @@ import ( "errors" "fmt" "nexus-client/exec" - g "nexus-client/globals" u "nexus-client/utils" "nexus-common/params" "nexus-common/vm" + g "nexus-libclient/globals" "sync" "github.com/go-playground/validator/v10" diff --git a/src/client/cmdVM/helper.go b/src/client/cmdVM/helper.go index 9aab884885efc1309669a482217d431ce671c143..5ffd553a4b422fead99b806554a03af7320edda4 100644 --- a/src/client/cmdVM/helper.go +++ b/src/client/cmdVM/helper.go @@ -4,9 +4,9 @@ import ( "encoding/json" "errors" "nexus-client/cmd" - g "nexus-client/globals" u "nexus-client/utils" "nexus-common/vm" + g "nexus-libclient/globals" "regexp" "strings" diff --git a/src/client/cmdVM/vmAddAccess.go b/src/client/cmdVM/vmAddAccess.go index 947eb7acf61402c541a4a13b8b9e3e20e972af52..d53c59dc1397f8a4525bb7d9f13fd608824f672a 100644 --- a/src/client/cmdVM/vmAddAccess.go +++ b/src/client/cmdVM/vmAddAccess.go @@ -5,10 +5,10 @@ import ( "errors" "io" "net/mail" - g "nexus-client/globals" u "nexus-client/utils" "nexus-common/caps" "nexus-common/params" + g "nexus-libclient/globals" "os" "strings" ) diff --git a/src/client/cmdVM/vmAttachAsyncSingle.go b/src/client/cmdVM/vmAttachAsyncSingle.go index bc17e8f34954b9825fb550617a8b05a7467a8deb..f088d1ed721c3c2f8228ac13c585ae3dc630c839 100644 --- a/src/client/cmdVM/vmAttachAsyncSingle.go +++ b/src/client/cmdVM/vmAttachAsyncSingle.go @@ -2,9 +2,9 @@ package cmdVM import ( "nexus-client/exec" - g "nexus-client/globals" u "nexus-client/utils" "nexus-common/vm" + g "nexus-libclient/globals" ) type AttachAsyncSingle struct { diff --git a/src/client/cmdVM/vmAttachFromPwd.go b/src/client/cmdVM/vmAttachFromPwd.go index 9d1ed6b506db0ca0e7c92244510fb3f4afd17323..d3e1fb895a769d59ddc3dcafcbdd726278bb9b0a 100644 --- a/src/client/cmdVM/vmAttachFromPwd.go +++ b/src/client/cmdVM/vmAttachFromPwd.go @@ -4,10 +4,10 @@ import ( "encoding/json" "nexus-client/exec" e "nexus-client/exec" - g "nexus-client/globals" u "nexus-client/utils" "nexus-common/params" "nexus-common/vm" + g "nexus-libclient/globals" "github.com/go-playground/validator/v10" ) diff --git a/src/client/cmdVM/vmCreate.go b/src/client/cmdVM/vmCreate.go index bbfb41532142b9ca6a5e24df03449793410d2d2b..38198dcd67fe1575fea4eb26c50a1ac74914e740 100644 --- a/src/client/cmdVM/vmCreate.go +++ b/src/client/cmdVM/vmCreate.go @@ -2,10 +2,10 @@ package cmdVM import ( "fmt" - g "nexus-client/globals" u "nexus-client/utils" "nexus-common/params" "nexus-common/vm" + g "nexus-libclient/globals" "strconv" "github.com/google/uuid" diff --git a/src/client/cmdVM/vmCreds2csv.go b/src/client/cmdVM/vmCreds2csv.go index a46719afc2d59d9478ff71a15966bd0c25186f08..5474cd93ecd6fb582128322905e91698b3c275a0 100644 --- a/src/client/cmdVM/vmCreds2csv.go +++ b/src/client/cmdVM/vmCreds2csv.go @@ -2,8 +2,8 @@ package cmdVM import ( "fmt" - g "nexus-client/globals" u "nexus-client/utils" + g "nexus-libclient/globals" "os" ) diff --git a/src/client/cmdVM/vmDel.go b/src/client/cmdVM/vmDel.go index c788dea8206b9c73c3fb60da4c7c40b9c9c42bd0..5251c0f8f50a69c5050c6026910f6c22d1d41039 100644 --- a/src/client/cmdVM/vmDel.go +++ b/src/client/cmdVM/vmDel.go @@ -1,8 +1,8 @@ package cmdVM import ( - g "nexus-client/globals" u "nexus-client/utils" + g "nexus-libclient/globals" ) type Del struct { diff --git a/src/client/cmdVM/vmDelAccess.go b/src/client/cmdVM/vmDelAccess.go index cf14dc4769e681b6694ac8dc57b1a4fb0f1c1865..c830076c842276134409766c75f72a18a7449cd5 100644 --- a/src/client/cmdVM/vmDelAccess.go +++ b/src/client/cmdVM/vmDelAccess.go @@ -5,8 +5,8 @@ import ( "errors" "io" "net/mail" - g "nexus-client/globals" u "nexus-client/utils" + g "nexus-libclient/globals" "os" ) diff --git a/src/client/cmdVM/vmEdit.go b/src/client/cmdVM/vmEdit.go index 1beae87611af987a2fe4124ab3d38bc0d779f47c..0a1cf1ae8322c7222e7fbf05bfc619727e6b5b6a 100644 --- a/src/client/cmdVM/vmEdit.go +++ b/src/client/cmdVM/vmEdit.go @@ -2,10 +2,10 @@ package cmdVM import ( "errors" - g "nexus-client/globals" u "nexus-client/utils" "nexus-common/params" "nexus-common/vm" + g "nexus-libclient/globals" "strconv" "strings" ) diff --git a/src/client/cmdVM/vmExportDir.go b/src/client/cmdVM/vmExportDir.go index ccb30e28dd46a47ba62e64ed5b85cfe0f52af13f..61b5521c8643cfdbcf43dc05028a9f29b1330fe7 100644 --- a/src/client/cmdVM/vmExportDir.go +++ b/src/client/cmdVM/vmExportDir.go @@ -1,9 +1,9 @@ package cmdVM import ( - g "nexus-client/globals" u "nexus-client/utils" "nexus-common/params" + g "nexus-libclient/globals" ) type ExportDir struct { diff --git a/src/client/cmdVM/vmImportDir.go b/src/client/cmdVM/vmImportDir.go index 60db0a65e2d967ad465790b9d93fe57b1ca58bed..3e04a94454ae855488cd3739c9423c2d341f24eb 100644 --- a/src/client/cmdVM/vmImportDir.go +++ b/src/client/cmdVM/vmImportDir.go @@ -1,8 +1,8 @@ package cmdVM import ( - g "nexus-client/globals" u "nexus-client/utils" + g "nexus-libclient/globals" "os" ) diff --git a/src/client/cmdVM/vmListSingle.go b/src/client/cmdVM/vmListSingle.go index 3c08662b621947148977b996e9062b808888d688..f8f35d5db841442ef2cd688064ec9b846f451b33 100644 --- a/src/client/cmdVM/vmListSingle.go +++ b/src/client/cmdVM/vmListSingle.go @@ -1,8 +1,8 @@ package cmdVM import ( - g "nexus-client/globals" u "nexus-client/utils" + g "nexus-libclient/globals" ) type ListSingle struct { diff --git a/src/client/cmdVM/vmReboot.go b/src/client/cmdVM/vmReboot.go index ff7b1c44159dc5f9f4b30129573eb43209a9eba1..6faee7114f35d225683e395c15943ad99733eaa2 100644 --- a/src/client/cmdVM/vmReboot.go +++ b/src/client/cmdVM/vmReboot.go @@ -1,8 +1,8 @@ package cmdVM import ( - g "nexus-client/globals" u "nexus-client/utils" + g "nexus-libclient/globals" ) type Reboot struct { diff --git a/src/client/cmdVM/vmShutdown.go b/src/client/cmdVM/vmShutdown.go index 214fdb373aeae819e4e93f0232344682d6f36cda..e7108cb54a549c4a7e5f780bf3b5650cc2f4e232 100644 --- a/src/client/cmdVM/vmShutdown.go +++ b/src/client/cmdVM/vmShutdown.go @@ -1,8 +1,8 @@ package cmdVM import ( - g "nexus-client/globals" u "nexus-client/utils" + g "nexus-libclient/globals" ) type Shutdown struct { diff --git a/src/client/cmdVM/vmStart.go b/src/client/cmdVM/vmStart.go index 5963e2188ecec4e3c7949b5c78f71b591e917231..f556b3a3107e5a02e1ff7bac98b76f091e41e5c2 100644 --- a/src/client/cmdVM/vmStart.go +++ b/src/client/cmdVM/vmStart.go @@ -1,68 +1,68 @@ package cmdVM import ( - u "nexus-client/utils" - g "nexus-client/globals" + u "nexus-client/utils" + g "nexus-libclient/globals" ) type Start struct { - Name string + Name string } -func (cmd *Start)GetName() string { - return cmd.Name +func (cmd *Start) GetName() string { + return cmd.Name } -func (cmd *Start)GetDesc() []string { - return []string{ - "Starts one or more VMs.", - "If not the VM's owner: requires VM_START VM access capability or VM_START_ANY user capability."} +func (cmd *Start) GetDesc() []string { + return []string{ + "Starts one or more VMs.", + "If not the VM's owner: requires VM_START VM access capability or VM_START_ANY user capability."} } -func (cmd *Start)PrintUsage() { - printRegexUsage(cmd) - printRegexUsageDetails() +func (cmd *Start) PrintUsage() { + printRegexUsage(cmd) + printRegexUsageDetails() } -func (cmd *Start)Run(args []string) int { - client := g.GetInstance().Client - host := g.GetInstance().Host +func (cmd *Start) Run(args []string) int { + client := g.GetInstance().Client + host := g.GetInstance().Host - argc := len(args) - if argc < 1 { - cmd.PrintUsage() - return 1 - } + argc := len(args) + if argc < 1 { + cmd.PrintUsage() + return 1 + } - vms, err := getFilteredVMs("/vms/start", args) - if err != nil { - u.PrintlnErr(err.Error()) - return 1 - } + vms, err := getFilteredVMs("/vms/start", args) + if err != nil { + u.PrintlnErr(err.Error()) + return 1 + } - if len(vms) == 0 { - u.PrintlnErr("Error: VM(s) not found.") - return 1 - } + if len(vms) == 0 { + u.PrintlnErr("Error: VM(s) not found.") + return 1 + } - statusCode := 0 + statusCode := 0 - for _, vm := range(vms) { - uuid := vm.ID.String() - resp, err := client.R().Put(host+"/vms/"+uuid+"/start") - if err != nil { - u.PrintlnErr("Failed starting VM \""+vm.Name+"\": "+err.Error()) - statusCode = 1 - } else { - if resp.IsSuccess() { - u.Println("Started VM \""+vm.Name+"\"") - } else { - u.PrintlnErr("Failed starting VM \""+vm.Name+"\": "+resp.Status()+": "+resp.String()) - statusCode = 1 - } - } + for _, vm := range vms { + uuid := vm.ID.String() + resp, err := client.R().Put(host + "/vms/" + uuid + "/start") + if err != nil { + u.PrintlnErr("Failed starting VM \"" + vm.Name + "\": " + err.Error()) + statusCode = 1 + } else { + if resp.IsSuccess() { + u.Println("Started VM \"" + vm.Name + "\"") + } else { + u.PrintlnErr("Failed starting VM \"" + vm.Name + "\": " + resp.Status() + ": " + resp.String()) + statusCode = 1 + } + } - } + } - return statusCode + return statusCode } diff --git a/src/client/cmdVM/vmStartAttach.go b/src/client/cmdVM/vmStartAttach.go index 619b15387ddc3d617fbe3ccbf0e4e3376bb17ab0..b684f0671439e2b0c97a2204680f696c8dba4ffa 100644 --- a/src/client/cmdVM/vmStartAttach.go +++ b/src/client/cmdVM/vmStartAttach.go @@ -1,96 +1,96 @@ package cmdVM import ( - "nexus-client/exec" - g "nexus-client/globals" - u "nexus-client/utils" + "nexus-client/exec" + u "nexus-client/utils" + g "nexus-libclient/globals" ) type StartAttach struct { - Name string + Name string } func (cmd *StartAttach) GetName() string { - return cmd.Name + return cmd.Name } func (cmd *StartAttach) GetDesc() []string { - return []string{ - "Starts one or more VMs and attaches them in order to use their desktop environment.", - "If not the VM's owner: requires VM_START VM access capability or VM_START_ANY user capability", - "and VM_ATTACH VM access capability or VM_ATTACH_ANY user capability."} + return []string{ + "Starts one or more VMs and attaches them in order to use their desktop environment.", + "If not the VM's owner: requires VM_START VM access capability or VM_START_ANY user capability", + "and VM_ATTACH VM access capability or VM_ATTACH_ANY user capability."} } func (cmd *StartAttach) PrintUsage() { - printRegexUsage(cmd) - printRegexUsageDetails() + printRegexUsage(cmd) + printRegexUsageDetails() } func (cmd *StartAttach) Run(args []string) int { - client := g.GetInstance().Client - host := g.GetInstance().Host - - argc := len(args) - if argc < 1 { - cmd.PrintUsage() - return 1 - } - - if err := exec.CheckRemoteViewer(); err != nil { - u.PrintlnErr(err.Error()) - return 1 - } - - vms, err := getFilteredVMs("/vms/start", args) - if err != nil { - u.PrintlnErr(err.Error()) - return 1 - } - - if len(vms) == 0 { - u.PrintlnErr("Error: VM(s) not found.") - return 1 - } - - statusCode := 0 - - for _, vm := range vms { - uuid := vm.ID.String() - resp, err := client.R().Put(host + "/vms/" + uuid + "/start") - if err != nil { - u.PrintlnErr("Failed starting VM \"" + vm.Name + "\": " + err.Error()) - statusCode = 1 - } else { - if resp.IsSuccess() { - u.Println("Started VM \"" + vm.Name + "\"") - } else { - u.PrintlnErr("Failed starting VM \"" + vm.Name + "\": " + resp.Status() + ": " + resp.String()) - statusCode = 1 - } - } - - } - - // at this point, the returned filtered credentials only works for VMs that started successfully - creds, err := getFilteredVMCredentials("/vms/attach", args) - if err != nil { - u.PrintlnErr(err.Error()) - return 1 - } - - if len(creds) == 0 { - u.PrintlnErr("Error: No VM(s) to attach.") - return 1 - } - - attachStatusCode, err := AttachToVMs(creds, false) - if err != nil { - u.PrintlnErr(err) - } - - returnCode := 0 - if statusCode != 0 || attachStatusCode != 0 { - returnCode = 1 - } - return returnCode + client := g.GetInstance().Client + host := g.GetInstance().Host + + argc := len(args) + if argc < 1 { + cmd.PrintUsage() + return 1 + } + + if err := exec.CheckRemoteViewer(); err != nil { + u.PrintlnErr(err.Error()) + return 1 + } + + vms, err := getFilteredVMs("/vms/start", args) + if err != nil { + u.PrintlnErr(err.Error()) + return 1 + } + + if len(vms) == 0 { + u.PrintlnErr("Error: VM(s) not found.") + return 1 + } + + statusCode := 0 + + for _, vm := range vms { + uuid := vm.ID.String() + resp, err := client.R().Put(host + "/vms/" + uuid + "/start") + if err != nil { + u.PrintlnErr("Failed starting VM \"" + vm.Name + "\": " + err.Error()) + statusCode = 1 + } else { + if resp.IsSuccess() { + u.Println("Started VM \"" + vm.Name + "\"") + } else { + u.PrintlnErr("Failed starting VM \"" + vm.Name + "\": " + resp.Status() + ": " + resp.String()) + statusCode = 1 + } + } + + } + + // at this point, the returned filtered credentials only works for VMs that started successfully + creds, err := getFilteredVMCredentials("/vms/attach", args) + if err != nil { + u.PrintlnErr(err.Error()) + return 1 + } + + if len(creds) == 0 { + u.PrintlnErr("Error: No VM(s) to attach.") + return 1 + } + + attachStatusCode, err := AttachToVMs(creds, false) + if err != nil { + u.PrintlnErr(err) + } + + returnCode := 0 + if statusCode != 0 || attachStatusCode != 0 { + returnCode = 1 + } + return returnCode } diff --git a/src/client/cmdVM/vmStartWithCreds.go b/src/client/cmdVM/vmStartWithCreds.go index 91b1ab4114f65ff10e3797f46c6907c0aea2ea3d..67569d89a7ed54e7ed24eecf2fbfe6cf3700158d 100644 --- a/src/client/cmdVM/vmStartWithCreds.go +++ b/src/client/cmdVM/vmStartWithCreds.go @@ -1,91 +1,91 @@ package cmdVM import ( - "errors" - "nexus-common/params" - u "nexus-client/utils" - g "nexus-client/globals" + "errors" + u "nexus-client/utils" + "nexus-common/params" + g "nexus-libclient/globals" ) type StartWithCreds struct { - Name string + Name string } -func (cmd *StartWithCreds)GetName() string { - return cmd.Name +func (cmd *StartWithCreds) GetName() string { + return cmd.Name } -func (cmd *StartWithCreds)GetDesc() []string { - return []string{ - "Starts one or more VMs with user-defined credentials.", - "If not the VM's owner: requires VM_START VM access capability or VM_START_ANY user capability."} +func (cmd *StartWithCreds) GetDesc() []string { + return []string{ + "Starts one or more VMs with user-defined credentials.", + "If not the VM's owner: requires VM_START VM access capability or VM_START_ANY user capability."} } -func (cmd *StartWithCreds)PrintUsage() { - for _, desc := range cmd.GetDesc() { - u.PrintlnErr(desc) - } - u.PrintlnErr("―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――") - u.PrintlnErr("USAGE: "+cmd.GetName()+" file.csv") - u.PrintlnErr("―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――") - const usage string = `file.csv 3-column CSV file defining the VMs to start and their credentials. +func (cmd *StartWithCreds) PrintUsage() { + for _, desc := range cmd.GetDesc() { + u.PrintlnErr(desc) + } + u.PrintlnErr("―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――") + u.PrintlnErr("USAGE: " + cmd.GetName() + " file.csv") + u.PrintlnErr("―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――") + const usage string = `file.csv 3-column CSV file defining the VMs to start and their credentials. Content of the 3 columns: VM ID;VM name;password` - u.PrintlnErr(usage) + u.PrintlnErr(usage) } -func (cmd *StartWithCreds)parseCSVFile(csvFile string) ([]string, []string, error) { - // Column 0: VM IDs - vmIDs, err := u.ReadCSVColumn(csvFile, 0) - if err != nil { - return nil, nil, err - } - // Column 2: passwords - pwds, err := u.ReadCSVColumn(csvFile, 2) - if err != nil { - return nil, nil, err - } - count := len(vmIDs) - if (len(pwds) != count) { - return nil, nil, errors.New("Invalid CSV file: all columns must have the same number of entries!") - } - return vmIDs, pwds, nil +func (cmd *StartWithCreds) parseCSVFile(csvFile string) ([]string, []string, error) { + // Column 0: VM IDs + vmIDs, err := u.ReadCSVColumn(csvFile, 0) + if err != nil { + return nil, nil, err + } + // Column 2: passwords + pwds, err := u.ReadCSVColumn(csvFile, 2) + if err != nil { + return nil, nil, err + } + count := len(vmIDs) + if len(pwds) != count { + return nil, nil, errors.New("Invalid CSV file: all columns must have the same number of entries!") + } + return vmIDs, pwds, nil } -func (cmd *StartWithCreds)Run(args []string) int { - client := g.GetInstance().Client - host := g.GetInstance().Host +func (cmd *StartWithCreds) Run(args []string) int { + client := g.GetInstance().Client + host := g.GetInstance().Host - argc := len(args) - if argc != 1 { - cmd.PrintUsage() - return 1 - } + argc := len(args) + if argc != 1 { + cmd.PrintUsage() + return 1 + } - vmIDs, pwds, err := cmd.parseCSVFile(args[0]) - if err != nil { - u.PrintlnErr(err.Error()) - return 1 - } + vmIDs, pwds, err := cmd.parseCSVFile(args[0]) + if err != nil { + u.PrintlnErr(err.Error()) + return 1 + } - statusCode := 0 + statusCode := 0 - vmArgs := ¶ms.VMStartWithCreds {} + vmArgs := ¶ms.VMStartWithCreds{} - for i, vmID := range(vmIDs) { - vmArgs.Pwd = pwds[i] - resp, err := client.R().SetBody(vmArgs).Put(host+"/vms/"+vmID+"/startwithcreds") - if err != nil { - u.PrintlnErr("Failed starting VM \""+vmID+"\": "+err.Error()) - statusCode = 1 - } else { - if resp.IsSuccess() { - u.Println("Started VM \""+vmID+"\"") - } else { - u.PrintlnErr("Failed starting VM \""+vmID+"\": "+resp.Status()+": "+resp.String()) - statusCode = 1 - } - } - } + for i, vmID := range vmIDs { + vmArgs.Pwd = pwds[i] + resp, err := client.R().SetBody(vmArgs).Put(host + "/vms/" + vmID + "/startwithcreds") + if err != nil { + u.PrintlnErr("Failed starting VM \"" + vmID + "\": " + err.Error()) + statusCode = 1 + } else { + if resp.IsSuccess() { + u.Println("Started VM \"" + vmID + "\"") + } else { + u.PrintlnErr("Failed starting VM \"" + vmID + "\": " + resp.Status() + ": " + resp.String()) + statusCode = 1 + } + } + } - return statusCode + return statusCode } diff --git a/src/client/cmdVM/vmStop.go b/src/client/cmdVM/vmStop.go index 74939fa20e4d2eff1f03135063a8a2836596b148..01d441ce9e6759dc75dd669d2f4486c9cb83c014 100644 --- a/src/client/cmdVM/vmStop.go +++ b/src/client/cmdVM/vmStop.go @@ -1,68 +1,68 @@ package cmdVM import ( - u "nexus-client/utils" - g "nexus-client/globals" + u "nexus-client/utils" + g "nexus-libclient/globals" ) type Stop struct { - Name string + Name string } -func (cmd *Stop)GetName() string { - return cmd.Name +func (cmd *Stop) GetName() string { + return cmd.Name } -func (cmd *Stop)GetDesc() []string { - return []string{ - "Kills one or more VMs.", - "If not the VM's owner: requires VM_STOP VM access capability or VM_STOP_ANY user capability."} +func (cmd *Stop) GetDesc() []string { + return []string{ + "Kills one or more VMs.", + "If not the VM's owner: requires VM_STOP VM access capability or VM_STOP_ANY user capability."} } -func (cmd *Stop)PrintUsage() { - printRegexUsage(cmd) - printRegexUsageDetails() +func (cmd *Stop) PrintUsage() { + printRegexUsage(cmd) + printRegexUsageDetails() } -func (cmd *Stop)Run(args []string) int { - client := g.GetInstance().Client - host := g.GetInstance().Host +func (cmd *Stop) Run(args []string) int { + client := g.GetInstance().Client + host := g.GetInstance().Host - argc := len(args) - if argc < 1 { - cmd.PrintUsage() - return 1 - } + argc := len(args) + if argc < 1 { + cmd.PrintUsage() + return 1 + } - vms, err := getFilteredVMs("/vms/stop", args) - if err != nil { - u.PrintlnErr(err.Error()) - return 1 - } + vms, err := getFilteredVMs("/vms/stop", args) + if err != nil { + u.PrintlnErr(err.Error()) + return 1 + } - if len(vms) == 0 { - u.PrintlnErr("Error: VM(s) not found.") - return 1 - } + if len(vms) == 0 { + u.PrintlnErr("Error: VM(s) not found.") + return 1 + } - statusCode := 0 + statusCode := 0 - for _, vm := range(vms) { - uuid := vm.ID.String() - resp, err := client.R().Put(host+"/vms/"+uuid+"/stop") - if err != nil { - u.PrintlnErr("Failed stopping VM \""+vm.Name+"\": "+err.Error()) - statusCode = 1 - } else { - if resp.IsSuccess() { - u.Println("Stopped VM \""+vm.Name+"\"") - } else { - u.PrintlnErr("Failed stopping VM \""+vm.Name+"\": "+resp.Status()+": "+resp.String()) - statusCode = 1 - } - } + for _, vm := range vms { + uuid := vm.ID.String() + resp, err := client.R().Put(host + "/vms/" + uuid + "/stop") + if err != nil { + u.PrintlnErr("Failed stopping VM \"" + vm.Name + "\": " + err.Error()) + statusCode = 1 + } else { + if resp.IsSuccess() { + u.Println("Stopped VM \"" + vm.Name + "\"") + } else { + u.PrintlnErr("Failed stopping VM \"" + vm.Name + "\": " + resp.Status() + ": " + resp.String()) + statusCode = 1 + } + } - } + } - return statusCode + return statusCode } diff --git a/src/client/cmdVersion/version.go b/src/client/cmdVersion/version.go index 342d6058ba32d76eeb101cda89fbc9af096e807c..dde61e0313ea5cbebf50070e1bac723328fc2327 100644 --- a/src/client/cmdVersion/version.go +++ b/src/client/cmdVersion/version.go @@ -3,10 +3,10 @@ package cmdVersion import ( "encoding/json" "errors" - g "nexus-client/globals" u "nexus-client/utils" "nexus-client/version" "nexus-common/params" + g "nexus-libclient/globals" ) type Version struct { diff --git a/src/client/nexus-cli/nexus-cli.go b/src/client/nexus-cli/nexus-cli.go index b53931df7b4fa9d7597a8e0249e7b477a5f8b43f..8b4bca9657d5f0c85e7533dbc0383512542db803 100644 --- a/src/client/nexus-cli/nexus-cli.go +++ b/src/client/nexus-cli/nexus-cli.go @@ -10,11 +10,11 @@ import ( "nexus-client/cmdVM" "nexus-client/cmdVersion" "nexus-client/defaults" - g "nexus-client/globals" u "nexus-client/utils" "nexus-client/version" "nexus-common/buildversion" "nexus-common/utils" + g "nexus-libclient/globals" "os" "path" "strings" diff --git a/src/client/nexus-exam/nexus-exam.go b/src/client/nexus-exam/nexus-exam.go index ba01a20beac2318a2be407ffa545b1cd64056da7..f73abf8579db147774c964800d4a0a7de9696f04 100644 --- a/src/client/nexus-exam/nexus-exam.go +++ b/src/client/nexus-exam/nexus-exam.go @@ -9,12 +9,12 @@ import ( "nexus-client/cmdToken" "nexus-client/defaults" e "nexus-client/exec" - g "nexus-client/globals" u "nexus-client/utils" "nexus-client/version" "nexus-common/buildversion" "nexus-common/params" "nexus-common/vm" + g "nexus-libclient/globals" "os" "os/exec" "path" diff --git a/src/client/nexush/nexush.go b/src/client/nexush/nexush.go index 7d88ea0e481ed647a706693d9372efb874f0aab2..8f5fb48c86b5b030b818959c8c668728bfd7dc80 100644 --- a/src/client/nexush/nexush.go +++ b/src/client/nexush/nexush.go @@ -13,8 +13,8 @@ import ( "nexus-client/cmdVM" "nexus-client/cmdVersion" "nexus-client/defaults" - g "nexus-client/globals" u "nexus-client/utils" + g "nexus-libclient/globals" "nexus-client/version" "nexus-common/buildversion" diff --git a/src/client/utils/csv.go b/src/client/utils/csv.go index 122eb0c52f67c01ec45dffa5cafd81e32b764037..5140e250c45176b0d59295ad11fc6efb26d4ac37 100644 --- a/src/client/utils/csv.go +++ b/src/client/utils/csv.go @@ -4,7 +4,7 @@ import ( "encoding/csv" "errors" "io" - g "nexus-client/globals" + g "nexus-libclient/globals" "os" "strconv" ) diff --git a/src/client/globals/Globals.go b/src/libclient/globals/Globals.go similarity index 100% rename from src/client/globals/Globals.go rename to src/libclient/globals/Globals.go diff --git a/src/libclient/template/templateList.go b/src/libclient/template/templateList.go index bb0b5047a0f1eec3ad7451a8df2994590db24ae3..6748afee6fc9358d93aab22deb9f34686e59c49c 100644 --- a/src/libclient/template/templateList.go +++ b/src/libclient/template/templateList.go @@ -2,8 +2,8 @@ package template import ( "errors" - g "nexus-client/globals" t "nexus-common/template" + g "nexus-libclient/globals" ) func GetTemplates() ([]t.TemplateSerialized, error) { diff --git a/src/libclient/token/tokenRefresh.go b/src/libclient/token/tokenRefresh.go index 5fd19a13169aafd26f509311adaf8b8af0ce2b77..02a72964a59b96f22659e99fdd6d6125d7450d4d 100644 --- a/src/libclient/token/tokenRefresh.go +++ b/src/libclient/token/tokenRefresh.go @@ -3,7 +3,7 @@ package token import ( "encoding/json" "errors" - g "nexus-client/globals" + g "nexus-libclient/globals" ) // Return a new token