diff --git a/src/client_cli/vmEdit.go b/src/client_cli/vmEdit.go index 712199e616cb71790ff187b2773762d90cc93c15..7909bb0ade6cedefe5719c4abec14707dd685654 100644 --- a/src/client_cli/vmEdit.go +++ b/src/client_cli/vmEdit.go @@ -20,6 +20,9 @@ func (cmd *CmdVMEdit)Desc() string { func (cmd *CmdVMEdit)PrintUsage() { 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") + printlnErr("ram must be between 512 and 32768") + printlnErr("nic must be either \"none\" or \"user\"") } func getStringVal(s string, prefix string) string { @@ -45,13 +48,14 @@ func (cmd *CmdVMEdit)Run(args []string) int { } vmArgs := &VMArgs {} - + argsValid := false id := args[0] for _, arg := range args { s := getStringVal(arg, "name=") if s != "" { vmArgs.Name = s + argsValid = true } s = getStringVal(arg, "cpus=") if s != "" { @@ -61,6 +65,7 @@ func (cmd *CmdVMEdit)Run(args []string) int { return 1 } vmArgs.Cpus = cpus + argsValid = true } s = getStringVal(arg, "ram=") if s != "" { @@ -70,13 +75,20 @@ func (cmd *CmdVMEdit)Run(args []string) int { return 1 } vmArgs.Ram = ram + argsValid = true } s = getStringVal(arg, "nic=") if s != "" { vmArgs.Nic = s + argsValid = true } } + if !argsValid { + cmd.PrintUsage() + return 1 + } + resp, err := client.R().SetBody(vmArgs).Put(host+"/vms/"+id) if err != nil { printlnErr("Error: "+err.Error())