From 3bc98b811a6d7d20d33c20e2da7abb8215d818a7 Mon Sep 17 00:00:00 2001
From: Florent Gluck <florent.gluck@hesge.ch>
Date: Sun, 17 Jul 2022 17:21:38 +0200
Subject: [PATCH] Added cmd description when displaying cmd usage

---
 src/client_cli/login.go            |  3 ++-
 src/client_cli/templateCreate.go   |  3 ++-
 src/client_cli/templateDel.go      |  3 ++-
 src/client_cli/templateList.go     |  3 ++-
 src/client_cli/userAdd.go          |  3 ++-
 src/client_cli/userDel.go          |  3 ++-
 src/client_cli/userList.go         |  3 ++-
 src/client_cli/userSetCaps.go      |  3 ++-
 src/client_cli/userUpdatePwd.go    |  3 ++-
 src/client_cli/userWhoami.go       |  3 ++-
 src/client_cli/vmAttach.go         |  3 ++-
 src/client_cli/vmCreate.go         |  3 ++-
 src/client_cli/vmDel.go            |  3 ++-
 src/client_cli/vmDelAccess.go      |  5 +++--
 src/client_cli/vmEdit.go           |  5 +++--
 src/client_cli/vmList.go           | 15 +++++++++++++--
 src/client_cli/vmListAttach.go     |  3 ++-
 src/client_cli/vmListDel.go        |  3 ++-
 src/client_cli/vmListEdit.go       |  1 +
 src/client_cli/vmListEditAccess.go |  1 +
 src/client_cli/vmListStart.go      | 15 ++++++++-------
 src/client_cli/vmListStop.go       | 15 ++++++++-------
 src/client_cli/vmSetAccess.go      |  5 +++--
 src/client_cli/vmStart.go          |  3 ++-
 src/client_cli/vmStop.go           |  3 ++-
 25 files changed, 74 insertions(+), 39 deletions(-)

diff --git a/src/client_cli/login.go b/src/client_cli/login.go
index 3acb670..ae4a1eb 100644
--- a/src/client_cli/login.go
+++ b/src/client_cli/login.go
@@ -5,7 +5,7 @@ import (
 	"encoding/json"
 )
 
-type CmdLogin struct{
+type CmdLogin struct {
 	name string
 }
 
@@ -18,6 +18,7 @@ func (cmd *CmdLogin)Desc() string {
 }
 
 func (cmd *CmdLogin)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name+" email password")
 }
 
diff --git a/src/client_cli/templateCreate.go b/src/client_cli/templateCreate.go
index e299782..a27cdb2 100644
--- a/src/client_cli/templateCreate.go
+++ b/src/client_cli/templateCreate.go
@@ -1,6 +1,6 @@
 package main
 
-type CmdTemplateCreate struct{
+type CmdTemplateCreate struct {
     name string
 }
 
@@ -13,6 +13,7 @@ func (cmd *CmdTemplateCreate)Desc() string {
 }
 
 func (cmd *CmdTemplateCreate)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name+" vmID name access")
 	printlnErr("Notes: access is either \"public\" or \"private\"")
 }
diff --git a/src/client_cli/templateDel.go b/src/client_cli/templateDel.go
index 9541ae7..96d47a0 100644
--- a/src/client_cli/templateDel.go
+++ b/src/client_cli/templateDel.go
@@ -1,6 +1,6 @@
 package main
 
-type CmdTemplateDel struct{
+type CmdTemplateDel struct {
     name string
 }
 
@@ -13,6 +13,7 @@ func (cmd *CmdTemplateDel)Desc() string {
 }
 
 func (cmd *CmdTemplateDel)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name+" id [id ...]")
 }
 
diff --git a/src/client_cli/templateList.go b/src/client_cli/templateList.go
index bf61b58..0b20b19 100644
--- a/src/client_cli/templateList.go
+++ b/src/client_cli/templateList.go
@@ -1,6 +1,6 @@
 package main
 
-type CmdTemplateList struct{
+type CmdTemplateList struct {
     name string
 }
 
@@ -13,6 +13,7 @@ func (cmd *CmdTemplateList)Desc() string {
 }
 
 func (cmd *CmdTemplateList)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name+" [id]")
 }
 
diff --git a/src/client_cli/userAdd.go b/src/client_cli/userAdd.go
index 88aebe2..798ca0f 100644
--- a/src/client_cli/userAdd.go
+++ b/src/client_cli/userAdd.go
@@ -1,6 +1,6 @@
 package main
 
-type CmdUserAdd struct{
+type CmdUserAdd struct {
     name string
 }
 
@@ -13,6 +13,7 @@ func (cmd *CmdUserAdd)Desc() string {
 }
 
 func (cmd *CmdUserAdd)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name+" email firstname lastname password [capability1 capability2 ...]")
 }
 
