github.com/jenkins-x/jx-api@v0.0.24/pkg/client/informers/externalversions/generic.go (about) 1 // Code generated by informer-gen. DO NOT EDIT. 2 3 package externalversions 4 5 import ( 6 "fmt" 7 8 v1 "github.com/jenkins-x/jx-api/pkg/apis/jenkins.io/v1" 9 schema "k8s.io/apimachinery/pkg/runtime/schema" 10 cache "k8s.io/client-go/tools/cache" 11 ) 12 13 // GenericInformer is type of SharedIndexInformer which will locate and delegate to other 14 // sharedInformers based on type 15 type GenericInformer interface { 16 Informer() cache.SharedIndexInformer 17 Lister() cache.GenericLister 18 } 19 20 type genericInformer struct { 21 informer cache.SharedIndexInformer 22 resource schema.GroupResource 23 } 24 25 // Informer returns the SharedIndexInformer. 26 func (f *genericInformer) Informer() cache.SharedIndexInformer { 27 return f.informer 28 } 29 30 // Lister returns the GenericLister. 31 func (f *genericInformer) Lister() cache.GenericLister { 32 return cache.NewGenericLister(f.Informer().GetIndexer(), f.resource) 33 } 34 35 // ForResource gives generic access to a shared informer of the matching type 36 // TODO extend this to unknown resources with a client pool 37 func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) { 38 switch resource { 39 // Group=jenkins.io, Version=v1 40 case v1.SchemeGroupVersion.WithResource("apps"): 41 return &genericInformer{resource: resource.GroupResource(), informer: f.Jenkins().V1().Apps().Informer()}, nil 42 case v1.SchemeGroupVersion.WithResource("buildpacks"): 43 return &genericInformer{resource: resource.GroupResource(), informer: f.Jenkins().V1().BuildPacks().Informer()}, nil 44 case v1.SchemeGroupVersion.WithResource("commitstatuses"): 45 return &genericInformer{resource: resource.GroupResource(), informer: f.Jenkins().V1().CommitStatuses().Informer()}, nil 46 case v1.SchemeGroupVersion.WithResource("environments"): 47 return &genericInformer{resource: resource.GroupResource(), informer: f.Jenkins().V1().Environments().Informer()}, nil 48 case v1.SchemeGroupVersion.WithResource("environmentrolebindings"): 49 return &genericInformer{resource: resource.GroupResource(), informer: f.Jenkins().V1().EnvironmentRoleBindings().Informer()}, nil 50 case v1.SchemeGroupVersion.WithResource("extensions"): 51 return &genericInformer{resource: resource.GroupResource(), informer: f.Jenkins().V1().Extensions().Informer()}, nil 52 case v1.SchemeGroupVersion.WithResource("facts"): 53 return &genericInformer{resource: resource.GroupResource(), informer: f.Jenkins().V1().Facts().Informer()}, nil 54 case v1.SchemeGroupVersion.WithResource("gitservices"): 55 return &genericInformer{resource: resource.GroupResource(), informer: f.Jenkins().V1().GitServices().Informer()}, nil 56 case v1.SchemeGroupVersion.WithResource("pipelineactivities"): 57 return &genericInformer{resource: resource.GroupResource(), informer: f.Jenkins().V1().PipelineActivities().Informer()}, nil 58 case v1.SchemeGroupVersion.WithResource("pipelinestructures"): 59 return &genericInformer{resource: resource.GroupResource(), informer: f.Jenkins().V1().PipelineStructures().Informer()}, nil 60 case v1.SchemeGroupVersion.WithResource("plugins"): 61 return &genericInformer{resource: resource.GroupResource(), informer: f.Jenkins().V1().Plugins().Informer()}, nil 62 case v1.SchemeGroupVersion.WithResource("releases"): 63 return &genericInformer{resource: resource.GroupResource(), informer: f.Jenkins().V1().Releases().Informer()}, nil 64 case v1.SchemeGroupVersion.WithResource("schedulers"): 65 return &genericInformer{resource: resource.GroupResource(), informer: f.Jenkins().V1().Schedulers().Informer()}, nil 66 case v1.SchemeGroupVersion.WithResource("sourcerepositories"): 67 return &genericInformer{resource: resource.GroupResource(), informer: f.Jenkins().V1().SourceRepositories().Informer()}, nil 68 case v1.SchemeGroupVersion.WithResource("sourcerepositorygroups"): 69 return &genericInformer{resource: resource.GroupResource(), informer: f.Jenkins().V1().SourceRepositoryGroups().Informer()}, nil 70 case v1.SchemeGroupVersion.WithResource("teams"): 71 return &genericInformer{resource: resource.GroupResource(), informer: f.Jenkins().V1().Teams().Informer()}, nil 72 case v1.SchemeGroupVersion.WithResource("users"): 73 return &genericInformer{resource: resource.GroupResource(), informer: f.Jenkins().V1().Users().Informer()}, nil 74 case v1.SchemeGroupVersion.WithResource("workflows"): 75 return &genericInformer{resource: resource.GroupResource(), informer: f.Jenkins().V1().Workflows().Informer()}, nil 76 77 } 78 79 return nil, fmt.Errorf("no informer found for %v", resource) 80 }