func (i *IndexerToClusterResourceQuotaLister) List(options kapi.ListOptions) ([]*quotaapi.ClusterResourceQuota, error) { returnedList := i.Indexer.List() ret := make([]*quotaapi.ClusterResourceQuota, 0, len(returnedList)) matcher := clusterresourcequotaregistry.Matcher(oapi.ListOptionsToSelectors(&options)) for i := range returnedList { clusterResourceQuota := returnedList[i].(*quotaapi.ClusterResourceQuota) if matches, err := matcher.Matches(clusterResourceQuota); err == nil && matches { ret = append(ret, clusterResourceQuota) } } return ret, nil }
func (r *AppliedClusterResourceQuotaREST) List(ctx kapi.Context, options *kapi.ListOptions) (runtime.Object, error) { namespace, ok := kapi.NamespaceFrom(ctx) if !ok { return nil, kapierrors.NewBadRequest("namespace is required") } // TODO max resource version? watch? list := "aapi.AppliedClusterResourceQuotaList{} matcher := clusterresourcequotaregistry.Matcher(oapi.ListOptionsToSelectors(options)) quotaNames, _ := r.quotaMapper.GetClusterQuotasFor(namespace) for _, name := range quotaNames { quota, err := r.quotaLister.Get(name) if err != nil { continue } if matches, err := matcher.Matches(quota); err != nil || !matches { continue } list.Items = append(list.Items, *quotaapi.ConvertClusterResourceQuotaToAppliedClusterResourceQuota(quota)) } return list, nil }