diff --git a/src/client_cli/userDel.go b/src/client_cli/userDel.go
index 92bd965..9e47f31 100644
--- a/src/client_cli/userDel.go
+++ b/src/client_cli/userDel.go
@@ -1,6 +1,6 @@
 package main
 
-type CmdUserDel struct{
+type CmdUserDel struct {
     name string
 }
 
@@ -13,6 +13,7 @@ func (cmd *CmdUserDel)Desc() string {
 }
 
 func (cmd *CmdUserDel)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name+" email [email ...]")
 }
 
diff --git a/src/client_cli/userList.go b/src/client_cli/userList.go
index 01f5248..412d5d8 100644
--- a/src/client_cli/userList.go
+++ b/src/client_cli/userList.go
@@ -1,6 +1,6 @@
 package main
 
-type CmdUserList struct{
+type CmdUserList struct {
     name string
 }
 
@@ -13,6 +13,7 @@ func (cmd *CmdUserList)Desc() string {
 }
 
 func (cmd *CmdUserList)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name+" [email]")
 }
 
diff --git a/src/client_cli/userSetCaps.go b/src/client_cli/userSetCaps.go
index 135d9dc..84b64d2 100644
--- a/src/client_cli/userSetCaps.go
+++ b/src/client_cli/userSetCaps.go
@@ -1,6 +1,6 @@
 package main
 
-type CmdUserSetCaps struct{
+type CmdUserSetCaps struct {
     name string
 }
 
@@ -13,6 +13,7 @@ func (cmd *CmdUserSetCaps)Desc() string {
 }
 
 func (cmd *CmdUserSetCaps)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name+" email [capability1 capability2 ...]")
 }
 
diff --git a/src/client_cli/userUpdatePwd.go b/src/client_cli/userUpdatePwd.go
index 50b0cea..11e2270 100644
--- a/src/client_cli/userUpdatePwd.go
+++ b/src/client_cli/userUpdatePwd.go
@@ -5,7 +5,7 @@ import (
 	"golang.org/x/crypto/ssh/terminal"
 )
 
-type CmdUpdatePwd struct{
+type CmdUpdatePwd struct {
     name string
 }
 
@@ -18,6 +18,7 @@ func (cmd *CmdUpdatePwd)Desc() string {
 }
 
 func (cmd *CmdUpdatePwd)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name)
 }
 
diff --git a/src/client_cli/userWhoami.go b/src/client_cli/userWhoami.go
index 548f92e..d433796 100644
--- a/src/client_cli/userWhoami.go
+++ b/src/client_cli/userWhoami.go
@@ -1,6 +1,6 @@
 package main
 
-type CmdWhoami struct{
+type CmdWhoami struct {
     name string
 }
 
@@ -13,6 +13,7 @@ func (cmd *CmdWhoami)Desc() string {
 }
 
 func (cmd *CmdWhoami)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name)
 }
 
diff --git a/src/client_cli/vmAttach.go b/src/client_cli/vmAttach.go
index ad78be7..30ba23a 100644
--- a/src/client_cli/vmAttach.go
+++ b/src/client_cli/vmAttach.go
@@ -7,7 +7,7 @@ import (
 	"github.com/google/uuid"
 )
 
-type CmdVMAttach struct{
+type CmdVMAttach struct {
     name string
 }
 
@@ -20,6 +20,7 @@ func (cmd *CmdVMAttach)Desc() string {
 }
 
 func (cmd *CmdVMAttach)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name+" vmID")
 }
 
diff --git a/src/client_cli/vmCreate.go b/src/client_cli/vmCreate.go
index 3d43425..f57dbe1 100644
--- a/src/client_cli/vmCreate.go
+++ b/src/client_cli/vmCreate.go
@@ -4,7 +4,7 @@ import (
 	"strconv"
 )
 
-type CmdVMCreate struct{
+type CmdVMCreate struct {
     name string
 }
 
@@ -17,6 +17,7 @@ func (cmd *CmdVMCreate)Desc() string {
 }
 
 func (cmd *CmdVMCreate)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name+" name cpus ram nic template")
 	printlnErr("name        name of the VM")
 	printlnErr("cpus        number of CPUs, between 1 and 16")
diff --git a/src/client_cli/vmDel.go b/src/client_cli/vmDel.go
index 0785784..7989769 100644
--- a/src/client_cli/vmDel.go
+++ b/src/client_cli/vmDel.go
@@ -1,6 +1,6 @@
 package main
 
