mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-06 16:06:56 +00:00
18 lines
712 B
Go
18 lines
712 B
Go
|
package api
|
||
|
|
||
|
import (
|
||
|
kyvernov2alpha1 "github.com/kyverno/kyverno/api/kyverno/v2alpha1"
|
||
|
"k8s.io/apimachinery/pkg/labels"
|
||
|
)
|
||
|
|
||
|
// NamespacedResourceSelector is an abstract interface used to list namespaced resources given a label selector
|
||
|
// Any implementation might exist, cache based, file based, client based etc...
|
||
|
type NamespacedResourceSelector[T any] interface {
|
||
|
// List selects resources based on label selector.
|
||
|
// Objects returned here must be treated as read-only.
|
||
|
List(selector labels.Selector) (ret []T, err error)
|
||
|
}
|
||
|
|
||
|
// PolicyExceptionSelector is an abstract interface used to resolve poliicy exceptions
|
||
|
type PolicyExceptionSelector = NamespacedResourceSelector[*kyvernov2alpha1.PolicyException]
|