...

Source file src/k8s.io/client-go/informers/generic.go

Documentation: k8s.io/client-go/informers

     1  /*
     2  Copyright The Kubernetes Authors.
     3  
     4  Licensed under the Apache License, Version 2.0 (the "License");
     5  you may not use this file except in compliance with the License.
     6  You may obtain a copy of the License at
     7  
     8      http://www.apache.org/licenses/LICENSE-2.0
     9  
    10  Unless required by applicable law or agreed to in writing, software
    11  distributed under the License is distributed on an "AS IS" BASIS,
    12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  See the License for the specific language governing permissions and
    14  limitations under the License.
    15  */
    16  
    17  // Code generated by informer-gen. DO NOT EDIT.
    18  
    19  package informers
    20  
    21  import (
    22  	"fmt"
    23  
    24  	v1 "k8s.io/api/admissionregistration/v1"
    25  	v1alpha1 "k8s.io/api/admissionregistration/v1alpha1"
    26  	v1beta1 "k8s.io/api/admissionregistration/v1beta1"
    27  	apiserverinternalv1alpha1 "k8s.io/api/apiserverinternal/v1alpha1"
    28  	appsv1 "k8s.io/api/apps/v1"
    29  	appsv1beta1 "k8s.io/api/apps/v1beta1"
    30  	v1beta2 "k8s.io/api/apps/v1beta2"
    31  	autoscalingv1 "k8s.io/api/autoscaling/v1"
    32  	v2 "k8s.io/api/autoscaling/v2"
    33  	v2beta1 "k8s.io/api/autoscaling/v2beta1"
    34  	v2beta2 "k8s.io/api/autoscaling/v2beta2"
    35  	batchv1 "k8s.io/api/batch/v1"
    36  	batchv1beta1 "k8s.io/api/batch/v1beta1"
    37  	certificatesv1 "k8s.io/api/certificates/v1"
    38  	certificatesv1alpha1 "k8s.io/api/certificates/v1alpha1"
    39  	certificatesv1beta1 "k8s.io/api/certificates/v1beta1"
    40  	coordinationv1 "k8s.io/api/coordination/v1"
    41  	coordinationv1beta1 "k8s.io/api/coordination/v1beta1"
    42  	corev1 "k8s.io/api/core/v1"
    43  	discoveryv1 "k8s.io/api/discovery/v1"
    44  	discoveryv1beta1 "k8s.io/api/discovery/v1beta1"
    45  	eventsv1 "k8s.io/api/events/v1"
    46  	eventsv1beta1 "k8s.io/api/events/v1beta1"
    47  	extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
    48  	flowcontrolv1 "k8s.io/api/flowcontrol/v1"
    49  	flowcontrolv1beta1 "k8s.io/api/flowcontrol/v1beta1"
    50  	flowcontrolv1beta2 "k8s.io/api/flowcontrol/v1beta2"
    51  	v1beta3 "k8s.io/api/flowcontrol/v1beta3"
    52  	networkingv1 "k8s.io/api/networking/v1"
    53  	networkingv1alpha1 "k8s.io/api/networking/v1alpha1"
    54  	networkingv1beta1 "k8s.io/api/networking/v1beta1"
    55  	nodev1 "k8s.io/api/node/v1"
    56  	nodev1alpha1 "k8s.io/api/node/v1alpha1"
    57  	nodev1beta1 "k8s.io/api/node/v1beta1"
    58  	policyv1 "k8s.io/api/policy/v1"
    59  	policyv1beta1 "k8s.io/api/policy/v1beta1"
    60  	rbacv1 "k8s.io/api/rbac/v1"
    61  	rbacv1alpha1 "k8s.io/api/rbac/v1alpha1"
    62  	rbacv1beta1 "k8s.io/api/rbac/v1beta1"
    63  	v1alpha2 "k8s.io/api/resource/v1alpha2"
    64  	schedulingv1 "k8s.io/api/scheduling/v1"
    65  	schedulingv1alpha1 "k8s.io/api/scheduling/v1alpha1"
    66  	schedulingv1beta1 "k8s.io/api/scheduling/v1beta1"
    67  	storagev1 "k8s.io/api/storage/v1"
    68  	storagev1alpha1 "k8s.io/api/storage/v1alpha1"
    69  	storagev1beta1 "k8s.io/api/storage/v1beta1"
    70  	storagemigrationv1alpha1 "k8s.io/api/storagemigration/v1alpha1"
    71  	schema "k8s.io/apimachinery/pkg/runtime/schema"
    72  	cache "k8s.io/client-go/tools/cache"
    73  )
    74  
    75  // GenericInformer is type of SharedIndexInformer which will locate and delegate to other
    76  // sharedInformers based on type
    77  type GenericInformer interface {
    78  	Informer() cache.SharedIndexInformer
    79  	Lister() cache.GenericLister
    80  }
    81  
    82  type genericInformer struct {
    83  	informer cache.SharedIndexInformer
    84  	resource schema.GroupResource
    85  }
    86  
    87  // Informer returns the SharedIndexInformer.
    88  func (f *genericInformer) Informer() cache.SharedIndexInformer {
    89  	return f.informer
    90  }
    91  
    92  // Lister returns the GenericLister.
    93  func (f *genericInformer) Lister() cache.GenericLister {
    94  	return cache.NewGenericLister(f.Informer().GetIndexer(), f.resource)
    95  }
    96  
    97  // ForResource gives generic access to a shared informer of the matching type
    98  // TODO extend this to unknown resources with a client pool
    99  func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) {
   100  	switch resource {
   101  	// Group=admissionregistration.k8s.io, Version=v1
   102  	case v1.SchemeGroupVersion.WithResource("mutatingwebhookconfigurations"):
   103  		return &genericInformer{resource: resource.GroupResource(), informer: f.Admissionregistration().V1().MutatingWebhookConfigurations().Informer()}, nil
   104  	case v1.SchemeGroupVersion.WithResource("validatingadmissionpolicies"):
   105  		return &genericInformer{resource: resource.GroupResource(), informer: f.Admissionregistration().V1().ValidatingAdmissionPolicies().Informer()}, nil
   106  	case v1.SchemeGroupVersion.WithResource("validatingadmissionpolicybindings"):
   107  		return &genericInformer{resource: resource.GroupResource(), informer: f.Admissionregistration().V1().ValidatingAdmissionPolicyBindings().Informer()}, nil
   108  	case v1.SchemeGroupVersion.WithResource("validatingwebhookconfigurations"):
   109  		return &genericInformer{resource: resource.GroupResource(), informer: f.Admissionregistration().V1().ValidatingWebhookConfigurations().Informer()}, nil
   110  
   111  		// Group=admissionregistration.k8s.io, Version=v1alpha1
   112  	case v1alpha1.SchemeGroupVersion.WithResource("validatingadmissionpolicies"):
   113  		return &genericInformer{resource: resource.GroupResource(), informer: f.Admissionregistration().V1alpha1().ValidatingAdmissionPolicies().Informer()}, nil
   114  	case v1alpha1.SchemeGroupVersion.WithResource("validatingadmissionpolicybindings"):
   115  		return &genericInformer{resource: resource.GroupResource(), informer: f.Admissionregistration().V1alpha1().ValidatingAdmissionPolicyBindings().Informer()}, nil
   116  
   117  		// Group=admissionregistration.k8s.io, Version=v1beta1
   118  	case v1beta1.SchemeGroupVersion.WithResource("mutatingwebhookconfigurations"):
   119  		return &genericInformer{resource: resource.GroupResource(), informer: f.Admissionregistration().V1beta1().MutatingWebhookConfigurations().Informer()}, nil
   120  	case v1beta1.SchemeGroupVersion.WithResource("validatingadmissionpolicies"):
   121  		return &genericInformer{resource: resource.GroupResource(), informer: f.Admissionregistration().V1beta1().ValidatingAdmissionPolicies().Informer()}, nil
   122  	case v1beta1.SchemeGroupVersion.WithResource("validatingadmissionpolicybindings"):
   123  		return &genericInformer{resource: resource.GroupResource(), informer: f.Admissionregistration().V1beta1().ValidatingAdmissionPolicyBindings().Informer()}, nil
   124  	case v1beta1.SchemeGroupVersion.WithResource("validatingwebhookconfigurations"):
   125  		return &genericInformer{resource: resource.GroupResource(), informer: f.Admissionregistration().V1beta1().ValidatingWebhookConfigurations().Informer()}, nil
   126  
   127  		// Group=apps, Version=v1
   128  	case appsv1.SchemeGroupVersion.WithResource("controllerrevisions"):
   129  		return &genericInformer{resource: resource.GroupResource(), informer: f.Apps().V1().ControllerRevisions().Informer()}, nil
   130  	case appsv1.SchemeGroupVersion.WithResource("daemonsets"):
   131  		return &genericInformer{resource: resource.GroupResource(), informer: f.Apps().V1().DaemonSets().Informer()}, nil
   132  	case appsv1.SchemeGroupVersion.WithResource("deployments"):
   133  		return &genericInformer{resource: resource.GroupResource(), informer: f.Apps().V1().Deployments().Informer()}, nil
   134  	case appsv1.SchemeGroupVersion.WithResource("replicasets"):
   135  		return &genericInformer{resource: resource.GroupResource(), informer: f.Apps().V1().ReplicaSets().Informer()}, nil
   136  	case appsv1.SchemeGroupVersion.WithResource("statefulsets"):
   137  		return &genericInformer{resource: resource.GroupResource(), informer: f.Apps().V1().StatefulSets().Informer()}, nil
   138  
   139  		// Group=apps, Version=v1beta1
   140  	case appsv1beta1.SchemeGroupVersion.WithResource("controllerrevisions"):
   141  		return &genericInformer{resource: resource.GroupResource(), informer: f.Apps().V1beta1().ControllerRevisions().Informer()}, nil
   142  	case appsv1beta1.SchemeGroupVersion.WithResource("deployments"):
   143  		return &genericInformer{resource: resource.GroupResource(), informer: f.Apps().V1beta1().Deployments().Informer()}, nil
   144  	case appsv1beta1.SchemeGroupVersion.WithResource("statefulsets"):
   145  		return &genericInformer{resource: resource.GroupResource(), informer: f.Apps().V1beta1().StatefulSets().Informer()}, nil
   146  
   147  		// Group=apps, Version=v1beta2
   148  	case v1beta2.SchemeGroupVersion.WithResource("controllerrevisions"):
   149  		return &genericInformer{resource: resource.GroupResource(), informer: f.Apps().V1beta2().ControllerRevisions().Informer()}, nil
   150  	case v1beta2.SchemeGroupVersion.WithResource("daemonsets"):
   151  		return &genericInformer{resource: resource.GroupResource(), informer: f.Apps().V1beta2().DaemonSets().Informer()}, nil
   152  	case v1beta2.SchemeGroupVersion.WithResource("deployments"):
   153  		return &genericInformer{resource: resource.GroupResource(), informer: f.Apps().V1beta2().Deployments().Informer()}, nil
   154  	case v1beta2.SchemeGroupVersion.WithResource("replicasets"):
   155  		return &genericInformer{resource: resource.GroupResource(), informer: f.Apps().V1beta2().ReplicaSets().Informer()}, nil
   156  	case v1beta2.SchemeGroupVersion.WithResource("statefulsets"):
   157  		return &genericInformer{resource: resource.GroupResource(), informer: f.Apps().V1beta2().StatefulSets().Informer()}, nil
   158  
   159  		// Group=autoscaling, Version=v1
   160  	case autoscalingv1.SchemeGroupVersion.WithResource("horizontalpodautoscalers"):
   161  		return &genericInformer{resource: resource.GroupResource(), informer: f.Autoscaling().V1().HorizontalPodAutoscalers().Informer()}, nil
   162  
   163  		// Group=autoscaling, Version=v2
   164  	case v2.SchemeGroupVersion.WithResource("horizontalpodautoscalers"):
   165  		return &genericInformer{resource: resource.GroupResource(), informer: f.Autoscaling().V2().HorizontalPodAutoscalers().Informer()}, nil
   166  
   167  		// Group=autoscaling, Version=v2beta1
   168  	case v2beta1.SchemeGroupVersion.WithResource("horizontalpodautoscalers"):
   169  		return &genericInformer{resource: resource.GroupResource(), informer: f.Autoscaling().V2beta1().HorizontalPodAutoscalers().Informer()}, nil
   170  
   171  		// Group=autoscaling, Version=v2beta2
   172  	case v2beta2.SchemeGroupVersion.WithResource("horizontalpodautoscalers"):
   173  		return &genericInformer{resource: resource.GroupResource(), informer: f.Autoscaling().V2beta2().HorizontalPodAutoscalers().Informer()}, nil
   174  
   175  		// Group=batch, Version=v1
   176  	case batchv1.SchemeGroupVersion.WithResource("cronjobs"):
   177  		return &genericInformer{resource: resource.GroupResource(), informer: f.Batch().V1().CronJobs().Informer()}, nil
   178  	case batchv1.SchemeGroupVersion.WithResource("jobs"):
   179  		return &genericInformer{resource: resource.GroupResource(), informer: f.Batch().V1().Jobs().Informer()}, nil
   180  
   181  		// Group=batch, Version=v1beta1
   182  	case batchv1beta1.SchemeGroupVersion.WithResource("cronjobs"):
   183  		return &genericInformer{resource: resource.GroupResource(), informer: f.Batch().V1beta1().CronJobs().Informer()}, nil
   184  
   185  		// Group=certificates.k8s.io, Version=v1
   186  	case certificatesv1.SchemeGroupVersion.WithResource("certificatesigningrequests"):
   187  		return &genericInformer{resource: resource.GroupResource(), informer: f.Certificates().V1().CertificateSigningRequests().Informer()}, nil
   188  
   189  		// Group=certificates.k8s.io, Version=v1alpha1
   190  	case certificatesv1alpha1.SchemeGroupVersion.WithResource("clustertrustbundles"):
   191  		return &genericInformer{resource: resource.GroupResource(), informer: f.Certificates().V1alpha1().ClusterTrustBundles().Informer()}, nil
   192  
   193  		// Group=certificates.k8s.io, Version=v1beta1
   194  	case certificatesv1beta1.SchemeGroupVersion.WithResource("certificatesigningrequests"):
   195  		return &genericInformer{resource: resource.GroupResource(), informer: f.Certificates().V1beta1().CertificateSigningRequests().Informer()}, nil
   196  
   197  		// Group=coordination.k8s.io, Version=v1
   198  	case coordinationv1.SchemeGroupVersion.WithResource("leases"):
   199  		return &genericInformer{resource: resource.GroupResource(), informer: f.Coordination().V1().Leases().Informer()}, nil
   200  
   201  		// Group=coordination.k8s.io, Version=v1beta1
   202  	case coordinationv1beta1.SchemeGroupVersion.WithResource("leases"):
   203  		return &genericInformer{resource: resource.GroupResource(), informer: f.Coordination().V1beta1().Leases().Informer()}, nil
   204  
   205  		// Group=core, Version=v1
   206  	case corev1.SchemeGroupVersion.WithResource("componentstatuses"):
   207  		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().ComponentStatuses().Informer()}, nil
   208  	case corev1.SchemeGroupVersion.WithResource("configmaps"):
   209  		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().ConfigMaps().Informer()}, nil
   210  	case corev1.SchemeGroupVersion.WithResource("endpoints"):
   211  		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().Endpoints().Informer()}, nil
   212  	case corev1.SchemeGroupVersion.WithResource("events"):
   213  		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().Events().Informer()}, nil
   214  	case corev1.SchemeGroupVersion.WithResource("limitranges"):
   215  		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().LimitRanges().Informer()}, nil
   216  	case corev1.SchemeGroupVersion.WithResource("namespaces"):
   217  		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().Namespaces().Informer()}, nil
   218  	case corev1.SchemeGroupVersion.WithResource("nodes"):
   219  		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().Nodes().Informer()}, nil
   220  	case corev1.SchemeGroupVersion.WithResource("persistentvolumes"):
   221  		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().PersistentVolumes().Informer()}, nil
   222  	case corev1.SchemeGroupVersion.WithResource("persistentvolumeclaims"):
   223  		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().PersistentVolumeClaims().Informer()}, nil
   224  	case corev1.SchemeGroupVersion.WithResource("pods"):
   225  		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().Pods().Informer()}, nil
   226  	case corev1.SchemeGroupVersion.WithResource("podtemplates"):
   227  		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().PodTemplates().Informer()}, nil
   228  	case corev1.SchemeGroupVersion.WithResource("replicationcontrollers"):
   229  		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().ReplicationControllers().Informer()}, nil
   230  	case corev1.SchemeGroupVersion.WithResource("resourcequotas"):
   231  		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().ResourceQuotas().Informer()}, nil
   232  	case corev1.SchemeGroupVersion.WithResource("secrets"):
   233  		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().Secrets().Informer()}, nil
   234  	case corev1.SchemeGroupVersion.WithResource("services"):
   235  		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().Services().Informer()}, nil
   236  	case corev1.SchemeGroupVersion.WithResource("serviceaccounts"):
   237  		return &genericInformer{resource: resource.GroupResource(), informer: f.Core().V1().ServiceAccounts().Informer()}, nil
   238  
   239  		// Group=discovery.k8s.io, Version=v1
   240  	case discoveryv1.SchemeGroupVersion.WithResource("endpointslices"):
   241  		return &genericInformer{resource: resource.GroupResource(), informer: f.Discovery().V1().EndpointSlices().Informer()}, nil
   242  
   243  		// Group=discovery.k8s.io, Version=v1beta1
   244  	case discoveryv1beta1.SchemeGroupVersion.WithResource("endpointslices"):
   245  		return &genericInformer{resource: resource.GroupResource(), informer: f.Discovery().V1beta1().EndpointSlices().Informer()}, nil
   246  
   247  		// Group=events.k8s.io, Version=v1
   248  	case eventsv1.SchemeGroupVersion.WithResource("events"):
   249  		return &genericInformer{resource: resource.GroupResource(), informer: f.Events().V1().Events().Informer()}, nil
   250  
   251  		// Group=events.k8s.io, Version=v1beta1
   252  	case eventsv1beta1.SchemeGroupVersion.WithResource("events"):
   253  		return &genericInformer{resource: resource.GroupResource(), informer: f.Events().V1beta1().Events().Informer()}, nil
   254  
   255  		// Group=extensions, Version=v1beta1
   256  	case extensionsv1beta1.SchemeGroupVersion.WithResource("daemonsets"):
   257  		return &genericInformer{resource: resource.GroupResource(), informer: f.Extensions().V1beta1().DaemonSets().Informer()}, nil
   258  	case extensionsv1beta1.SchemeGroupVersion.WithResource("deployments"):
   259  		return &genericInformer{resource: resource.GroupResource(), informer: f.Extensions().V1beta1().Deployments().Informer()}, nil
   260  	case extensionsv1beta1.SchemeGroupVersion.WithResource("ingresses"):
   261  		return &genericInformer{resource: resource.GroupResource(), informer: f.Extensions().V1beta1().Ingresses().Informer()}, nil
   262  	case extensionsv1beta1.SchemeGroupVersion.WithResource("networkpolicies"):
   263  		return &genericInformer{resource: resource.GroupResource(), informer: f.Extensions().V1beta1().NetworkPolicies().Informer()}, nil
   264  	case extensionsv1beta1.SchemeGroupVersion.WithResource("replicasets"):
   265  		return &genericInformer{resource: resource.GroupResource(), informer: f.Extensions().V1beta1().ReplicaSets().Informer()}, nil
   266  
   267  		// Group=flowcontrol.apiserver.k8s.io, Version=v1
   268  	case flowcontrolv1.SchemeGroupVersion.WithResource("flowschemas"):
   269  		return &genericInformer{resource: resource.GroupResource(), informer: f.Flowcontrol().V1().FlowSchemas().Informer()}, nil
   270  	case flowcontrolv1.SchemeGroupVersion.WithResource("prioritylevelconfigurations"):
   271  		return &genericInformer{resource: resource.GroupResource(), informer: f.Flowcontrol().V1().PriorityLevelConfigurations().Informer()}, nil
   272  
   273  		// Group=flowcontrol.apiserver.k8s.io, Version=v1beta1
   274  	case flowcontrolv1beta1.SchemeGroupVersion.WithResource("flowschemas"):
   275  		return &genericInformer{resource: resource.GroupResource(), informer: f.Flowcontrol().V1beta1().FlowSchemas().Informer()}, nil
   276  	case flowcontrolv1beta1.SchemeGroupVersion.WithResource("prioritylevelconfigurations"):
   277  		return &genericInformer{resource: resource.GroupResource(), informer: f.Flowcontrol().V1beta1().PriorityLevelConfigurations().Informer()}, nil
   278  
   279  		// Group=flowcontrol.apiserver.k8s.io, Version=v1beta2
   280  	case flowcontrolv1beta2.SchemeGroupVersion.WithResource("flowschemas"):
   281  		return &genericInformer{resource: resource.GroupResource(), informer: f.Flowcontrol().V1beta2().FlowSchemas().Informer()}, nil
   282  	case flowcontrolv1beta2.SchemeGroupVersion.WithResource("prioritylevelconfigurations"):
   283  		return &genericInformer{resource: resource.GroupResource(), informer: f.Flowcontrol().V1beta2().PriorityLevelConfigurations().Informer()}, nil
   284  
   285  		// Group=flowcontrol.apiserver.k8s.io, Version=v1beta3
   286  	case v1beta3.SchemeGroupVersion.WithResource("flowschemas"):
   287  		return &genericInformer{resource: resource.GroupResource(), informer: f.Flowcontrol().V1beta3().FlowSchemas().Informer()}, nil
   288  	case v1beta3.SchemeGroupVersion.WithResource("prioritylevelconfigurations"):
   289  		return &genericInformer{resource: resource.GroupResource(), informer: f.Flowcontrol().V1beta3().PriorityLevelConfigurations().Informer()}, nil
   290  
   291  		// Group=internal.apiserver.k8s.io, Version=v1alpha1
   292  	case apiserverinternalv1alpha1.SchemeGroupVersion.WithResource("storageversions"):
   293  		return &genericInformer{resource: resource.GroupResource(), informer: f.Internal().V1alpha1().StorageVersions().Informer()}, nil
   294  
   295  		// Group=networking.k8s.io, Version=v1
   296  	case networkingv1.SchemeGroupVersion.WithResource("ingresses"):
   297  		return &genericInformer{resource: resource.GroupResource(), informer: f.Networking().V1().Ingresses().Informer()}, nil
   298  	case networkingv1.SchemeGroupVersion.WithResource("ingressclasses"):
   299  		return &genericInformer{resource: resource.GroupResource(), informer: f.Networking().V1().IngressClasses().Informer()}, nil
   300  	case networkingv1.SchemeGroupVersion.WithResource("networkpolicies"):
   301  		return &genericInformer{resource: resource.GroupResource(), informer: f.Networking().V1().NetworkPolicies().Informer()}, nil
   302  
   303  		// Group=networking.k8s.io, Version=v1alpha1
   304  	case networkingv1alpha1.SchemeGroupVersion.WithResource("ipaddresses"):
   305  		return &genericInformer{resource: resource.GroupResource(), informer: f.Networking().V1alpha1().IPAddresses().Informer()}, nil
   306  	case networkingv1alpha1.SchemeGroupVersion.WithResource("servicecidrs"):
   307  		return &genericInformer{resource: resource.GroupResource(), informer: f.Networking().V1alpha1().ServiceCIDRs().Informer()}, nil
   308  
   309  		// Group=networking.k8s.io, Version=v1beta1
   310  	case networkingv1beta1.SchemeGroupVersion.WithResource("ingresses"):
   311  		return &genericInformer{resource: resource.GroupResource(), informer: f.Networking().V1beta1().Ingresses().Informer()}, nil
   312  	case networkingv1beta1.SchemeGroupVersion.WithResource("ingressclasses"):
   313  		return &genericInformer{resource: resource.GroupResource(), informer: f.Networking().V1beta1().IngressClasses().Informer()}, nil
   314  
   315  		// Group=node.k8s.io, Version=v1
   316  	case nodev1.SchemeGroupVersion.WithResource("runtimeclasses"):
   317  		return &genericInformer{resource: resource.GroupResource(), informer: f.Node().V1().RuntimeClasses().Informer()}, nil
   318  
   319  		// Group=node.k8s.io, Version=v1alpha1
   320  	case nodev1alpha1.SchemeGroupVersion.WithResource("runtimeclasses"):
   321  		return &genericInformer{resource: resource.GroupResource(), informer: f.Node().V1alpha1().RuntimeClasses().Informer()}, nil
   322  
   323  		// Group=node.k8s.io, Version=v1beta1
   324  	case nodev1beta1.SchemeGroupVersion.WithResource("runtimeclasses"):
   325  		return &genericInformer{resource: resource.GroupResource(), informer: f.Node().V1beta1().RuntimeClasses().Informer()}, nil
   326  
   327  		// Group=policy, Version=v1
   328  	case policyv1.SchemeGroupVersion.WithResource("poddisruptionbudgets"):
   329  		return &genericInformer{resource: resource.GroupResource(), informer: f.Policy().V1().PodDisruptionBudgets().Informer()}, nil
   330  
   331  		// Group=policy, Version=v1beta1
   332  	case policyv1beta1.SchemeGroupVersion.WithResource("poddisruptionbudgets"):
   333  		return &genericInformer{resource: resource.GroupResource(), informer: f.Policy().V1beta1().PodDisruptionBudgets().Informer()}, nil
   334  
   335  		// Group=rbac.authorization.k8s.io, Version=v1
   336  	case rbacv1.SchemeGroupVersion.WithResource("clusterroles"):
   337  		return &genericInformer{resource: resource.GroupResource(), informer: f.Rbac().V1().ClusterRoles().Informer()}, nil
   338  	case rbacv1.SchemeGroupVersion.WithResource("clusterrolebindings"):
   339  		return &genericInformer{resource: resource.GroupResource(), informer: f.Rbac().V1().ClusterRoleBindings().Informer()}, nil
   340  	case rbacv1.SchemeGroupVersion.WithResource("roles"):
   341  		return &genericInformer{resource: resource.GroupResource(), informer: f.Rbac().V1().Roles().Informer()}, nil
   342  	case rbacv1.SchemeGroupVersion.WithResource("rolebindings"):
   343  		return &genericInformer{resource: resource.GroupResource(), informer: f.Rbac().V1().RoleBindings().Informer()}, nil
   344  
   345  		// Group=rbac.authorization.k8s.io, Version=v1alpha1
   346  	case rbacv1alpha1.SchemeGroupVersion.WithResource("clusterroles"):
   347  		return &genericInformer{resource: resource.GroupResource(), informer: f.Rbac().V1alpha1().ClusterRoles().Informer()}, nil
   348  	case rbacv1alpha1.SchemeGroupVersion.WithResource("clusterrolebindings"):
   349  		return &genericInformer{resource: resource.GroupResource(), informer: f.Rbac().V1alpha1().ClusterRoleBindings().Informer()}, nil
   350  	case rbacv1alpha1.SchemeGroupVersion.WithResource("roles"):
   351  		return &genericInformer{resource: resource.GroupResource(), informer: f.Rbac().V1alpha1().Roles().Informer()}, nil
   352  	case rbacv1alpha1.SchemeGroupVersion.WithResource("rolebindings"):
   353  		return &genericInformer{resource: resource.GroupResource(), informer: f.Rbac().V1alpha1().RoleBindings().Informer()}, nil
   354  
   355  		// Group=rbac.authorization.k8s.io, Version=v1beta1
   356  	case rbacv1beta1.SchemeGroupVersion.WithResource("clusterroles"):
   357  		return &genericInformer{resource: resource.GroupResource(), informer: f.Rbac().V1beta1().ClusterRoles().Informer()}, nil
   358  	case rbacv1beta1.SchemeGroupVersion.WithResource("clusterrolebindings"):
   359  		return &genericInformer{resource: resource.GroupResource(), informer: f.Rbac().V1beta1().ClusterRoleBindings().Informer()}, nil
   360  	case rbacv1beta1.SchemeGroupVersion.WithResource("roles"):
   361  		return &genericInformer{resource: resource.GroupResource(), informer: f.Rbac().V1beta1().Roles().Informer()}, nil
   362  	case rbacv1beta1.SchemeGroupVersion.WithResource("rolebindings"):
   363  		return &genericInformer{resource: resource.GroupResource(), informer: f.Rbac().V1beta1().RoleBindings().Informer()}, nil
   364  
   365  		// Group=resource.k8s.io, Version=v1alpha2
   366  	case v1alpha2.SchemeGroupVersion.WithResource("podschedulingcontexts"):
   367  		return &genericInformer{resource: resource.GroupResource(), informer: f.Resource().V1alpha2().PodSchedulingContexts().Informer()}, nil
   368  	case v1alpha2.SchemeGroupVersion.WithResource("resourceclaims"):
   369  		return &genericInformer{resource: resource.GroupResource(), informer: f.Resource().V1alpha2().ResourceClaims().Informer()}, nil
   370  	case v1alpha2.SchemeGroupVersion.WithResource("resourceclaimparameters"):
   371  		return &genericInformer{resource: resource.GroupResource(), informer: f.Resource().V1alpha2().ResourceClaimParameters().Informer()}, nil
   372  	case v1alpha2.SchemeGroupVersion.WithResource("resourceclaimtemplates"):
   373  		return &genericInformer{resource: resource.GroupResource(), informer: f.Resource().V1alpha2().ResourceClaimTemplates().Informer()}, nil
   374  	case v1alpha2.SchemeGroupVersion.WithResource("resourceclasses"):
   375  		return &genericInformer{resource: resource.GroupResource(), informer: f.Resource().V1alpha2().ResourceClasses().Informer()}, nil
   376  	case v1alpha2.SchemeGroupVersion.WithResource("resourceclassparameters"):
   377  		return &genericInformer{resource: resource.GroupResource(), informer: f.Resource().V1alpha2().ResourceClassParameters().Informer()}, nil
   378  	case v1alpha2.SchemeGroupVersion.WithResource("resourceslices"):
   379  		return &genericInformer{resource: resource.GroupResource(), informer: f.Resource().V1alpha2().ResourceSlices().Informer()}, nil
   380  
   381  		// Group=scheduling.k8s.io, Version=v1
   382  	case schedulingv1.SchemeGroupVersion.WithResource("priorityclasses"):
   383  		return &genericInformer{resource: resource.GroupResource(), informer: f.Scheduling().V1().PriorityClasses().Informer()}, nil
   384  
   385  		// Group=scheduling.k8s.io, Version=v1alpha1
   386  	case schedulingv1alpha1.SchemeGroupVersion.WithResource("priorityclasses"):
   387  		return &genericInformer{resource: resource.GroupResource(), informer: f.Scheduling().V1alpha1().PriorityClasses().Informer()}, nil
   388  
   389  		// Group=scheduling.k8s.io, Version=v1beta1
   390  	case schedulingv1beta1.SchemeGroupVersion.WithResource("priorityclasses"):
   391  		return &genericInformer{resource: resource.GroupResource(), informer: f.Scheduling().V1beta1().PriorityClasses().Informer()}, nil
   392  
   393  		// Group=storage.k8s.io, Version=v1
   394  	case storagev1.SchemeGroupVersion.WithResource("csidrivers"):
   395  		return &genericInformer{resource: resource.GroupResource(), informer: f.Storage().V1().CSIDrivers().Informer()}, nil
   396  	case storagev1.SchemeGroupVersion.WithResource("csinodes"):
   397  		return &genericInformer{resource: resource.GroupResource(), informer: f.Storage().V1().CSINodes().Informer()}, nil
   398  	case storagev1.SchemeGroupVersion.WithResource("csistoragecapacities"):
   399  		return &genericInformer{resource: resource.GroupResource(), informer: f.Storage().V1().CSIStorageCapacities().Informer()}, nil
   400  	case storagev1.SchemeGroupVersion.WithResource("storageclasses"):
   401  		return &genericInformer{resource: resource.GroupResource(), informer: f.Storage().V1().StorageClasses().Informer()}, nil
   402  	case storagev1.SchemeGroupVersion.WithResource("volumeattachments"):
   403  		return &genericInformer{resource: resource.GroupResource(), informer: f.Storage().V1().VolumeAttachments().Informer()}, nil
   404  
   405  		// Group=storage.k8s.io, Version=v1alpha1
   406  	case storagev1alpha1.SchemeGroupVersion.WithResource("csistoragecapacities"):
   407  		return &genericInformer{resource: resource.GroupResource(), informer: f.Storage().V1alpha1().CSIStorageCapacities().Informer()}, nil
   408  	case storagev1alpha1.SchemeGroupVersion.WithResource("volumeattachments"):
   409  		return &genericInformer{resource: resource.GroupResource(), informer: f.Storage().V1alpha1().VolumeAttachments().Informer()}, nil
   410  	case storagev1alpha1.SchemeGroupVersion.WithResource("volumeattributesclasses"):
   411  		return &genericInformer{resource: resource.GroupResource(), informer: f.Storage().V1alpha1().VolumeAttributesClasses().Informer()}, nil
   412  
   413  		// Group=storage.k8s.io, Version=v1beta1
   414  	case storagev1beta1.SchemeGroupVersion.WithResource("csidrivers"):
   415  		return &genericInformer{resource: resource.GroupResource(), informer: f.Storage().V1beta1().CSIDrivers().Informer()}, nil
   416  	case storagev1beta1.SchemeGroupVersion.WithResource("csinodes"):
   417  		return &genericInformer{resource: resource.GroupResource(), informer: f.Storage().V1beta1().CSINodes().Informer()}, nil
   418  	case storagev1beta1.SchemeGroupVersion.WithResource("csistoragecapacities"):
   419  		return &genericInformer{resource: resource.GroupResource(), informer: f.Storage().V1beta1().CSIStorageCapacities().Informer()}, nil
   420  	case storagev1beta1.SchemeGroupVersion.WithResource("storageclasses"):
   421  		return &genericInformer{resource: resource.GroupResource(), informer: f.Storage().V1beta1().StorageClasses().Informer()}, nil
   422  	case storagev1beta1.SchemeGroupVersion.WithResource("volumeattachments"):
   423  		return &genericInformer{resource: resource.GroupResource(), informer: f.Storage().V1beta1().VolumeAttachments().Informer()}, nil
   424  
   425  		// Group=storagemigration.k8s.io, Version=v1alpha1
   426  	case storagemigrationv1alpha1.SchemeGroupVersion.WithResource("storageversionmigrations"):
   427  		return &genericInformer{resource: resource.GroupResource(), informer: f.Storagemigration().V1alpha1().StorageVersionMigrations().Informer()}, nil
   428  
   429  	}
   430  
   431  	return nil, fmt.Errorf("no informer found for %v", resource)
   432  }
   433  

View as plain text