-type CmdVMDel struct{
+type CmdVMDel struct {
     name string
 }
 
@@ -13,6 +13,7 @@ func (cmd *CmdVMDel)Desc() string {
 }
 
 func (cmd *CmdVMDel)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name+" vmID [vmID ...]")
 }
 
diff --git a/src/client_cli/vmDelAccess.go b/src/client_cli/vmDelAccess.go
index 8bee2e8..cdecbd6 100644
--- a/src/client_cli/vmDelAccess.go
+++ b/src/client_cli/vmDelAccess.go
@@ -1,6 +1,6 @@
 package main
 
-type CmdVMDelAccess struct{
+type CmdVMDelAccess struct {
     name string
 }
 
@@ -9,10 +9,11 @@ func (cmd *CmdVMDelAccess)Name() string {
 }
  
 func (cmd *CmdVMDelAccess)Desc() string {
-	return "Delete VM Access for a given user"
+	return "Delete the VM Access for a given user"
 }
 
 func (cmd *CmdVMDelAccess)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name+" vmID email")
 }
 
diff --git a/src/client_cli/vmEdit.go b/src/client_cli/vmEdit.go
index c7afdab..d01de94 100644
--- a/src/client_cli/vmEdit.go
+++ b/src/client_cli/vmEdit.go
@@ -6,7 +6,7 @@ import (
 	"errors"
 )
 
-type CmdVMEdit struct{
+type CmdVMEdit struct {
     name string
 }
 
@@ -22,10 +22,11 @@ func (cmd *CmdVMEdit)Name() string {
 }
  
 func (cmd *CmdVMEdit)Desc() string {
-	return "Create a VM"
+	return "Edit a VM's properties (name, cpus, ram or nic)"
 }
 
 func (cmd *CmdVMEdit)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name+" vmID [name=\"new name\"] [cpus=n] [ram=n] [nic=none/user]")
 	printlnErr("Parameters between [] are optional, but at least one must be defined.")
 	printlnErr("cpus must be between 1 and 16")
diff --git a/src/client_cli/vmList.go b/src/client_cli/vmList.go
index 080320a..c0e1228 100644
--- a/src/client_cli/vmList.go
+++ b/src/client_cli/vmList.go
@@ -1,6 +1,6 @@
 package main
 
-type CmdVMList struct{
+type CmdVMList struct {
     name string
 }
 
@@ -9,9 +9,19 @@ func (cmd *CmdVMList)Name() string {
 }
  
 func (cmd *CmdVMList)Desc() string {
-	return "List one or more VMs"
+	return "List VMs that can be listed"
 }
 
+func (cmd *CmdVMList)PrintUsage() {
+	printlnErr(cmd.Desc())
+	printlnErr("Usage: "+cmd.name)
+}
+
+func (cmd *CmdVMList)Run(args []string) int {
+	return runGetVMs(cmd, args, "/vms/list")
+}
+
+/*
 func (cmd *CmdVMList)PrintUsage() {
 	printlnErr("Usage: "+cmd.name+" [vmID]")
 }
@@ -45,3 +55,4 @@ func (cmd *CmdVMList)Run(args []string) int {
 		return 1
 	}
 }
+*/
\ No newline at end of file
diff --git a/src/client_cli/vmListAttach.go b/src/client_cli/vmListAttach.go
index 948148f..54d1712 100644
--- a/src/client_cli/vmListAttach.go
+++ b/src/client_cli/vmListAttach.go
@@ -1,6 +1,6 @@
 package main
 
-type CmdVMListAttach struct{
+type CmdVMListAttach struct {
     name string
 }
 
@@ -13,6 +13,7 @@ func (cmd *CmdVMListAttach)Desc() string {
 }
 
 func (cmd *CmdVMListAttach)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name)
 }
 
diff --git a/src/client_cli/vmListDel.go b/src/client_cli/vmListDel.go
index b2f0376..bf38cf1 100644
--- a/src/client_cli/vmListDel.go
+++ b/src/client_cli/vmListDel.go
@@ -1,6 +1,6 @@
 package main
 
-type CmdVMListDel struct{
+type CmdVMListDel struct {
     name string
 }
 
@@ -13,6 +13,7 @@ func (cmd *CmdVMListDel)Desc() string {
 }
 
 func (cmd *CmdVMListDel)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name)
 }
 
diff --git a/src/client_cli/vmListEdit.go b/src/client_cli/vmListEdit.go
index 6214405..b28df47 100644
--- a/src/client_cli/vmListEdit.go
+++ b/src/client_cli/vmListEdit.go
@@ -13,6 +13,7 @@ func (cmd *CmdVMListEdit)Desc() string {
 }
 
 func (cmd *CmdVMListEdit)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name)
 }
 
