...
1
16
17
18
19 package v1beta1
20
21 import (
22 v1beta1 "k8s.io/api/networking/v1beta1"
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 IngressClassLister interface {
31
32
33 List(selector labels.Selector) (ret []*v1beta1.IngressClass, err error)
34
35
36 Get(name string) (*v1beta1.IngressClass, error)
37 IngressClassListerExpansion
38 }
39
40
41 type ingressClassLister struct {
42 indexer cache.Indexer
43 }
44
45
46 func NewIngressClassLister(indexer cache.Indexer) IngressClassLister {
47 return &ingressClassLister{indexer: indexer}
48 }
49
50
51 func (s *ingressClassLister) List(selector labels.Selector) (ret []*v1beta1.IngressClass, err error) {
52 err = cache.ListAll(s.indexer, selector, func(m interface{}) {
53 ret = append(ret, m.(*v1beta1.IngressClass))
54 })
55 return ret, err
56 }
57
58
59 func (s *ingressClassLister) Get(name string) (*v1beta1.IngressClass, 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(v1beta1.Resource("ingressclass"), name)
66 }
67 return obj.(*v1beta1.IngressClass), nil
68 }
69
View as plain text