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  }