code: func lookupZones(svc *compute.Service, project, pattern string) ([]string, error) {
  	call := svc.Zones.List(project)
  	if pattern != "" {
  		call = call.Filter("name eq " + pattern)
  	}
  
  	var zones []string
  	f := func(page *compute.ZoneList) error {
  		for _, v := range page.Items {
  			zones = append(zones, v.Name)
  		}
  		return nil
  	}
  
  	if err := call.Pages(oauth2.NoContext, f); err != nil {
  		return nil, err
  	}
  	return zones, nil
  }
docs: // lookupZones retrieves the zones of the project and filters them by pattern.