package certificates import ( "gitbucket.jerxie.com/yangyangxie/AnthosCertManager/pkg/util/predicate" "k8s.io/apimachinery/pkg/labels" corev1 "k8s.io/api/core/v1" corelisters "k8s.io/client-go/listers/core/v1" acmapi "gitbucket.jerxie.com/yangyangxie/AnthosCertManager/pkg/apis/anthoscertmanager/v1" acmlisters "gitbucket.jerxie.com/yangyangxie/AnthosCertManager/pkg/client/listers/anthoscertmanager/v1" ) // ListCertificateRequestsMatchingPredicates will list CertificateRequest // resources using the provided lister, optionally applying the given predicate // functions to filter the CertificateRequest resources returned. func ListCertificateRequestsMatchingPredicates(lister acmlisters.CertificateRequestNamespaceLister, selector labels.Selector, predicates ...predicate.Func) ([]*acmapi.CertificateRequest, error) { reqs, err := lister.List(selector) if err != nil { return nil, err } funcs := predicate.Funcs(predicates) out := make([]*acmapi.CertificateRequest, 0) for _, req := range reqs { if funcs.Evaluate(req) { out = append(out, req) } } return out, nil } // ListCertificatesMatchingPredicates will list Certificate resources using // the provided lister, optionally applying the given predicate functions to // filter the Certificate resources returned. func ListCertificatesMatchingPredicates(lister acmlisters.CertificateNamespaceLister, selector labels.Selector, predicates ...predicate.Func) ([]*acmapi.Certificate, error) { reqs, err := lister.List(selector) if err != nil { return nil, err } funcs := predicate.Funcs(predicates) out := make([]*acmapi.Certificate, 0) for _, req := range reqs { if funcs.Evaluate(req) { out = append(out, req) } } return out, nil } // ListSecretsMatchingPredicates will list Secret resources using // the provided lister, optionally applying the given predicate functions to // filter the Secret resources returned. func ListSecretsMatchingPredicates(lister corelisters.SecretNamespaceLister, selector labels.Selector, predicates ...predicate.Func) ([]*corev1.Secret, error) { reqs, err := lister.List(selector) if err != nil { return nil, err } funcs := predicate.Funcs(predicates) out := make([]*corev1.Secret, 0) for _, req := range reqs { if funcs.Evaluate(req) { out = append(out, req) } } return out, nil }