@@ -3,6 +3,7 @@ package cli
33import (
44 "fmt"
55 "log"
6+ "strings"
67
78 "github.com/spf13/cobra"
89)
@@ -22,34 +23,44 @@ var CreateNamespaceCmd = &cobra.Command{
2223 return nil
2324 },
2425 Run : func (cmd * cobra.Command , args []string ) {
26+ o , _ := cmd .Flags ().GetString ("output" )
2527 h , err := getHeadscaleApp ()
2628 if err != nil {
2729 log .Fatalf ("Error initializing: %s" , err )
2830 }
29- _ , err = h .CreateNamespace (args [0 ])
31+ namespace , err := h .CreateNamespace (args [0 ])
32+ if strings .HasPrefix (o , "json" ) {
33+ jsonOutput (namespace , err , o )
34+ return
35+ }
3036 if err != nil {
31- fmt .Println ( err )
37+ fmt .Printf ( "Error creating namespace: %s \n " , err )
3238 return
3339 }
34- fmt .Printf ("Ook. \n " )
40+ fmt .Printf ("Namespace created \n " )
3541 },
3642}
3743
3844var ListNamespacesCmd = & cobra.Command {
3945 Use : "list" ,
4046 Short : "List all the namespaces" ,
4147 Run : func (cmd * cobra.Command , args []string ) {
48+ o , _ := cmd .Flags ().GetString ("output" )
4249 h , err := getHeadscaleApp ()
4350 if err != nil {
4451 log .Fatalf ("Error initializing: %s" , err )
4552 }
46- ns , err := h .ListNamespaces ()
53+ namespaces , err := h .ListNamespaces ()
54+ if strings .HasPrefix (o , "json" ) {
55+ jsonOutput (namespaces , err , o )
56+ return
57+ }
4758 if err != nil {
4859 fmt .Println (err )
4960 return
5061 }
5162 fmt .Printf ("ID\t Name\n " )
52- for _ , n := range * ns {
63+ for _ , n := range * namespaces {
5364 fmt .Printf ("%d\t %s\n " , n .ID , n .Name )
5465 }
5566 },
0 commit comments