...
1
16
17
18
19 package v1beta1
20
21 import (
22 "context"
23 time "time"
24
25 volumesnapshotv1beta1 "github.com/kubernetes-csi/external-snapshotter/client/v4/apis/volumesnapshot/v1beta1"
26 versioned "github.com/kubernetes-csi/external-snapshotter/client/v4/clientset/versioned"
27 internalinterfaces "github.com/kubernetes-csi/external-snapshotter/client/v4/informers/externalversions/internalinterfaces"
28 v1beta1 "github.com/kubernetes-csi/external-snapshotter/client/v4/listers/volumesnapshot/v1beta1"
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 VolumeSnapshotClassInformer interface {
38 Informer() cache.SharedIndexInformer
39 Lister() v1beta1.VolumeSnapshotClassLister
40 }
41
42 type volumeSnapshotClassInformer struct {
43 factory internalinterfaces.SharedInformerFactory
44 tweakListOptions internalinterfaces.TweakListOptionsFunc
45 }
46
47
48
49
50 func NewVolumeSnapshotClassInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
51 return NewFilteredVolumeSnapshotClassInformer(client, resyncPeriod, indexers, nil)
52 }
53
54
55
56
57 func NewFilteredVolumeSnapshotClassInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
58 return cache.NewSharedIndexInformer(
59 &cache.ListWatch{
60 ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
61 if tweakListOptions != nil {
62 tweakListOptions(&options)
63 }
64 return client.SnapshotV1beta1().VolumeSnapshotClasses().List(context.TODO(), options)
65 },
66 WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
67 if tweakListOptions != nil {
68 tweakListOptions(&options)
69 }
70 return client.SnapshotV1beta1().VolumeSnapshotClasses().Watch(context.TODO(), options)
71 },
72 },
73 &volumesnapshotv1beta1.VolumeSnapshotClass{},
74 resyncPeriod,
75 indexers,
76 )
77 }
78
79 func (f *volumeSnapshotClassInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
80 return NewFilteredVolumeSnapshotClassInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
81 }
82
83 func (f *volumeSnapshotClassInformer) Informer() cache.SharedIndexInformer {
84 return f.factory.InformerFor(&volumesnapshotv1beta1.VolumeSnapshotClass{}, f.defaultInformer)
85 }
86
87 func (f *volumeSnapshotClassInformer) Lister() v1beta1.VolumeSnapshotClassLister {
88 return v1beta1.NewVolumeSnapshotClassLister(f.Informer().GetIndexer())
89 }
90
View as plain text