...
1
16
17
18
19 package v1beta3
20
21 import (
22 "context"
23 time "time"
24
25 policyv1beta3 "github.com/linkerd/linkerd2/controller/gen/apis/policy/v1beta3"
26 versioned "github.com/linkerd/linkerd2/controller/gen/client/clientset/versioned"
27 internalinterfaces "github.com/linkerd/linkerd2/controller/gen/client/informers/externalversions/internalinterfaces"
28 v1beta3 "github.com/linkerd/linkerd2/controller/gen/client/listers/policy/v1beta3"
29 v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
30 runtime "k8s.io/apimachinery/pkg/runtime"
31 watch "k8s.io/apimachinery/pkg/watch"
32 cache "k8s.io/client-go/tools/cache"
33 )
34
35
36
37 type HTTPRouteInformer interface {
38 Informer() cache.SharedIndexInformer
39 Lister() v1beta3.HTTPRouteLister
40 }
41
42 type hTTPRouteInformer struct {
43 factory internalinterfaces.SharedInformerFactory
44 tweakListOptions internalinterfaces.TweakListOptionsFunc
45 namespace string
46 }
47
48
49
50
51 func NewHTTPRouteInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
52 return NewFilteredHTTPRouteInformer(client, namespace, resyncPeriod, indexers, nil)
53 }
54
55
56
57
58 func NewFilteredHTTPRouteInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
59 return cache.NewSharedIndexInformer(
60 &cache.ListWatch{
61 ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
62 if tweakListOptions != nil {
63 tweakListOptions(&options)
64 }
65 return client.PolicyV1beta3().HTTPRoutes(namespace).List(context.TODO(), options)
66 },
67 WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
68 if tweakListOptions != nil {
69 tweakListOptions(&options)
70 }
71 return client.PolicyV1beta3().HTTPRoutes(namespace).Watch(context.TODO(), options)
72 },
73 },
74 &policyv1beta3.HTTPRoute{},
75 resyncPeriod,
76 indexers,
77 )
78 }
79
80 func (f *hTTPRouteInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
81 return NewFilteredHTTPRouteInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
82 }
83
84 func (f *hTTPRouteInformer) Informer() cache.SharedIndexInformer {
85 return f.factory.InformerFor(&policyv1beta3.HTTPRoute{}, f.defaultInformer)
86 }
87
88 func (f *hTTPRouteInformer) Lister() v1beta3.HTTPRouteLister {
89 return v1beta3.NewHTTPRouteLister(f.Informer().GetIndexer())
90 }
91
View as plain text