· 7 years ago · May 10, 2018, 02:54 PM
1package main
2
3import (
4 "flag"
5 "fmt"
6 "log"
7 "net/url"
8
9 cfclient "github.com/cloudfoundry-community/go-cfclient"
10)
11
12// go run apps.go -api "$(cf target | awk '/api endpoint/ {print $3}')" -token "$(cf oauth-token | awk '{print $2}')"
13
14func main() {
15 var (
16 api = flag.String("api", "", "hostname")
17 token = flag.String("token", "", "token")
18 )
19 flag.Parse()
20
21 config := &cfclient.Config{
22 ApiAddress: *api,
23 Token: *token,
24 }
25 client, err := cfclient.NewClient(config)
26 if err != nil {
27 log.Fatalln(err)
28 }
29
30 params := url.Values{}
31 apps, err := client.ListAppsByQuery(params)
32 if err != nil {
33 log.Fatalln(err)
34 }
35
36 for _, app := range apps {
37 // Do some stuff with apps here, e.g.
38 if _, ok := app.Environment["STATSD_ENDPOINT"]; ok {
39 fmt.Println(app.Name, app.Guid, app.SpaceGuid, app.Environment["METRIC_WHITELIST"])
40 }
41 }
42}