generic.go 27 KB

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