6d9496185e
Reviewed-on: #2 Co-authored-by: Timo Behrendt <t.behrendt@t00n.de> Co-committed-by: Timo Behrendt <t.behrendt@t00n.de>
117 lines
5.6 KiB
Go
117 lines
5.6 KiB
Go
/*
|
|
Copyright The Kubernetes Authors.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
// Code generated by informer-gen. DO NOT EDIT.
|
|
|
|
package v1alpha1
|
|
|
|
import (
|
|
context "context"
|
|
time "time"
|
|
|
|
apisapplicationv1alpha1 "gitea.t000-n.de/t.behrendt/authentik-kubernetes-operator/pkg/apis/application/v1alpha1"
|
|
versioned "gitea.t000-n.de/t.behrendt/authentik-kubernetes-operator/pkg/generated/clientset/versioned"
|
|
internalinterfaces "gitea.t000-n.de/t.behrendt/authentik-kubernetes-operator/pkg/generated/informers/externalversions/internalinterfaces"
|
|
applicationv1alpha1 "gitea.t000-n.de/t.behrendt/authentik-kubernetes-operator/pkg/generated/listers/application/v1alpha1"
|
|
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
runtime "k8s.io/apimachinery/pkg/runtime"
|
|
schema "k8s.io/apimachinery/pkg/runtime/schema"
|
|
watch "k8s.io/apimachinery/pkg/watch"
|
|
cache "k8s.io/client-go/tools/cache"
|
|
)
|
|
|
|
// ApplicationInformer provides access to a shared informer and lister for
|
|
// Applications.
|
|
type ApplicationInformer interface {
|
|
Informer() cache.SharedIndexInformer
|
|
Lister() applicationv1alpha1.ApplicationLister
|
|
}
|
|
|
|
type applicationInformer struct {
|
|
factory internalinterfaces.SharedInformerFactory
|
|
tweakListOptions internalinterfaces.TweakListOptionsFunc
|
|
namespace string
|
|
}
|
|
|
|
// NewApplicationInformer constructs a new informer for Application type.
|
|
// Always prefer using an informer factory to get a shared informer instead of getting an independent
|
|
// one. This reduces memory footprint and number of connections to the server.
|
|
func NewApplicationInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
|
|
return NewApplicationInformerWithOptions(client, namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers})
|
|
}
|
|
|
|
// NewFilteredApplicationInformer constructs a new informer for Application type.
|
|
// Always prefer using an informer factory to get a shared informer instead of getting an independent
|
|
// one. This reduces memory footprint and number of connections to the server.
|
|
func NewFilteredApplicationInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
|
|
return NewApplicationInformerWithOptions(client, namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: indexers, TweakListOptions: tweakListOptions})
|
|
}
|
|
|
|
// NewApplicationInformerWithOptions constructs a new informer for Application type with additional options.
|
|
// Always prefer using an informer factory to get a shared informer instead of getting an independent
|
|
// one. This reduces memory footprint and number of connections to the server.
|
|
func NewApplicationInformerWithOptions(client versioned.Interface, namespace string, options internalinterfaces.InformerOptions) cache.SharedIndexInformer {
|
|
gvr := schema.GroupVersionResource{Group: "application.t000-n.de", Version: "v1alpha1", Resource: "applications"}
|
|
identifier := options.InformerName.WithResource(gvr)
|
|
tweakListOptions := options.TweakListOptions
|
|
return cache.NewSharedIndexInformerWithOptions(
|
|
cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{
|
|
ListFunc: func(opts v1.ListOptions) (runtime.Object, error) {
|
|
if tweakListOptions != nil {
|
|
tweakListOptions(&opts)
|
|
}
|
|
return client.ApplicationV1alpha1().Applications(namespace).List(context.Background(), opts)
|
|
},
|
|
WatchFunc: func(opts v1.ListOptions) (watch.Interface, error) {
|
|
if tweakListOptions != nil {
|
|
tweakListOptions(&opts)
|
|
}
|
|
return client.ApplicationV1alpha1().Applications(namespace).Watch(context.Background(), opts)
|
|
},
|
|
ListWithContextFunc: func(ctx context.Context, opts v1.ListOptions) (runtime.Object, error) {
|
|
if tweakListOptions != nil {
|
|
tweakListOptions(&opts)
|
|
}
|
|
return client.ApplicationV1alpha1().Applications(namespace).List(ctx, opts)
|
|
},
|
|
WatchFuncWithContext: func(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) {
|
|
if tweakListOptions != nil {
|
|
tweakListOptions(&opts)
|
|
}
|
|
return client.ApplicationV1alpha1().Applications(namespace).Watch(ctx, opts)
|
|
},
|
|
}, client),
|
|
&apisapplicationv1alpha1.Application{},
|
|
cache.SharedIndexInformerOptions{
|
|
ResyncPeriod: options.ResyncPeriod,
|
|
Indexers: options.Indexers,
|
|
Identifier: identifier,
|
|
},
|
|
)
|
|
}
|
|
|
|
func (f *applicationInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
|
|
return NewApplicationInformerWithOptions(client, f.namespace, internalinterfaces.InformerOptions{ResyncPeriod: resyncPeriod, Indexers: cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, InformerName: f.factory.InformerName(), TweakListOptions: f.tweakListOptions})
|
|
}
|
|
|
|
func (f *applicationInformer) Informer() cache.SharedIndexInformer {
|
|
return f.factory.InformerFor(&apisapplicationv1alpha1.Application{}, f.defaultInformer)
|
|
}
|
|
|
|
func (f *applicationInformer) Lister() applicationv1alpha1.ApplicationLister {
|
|
return applicationv1alpha1.NewApplicationLister(f.Informer().GetIndexer())
|
|
}
|