in gcloud/computeengine.go [175:200]
func (c *Client) ImageLatestGet(project, imageproject, imagefamily string) (string, error) {
resp := ""
svc, err := c.getComputeService(project)
if err != nil {
return resp, fmt.Errorf("ImageLatestGet: could not get compute service: %s", err)
}
filter := fmt.Sprintf("(family=\"%s\")", imagefamily)
results, err := svc.Images.List(imageproject).Filter(filter).Do()
if err != nil {
return resp, fmt.Errorf("ImageLatestGet: could not get filter list images: %s", err)
}
sort.Slice(results.Items, func(i, j int) bool {
return results.Items[i].CreationTimestamp > results.Items[j].CreationTimestamp
})
for _, v := range results.Items {
if v.Deprecated == nil || v.Deprecated.State == "" {
return fmt.Sprintf("%s/%s", imageproject, v.Name), nil
}
}
return "", fmt.Errorf("error: could not find ")
}