in gcloud/cloudbilling.go [172:197]
func (c *Client) ProjectListWithBillingEnabled() (map[string]bool, error) {
r := map[string]bool{}
svc, err := c.getCloudbillingService()
if err != nil {
return r, err
}
bas, err := c.BillingAccountList()
if err != nil {
return r, err
}
for _, v := range bas {
result, err := svc.BillingAccounts.Projects.List(v.Name).Do()
if err != nil {
return r, err
}
for _, v := range result.ProjectBillingInfo {
if v.BillingEnabled {
r[v.ProjectId] = true
}
}
}
return r, nil
}