github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/fly/commands/internal/flaghelpers/worker_flag.go (about) 1 package flaghelpers 2 3 import ( 4 "strings" 5 6 "github.com/pf-qiu/concourse/v6/fly/rc" 7 "github.com/jessevdk/go-flags" 8 ) 9 10 type WorkerFlag string 11 12 func (flag *WorkerFlag) Complete(match string) []flags.Completion { 13 fly := parseFlags() 14 15 target, err := rc.LoadTarget(fly.Target, false) 16 if err != nil { 17 return []flags.Completion{} 18 } 19 20 workers, err := target.Client().ListWorkers() 21 if err != nil { 22 return []flags.Completion{} 23 } 24 25 comps := []flags.Completion{} 26 for _, worker := range workers { 27 if strings.HasPrefix(worker.Name, match) { 28 comps = append(comps, flags.Completion{Item: worker.Name}) 29 } 30 } 31 32 return comps 33 } 34 35 func (flag WorkerFlag) Name() string { 36 return string(flag) 37 }