From 905f5ef5e2a362fcf0b01408a57e24038ac4e932 Mon Sep 17 00:00:00 2001 From: Anish Mukherjee Date: Fri, 6 Jan 2023 10:28:08 +0530 Subject: [PATCH] add flags for host update --- cli/cmd/host/update.go | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/cli/cmd/host/update.go b/cli/cmd/host/update.go index db2f6313..6374e13f 100644 --- a/cli/cmd/host/update.go +++ b/cli/cmd/host/update.go @@ -23,23 +23,43 @@ var ( ) var hostUpdateCmd = &cobra.Command{ - Use: "update HostID /path/to/host_definition.json", - Args: cobra.ExactArgs(2), + Use: "update HostID", + Args: cobra.ExactArgs(1), Short: "Update a host", Long: `Update a host`, Run: func(cmd *cobra.Command, args []string) { apiHost := &models.ApiHost{} - content, err := os.ReadFile(args[1]) - if err != nil { - log.Fatal("Error when opening file: ", err) - } - if err := json.Unmarshal(content, apiHost); err != nil { - log.Fatal(err) + if apiHostFilePath != "" { + content, err := os.ReadFile(apiHostFilePath) + if err != nil { + log.Fatal("Error when opening file: ", err) + } + if err := json.Unmarshal(content, apiHost); err != nil { + log.Fatal(err) + } + } else { + apiHost.EndpointIP = endpoint + apiHost.Name = name + apiHost.ListenPort = listenPort + apiHost.ProxyListenPort = proxyListenPort + apiHost.MTU = mtu + apiHost.ProxyEnabled = proxyEnabled + apiHost.IsStatic = isStatic + apiHost.IsDefault = isDefault } functions.PrettyPrint(functions.UpdateHost(args[0], apiHost)) }, } func init() { + hostUpdateCmd.Flags().StringVar(&apiHostFilePath, "file", "", "Path to host_definition.json") + hostUpdateCmd.Flags().StringVar(&endpoint, "endpoint", "", "Endpoint of the Host") + hostUpdateCmd.Flags().StringVar(&name, "name", "", "Host name") + hostUpdateCmd.Flags().IntVar(&listenPort, "listen_port", 0, "Listen port of the host") + hostUpdateCmd.Flags().IntVar(&proxyListenPort, "proxy_listen_port", 0, "Proxy listen port of the host") + hostUpdateCmd.Flags().IntVar(&mtu, "mtu", 0, "Host MTU size") + hostUpdateCmd.Flags().BoolVar(&proxyEnabled, "proxy", false, "Enable proxy ?") + hostUpdateCmd.Flags().BoolVar(&isStatic, "static", false, "Make Host Static ?") + hostUpdateCmd.Flags().BoolVar(&isDefault, "default", false, "Make Host Default ?") rootCmd.AddCommand(hostUpdateCmd) }