in gcloud/cloudresourcemanager.go [81:112]
func (c *Client) ProjectList() ([]ProjectWithBilling, error) {
resp := []ProjectWithBilling{}
i := c.get("ProjectList")
switch val := i.(type) {
case []ProjectWithBilling:
return val, nil
}
svc, err := c.getCloudResourceManagerService()
if err != nil {
return resp, err
}
results, err := svc.Projects.List().Filter("lifecycleState=ACTIVE").Do()
if err != nil {
return resp, err
}
pwb, err := c.ProjectListWithBilling(results.Projects)
if err != nil {
return resp, err
}
sort.Slice(pwb, func(i, j int) bool {
return strings.ToLower(pwb[i].Name) < strings.ToLower(pwb[j].Name)
})
c.save("ProjectList", pwb)
return pwb, nil
}