...
1
16
17
18
19 package v1alpha2
20
21 import (
22 v1alpha2 "k8s.io/api/resource/v1alpha2"
23 "k8s.io/apimachinery/pkg/api/errors"
24 "k8s.io/apimachinery/pkg/labels"
25 "k8s.io/client-go/tools/cache"
26 )
27
28
29
30 type ResourceSliceLister interface {
31
32
33 List(selector labels.Selector) (ret []*v1alpha2.ResourceSlice, err error)
34
35
36 Get(name string) (*v1alpha2.ResourceSlice, error)
37 ResourceSliceListerExpansion
38 }
39
40
41 type resourceSliceLister struct {
42 indexer cache.Indexer
43 }
44
45
46 func NewResourceSliceLister(indexer cache.Indexer) ResourceSliceLister {
47 return &resourceSliceLister{indexer: indexer}
48 }
49
50
51 func (s *resourceSliceLister) List(selector labels.Selector) (ret []*v1alpha2.ResourceSlice, err error) {
52 err = cache.ListAll(s.indexer, selector, func(m interface{}) {
53 ret = append(ret, m.(*v1alpha2.ResourceSlice))
54 })
55 return ret, err
56 }
57
58
59 func (s *resourceSliceLister) Get(name string) (*v1alpha2.ResourceSlice, error) {
60 obj, exists, err := s.indexer.GetByKey(name)
61 if err != nil {
62 return nil, err
63 }
64 if !exists {
65 return nil, errors.NewNotFound(v1alpha2.Resource("resourceslice"), name)
66 }
67 return obj.(*v1alpha2.ResourceSlice), nil
68 }
69
View as plain text