| 49 | } |
| 50 | |
| 51 | func (c *Query) Run(args []string) int { |
| 52 | c.KiteClient.Config = config.MustGet() |
| 53 | c.KiteClient.Config.Transport = config.XHRPolling |
| 54 | |
| 55 | var query protocol.KontrolQuery |
| 56 | |
| 57 | flags := flag.NewFlagSet("query", flag.ExitOnError) |
| 58 | flags.StringVar(&query.Username, "username", c.KiteClient.Kite().Username, "") |
| 59 | flags.StringVar(&query.Environment, "environment", "", "") |
| 60 | flags.StringVar(&query.Name, "name", "", "") |
| 61 | flags.StringVar(&query.Version, "version", "", "") |
| 62 | flags.StringVar(&query.Region, "region", "", "") |
| 63 | flags.StringVar(&query.Hostname, "hostname", "", "") |
| 64 | flags.StringVar(&query.ID, "id", "", "") |
| 65 | flags.Parse(args) |
| 66 | |
| 67 | result, err := c.KiteClient.GetKites(&query) |
| 68 | if err != nil { |
| 69 | c.Ui.Error(err.Error()) |
| 70 | return 1 |
| 71 | } |
| 72 | |
| 73 | for i, client := range result { |
| 74 | var k *protocol.Kite = &client.Kite |
| 75 | c.Ui.Output(fmt.Sprintf( |
| 76 | "%d\t%s/%s/%s/%s/%s/%s/%s\t%s", |
| 77 | i+1, |
| 78 | k.Username, |
| 79 | k.Environment, |
| 80 | k.Name, |
| 81 | k.Version, |
| 82 | k.Region, |
| 83 | k.Hostname, |
| 84 | k.ID, |
| 85 | client.URL, |
| 86 | )) |
| 87 | } |
| 88 | |
| 89 | return 0 |
| 90 | } |