Added "misc status" (short: "m sts") command
authorSebastien Douheret <sebastien.douheret@iot.bzh>
Mon, 4 Dec 2017 10:27:30 +0000 (11:27 +0100)
committerSebastien Douheret <sebastien.douheret@iot.bzh>
Mon, 4 Dec 2017 10:29:53 +0000 (11:29 +0100)
cmd-misc.go

index 8b77de0..450f4b5 100644 (file)
@@ -43,6 +43,18 @@ func initCmdMisc(cmdDef *[]cli.Command) {
                                        },
                                },
                        },
+                       {
+                               Name:    "status",
+                               Aliases: []string{"sts"},
+                               Usage:   "Get XDS configuration status (including XDS server connection)",
+                               Action:  xdsStatus,
+                               Flags: []cli.Flag{
+                                       cli.BoolFlag{
+                                               Name:  "verbose, v",
+                                               Usage: "display verbose output",
+                                       },
+                               },
+                       },
                },
        })
 }
@@ -84,3 +96,23 @@ func xdsVersion(ctx *cli.Context) error {
 
        return nil
 }
+
+func xdsStatus(ctx *cli.Context) error {
+       cfg := xaapiv1.APIConfig{}
+       if err := XdsConfigGet(&cfg); err != nil {
+               return cli.NewExitError(err.Error(), 1)
+       }
+
+       writer := NewTableWriter()
+       fmt.Fprintln(writer, "XDS Server:")
+       for _, svr := range cfg.Servers {
+               fmt.Fprintln(writer, "       ID:\t", svr.ID)
+               fmt.Fprintln(writer, "       URL:\t", svr.URL)
+               fmt.Fprintln(writer, "       Connected:\t", svr.Connected)
+               fmt.Fprintln(writer, "       Connection retry:\t", svr.ConnRetry)
+               fmt.Fprintln(writer, "       Disabled:\t", svr.Disabled)
+       }
+       writer.Flush()
+
+       return nil
+}