Newer
Older
AnthosCertManager / pkg / controller / certificates / lister.go
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
}