func()

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
}