k8s.io/client-go@v0.31.1/informers/generic.go (about)

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