github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/fly/commands/logout.go (about) 1 package commands 2 3 import ( 4 "errors" 5 "fmt" 6 7 "github.com/pf-qiu/concourse/v6/fly/rc" 8 ) 9 10 type LogoutCommand struct { 11 All bool `short:"a" long:"all" description:"Logout of all targets"` 12 } 13 14 func (command *LogoutCommand) Execute(args []string) error { 15 16 if Fly.Target != "" && !command.All { 17 if err := rc.LogoutTarget(Fly.Target); err != nil { 18 return err 19 } 20 21 fmt.Println("logged out of target: " + Fly.Target) 22 } else if Fly.Target == "" && command.All { 23 24 targets, err := rc.LoadTargets() 25 if err != nil { 26 return err 27 } 28 29 for targetName := range targets { 30 if err := rc.LogoutTarget(targetName); err != nil { 31 return err 32 } 33 } 34 35 fmt.Println("logged out of all targets") 36 } else { 37 return errors.New("must specify either --target or --all") 38 } 39 40 return nil 41 }