...
1
16
17 package metadatalister
18
19 import (
20 "k8s.io/apimachinery/pkg/labels"
21 "k8s.io/apimachinery/pkg/runtime"
22 "k8s.io/client-go/tools/cache"
23 )
24
25 var _ cache.GenericLister = &metadataListerShim{}
26 var _ cache.GenericNamespaceLister = &metadataNamespaceListerShim{}
27
28
29 type metadataListerShim struct {
30 lister Lister
31 }
32
33
34
35 func NewRuntimeObjectShim(lister Lister) cache.GenericLister {
36 return &metadataListerShim{lister: lister}
37 }
38
39
40 func (s *metadataListerShim) List(selector labels.Selector) (ret []runtime.Object, err error) {
41 objs, err := s.lister.List(selector)
42 if err != nil {
43 return nil, err
44 }
45
46 ret = make([]runtime.Object, len(objs))
47 for index, obj := range objs {
48 ret[index] = obj
49 }
50 return ret, err
51 }
52
53
54 func (s *metadataListerShim) Get(name string) (runtime.Object, error) {
55 return s.lister.Get(name)
56 }
57
58 func (s *metadataListerShim) ByNamespace(namespace string) cache.GenericNamespaceLister {
59 return &metadataNamespaceListerShim{
60 namespaceLister: s.lister.Namespace(namespace),
61 }
62 }
63
64
65
66 type metadataNamespaceListerShim struct {
67 namespaceLister NamespaceLister
68 }
69
70
71 func (ns *metadataNamespaceListerShim) List(selector labels.Selector) (ret []runtime.Object, err error) {
72 objs, err := ns.namespaceLister.List(selector)
73 if err != nil {
74 return nil, err
75 }
76
77 ret = make([]runtime.Object, len(objs))
78 for index, obj := range objs {
79 ret[index] = obj
80 }
81 return ret, err
82 }
83
84
85 func (ns *metadataNamespaceListerShim) Get(name string) (runtime.Object, error) {
86 return ns.namespaceLister.Get(name)
87 }
88
View as plain text