diff --git a/src/client_cli/vmListEditAccess.go b/src/client_cli/vmListEditAccess.go
index 999a437..904484e 100644
--- a/src/client_cli/vmListEditAccess.go
+++ b/src/client_cli/vmListEditAccess.go
@@ -13,6 +13,7 @@ func (cmd *CmdVMListEditAccess)Desc() string {
 }
 
 func (cmd *CmdVMListEditAccess)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name)
 }
 
diff --git a/src/client_cli/vmListStart.go b/src/client_cli/vmListStart.go
index a3a3a97..d4fdd4d 100644
--- a/src/client_cli/vmListStart.go
+++ b/src/client_cli/vmListStart.go
@@ -1,21 +1,22 @@
 package main
 
-type CmdVMListStop struct{
+type CmdVMListStart struct{
     name string
 }
 
-func (cmd *CmdVMListStop)Name() string {
+func (cmd *CmdVMListStart)Name() string {
 	return cmd.name
 }
  
-func (cmd *CmdVMListStop)Desc() string {
-	return "List VMs that can be stopped"
+func (cmd *CmdVMListStart)Desc() string {
+	return "List VMs that can be started"
 }
 
-func (cmd *CmdVMListStop)PrintUsage() {
+func (cmd *CmdVMListStart)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name)
 }
 
-func (cmd *CmdVMListStop)Run(args []string) int {
-	return runGetVMs(cmd, args, "/vms/stop")
+func (cmd *CmdVMListStart)Run(args []string) int {
+	return runGetVMs(cmd, args, "/vms/start")
 }
diff --git a/src/client_cli/vmListStop.go b/src/client_cli/vmListStop.go
index 15700cf..3561dc3 100644
--- a/src/client_cli/vmListStop.go
+++ b/src/client_cli/vmListStop.go
@@ -1,21 +1,22 @@
 package main
 
-type CmdVMListStart struct{
+type CmdVMListStop struct {
     name string
 }
 
-func (cmd *CmdVMListStart)Name() string {
+func (cmd *CmdVMListStop)Name() string {
 	return cmd.name
 }
  
-func (cmd *CmdVMListStart)Desc() string {
-	return "List VMs that can be started"
+func (cmd *CmdVMListStop)Desc() string {
+	return "List VMs that can be stopped"
 }
 
-func (cmd *CmdVMListStart)PrintUsage() {
+func (cmd *CmdVMListStop)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name)
 }
 
-func (cmd *CmdVMListStart)Run(args []string) int {
-	return runGetVMs(cmd, args, "/vms/start")
+func (cmd *CmdVMListStop)Run(args []string) int {
+	return runGetVMs(cmd, args, "/vms/stop")
 }
diff --git a/src/client_cli/vmSetAccess.go b/src/client_cli/vmSetAccess.go
index a927658..f92a1a4 100644
--- a/src/client_cli/vmSetAccess.go
+++ b/src/client_cli/vmSetAccess.go
@@ -1,6 +1,6 @@
 package main
 
-type CmdVMSetAccess struct{
+type CmdVMSetAccess struct {
     name string
 }
 
@@ -9,10 +9,11 @@ func (cmd *CmdVMSetAccess)Name() string {
 }
  
 func (cmd *CmdVMSetAccess)Desc() string {
-	return "Set a VM Access for a given user"
+	return "Set the VM Access for a given user"
 }
 
 func (cmd *CmdVMSetAccess)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name+" vmID email [capability1 capability2 ...]")
 }
 
diff --git a/src/client_cli/vmStart.go b/src/client_cli/vmStart.go
index 06874c6..b84830c 100644
--- a/src/client_cli/vmStart.go
+++ b/src/client_cli/vmStart.go
@@ -1,6 +1,6 @@
 package main
 
-type CmdVMStart struct{
+type CmdVMStart struct {
     name string
 }
 
@@ -13,6 +13,7 @@ func (cmd *CmdVMStart)Desc() string {
 }
 
 func (cmd *CmdVMStart)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name+" vmID")
 }
 
diff --git a/src/client_cli/vmStop.go b/src/client_cli/vmStop.go
index 0477b04..ea02bf3 100644
--- a/src/client_cli/vmStop.go
+++ b/src/client_cli/vmStop.go
@@ -1,6 +1,6 @@
 package main
 
-type CmdVMStop struct{
+type CmdVMStop struct {
     name string
 }
 
@@ -13,6 +13,7 @@ func (cmd *CmdVMStop)Desc() string {
 }
 
 func (cmd *CmdVMStop)PrintUsage() {
+	printlnErr(cmd.Desc())
 	printlnErr("Usage: "+cmd.name+" vmID")
 }
 
-- 
GitLab