...
1
2
3
4 package watcher
5
6 import (
7 "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
8 "sigs.k8s.io/cli-utils/pkg/object"
9 )
10
11
12 type ObjectFilter interface {
13
14 Filter(obj *unstructured.Unstructured) bool
15 }
16
17
18
19 type AllowListObjectFilter struct {
20 AllowList object.ObjMetadataSet
21 }
22
23 var _ ObjectFilter = &AllowListObjectFilter{}
24
25
26
27 func (f *AllowListObjectFilter) Filter(obj *unstructured.Unstructured) bool {
28 id := object.UnstructuredToObjMetadata(obj)
29 return !f.AllowList.Contains(id)
30 }
31
View as plain text