Update vendor

This commit is contained in:
Darren Shepherd
2019-09-09 14:28:29 -07:00
parent 5142b5c386
commit 46f5e218e9
553 changed files with 30844 additions and 7095 deletions

View File

@@ -84,6 +84,10 @@ func NewFactory(clientset clientset.Interface, informerFactory informers.SharedI
}
}
func (c *Factory) Controllers() map[schema.GroupVersionKind]*generic.Controller {
return c.controllerManager.Controllers()
}
func (c *Factory) SetThreadiness(gvk schema.GroupVersionKind, threadiness int) {
c.threadiness[gvk] = threadiness
}

View File

@@ -84,6 +84,10 @@ func NewFactory(clientset clientset.Interface, informerFactory informers.SharedI
}
}
func (c *Factory) Controllers() map[schema.GroupVersionKind]*generic.Controller {
return c.controllerManager.Controllers()
}
func (c *Factory) SetThreadiness(gvk schema.GroupVersionKind, threadiness int) {
c.threadiness[gvk] = threadiness
}

View File

@@ -0,0 +1,111 @@
/*
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 main. DO NOT EDIT.
package core
import (
"context"
"time"
"github.com/rancher/wrangler/pkg/generic"
"github.com/rancher/wrangler/pkg/schemes"
"k8s.io/apimachinery/pkg/runtime/schema"
informers "k8s.io/client-go/informers"
clientset "k8s.io/client-go/kubernetes"
scheme "k8s.io/client-go/kubernetes/scheme"
"k8s.io/client-go/rest"
)
func init() {
scheme.AddToScheme(schemes.All)
}
type Factory struct {
synced bool
informerFactory informers.SharedInformerFactory
clientset clientset.Interface
controllerManager *generic.ControllerManager
threadiness map[schema.GroupVersionKind]int
}
func NewFactoryFromConfigOrDie(config *rest.Config) *Factory {
f, err := NewFactoryFromConfig(config)
if err != nil {
panic(err)
}
return f
}
func NewFactoryFromConfig(config *rest.Config) (*Factory, error) {
cs, err := clientset.NewForConfig(config)
if err != nil {
return nil, err
}
informerFactory := informers.NewSharedInformerFactory(cs, 2*time.Hour)
return NewFactory(cs, informerFactory), nil
}
func NewFactoryFromConfigWithNamespace(config *rest.Config, namespace string) (*Factory, error) {
if namespace == "" {
return NewFactoryFromConfig(config)
}
cs, err := clientset.NewForConfig(config)
if err != nil {
return nil, err
}
informerFactory := informers.NewSharedInformerFactoryWithOptions(cs, 2*time.Hour, informers.WithNamespace(namespace))
return NewFactory(cs, informerFactory), nil
}
func NewFactory(clientset clientset.Interface, informerFactory informers.SharedInformerFactory) *Factory {
return &Factory{
threadiness: map[schema.GroupVersionKind]int{},
controllerManager: &generic.ControllerManager{},
clientset: clientset,
informerFactory: informerFactory,
}
}
func (c *Factory) Controllers() map[schema.GroupVersionKind]*generic.Controller {
return c.controllerManager.Controllers()
}
func (c *Factory) SetThreadiness(gvk schema.GroupVersionKind, threadiness int) {
c.threadiness[gvk] = threadiness
}
func (c *Factory) Sync(ctx context.Context) error {
c.informerFactory.Start(ctx.Done())
c.informerFactory.WaitForCacheSync(ctx.Done())
return nil
}
func (c *Factory) Start(ctx context.Context, defaultThreadiness int) error {
if err := c.Sync(ctx); err != nil {
return err
}
return c.controllerManager.Start(ctx, defaultThreadiness, c.threadiness)
}
func (c *Factory) Core() Interface {
return New(c.controllerManager, c.informerFactory.Core(), c.clientset)
}

View File

@@ -0,0 +1,50 @@
/*
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 main. DO NOT EDIT.
package core
import (
v1 "github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1"
"github.com/rancher/wrangler/pkg/generic"
informers "k8s.io/client-go/informers/core"
clientset "k8s.io/client-go/kubernetes"
)
type Interface interface {
V1() v1.Interface
}
type group struct {
controllerManager *generic.ControllerManager
informers informers.Interface
client clientset.Interface
}
// New returns a new Interface.
func New(controllerManager *generic.ControllerManager, informers informers.Interface,
client clientset.Interface) Interface {
return &group{
controllerManager: controllerManager,
informers: informers,
client: client,
}
}
func (g *group) V1() v1.Interface {
return v1.New(g.controllerManager, g.client.CoreV1(), g.informers.V1())
}

View File

@@ -0,0 +1,238 @@
/*
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 main. DO NOT EDIT.
package v1
import (
"context"
"github.com/rancher/wrangler/pkg/generic"
v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/equality"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/types"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/apimachinery/pkg/watch"
informers "k8s.io/client-go/informers/core/v1"
clientset "k8s.io/client-go/kubernetes/typed/core/v1"
listers "k8s.io/client-go/listers/core/v1"
"k8s.io/client-go/tools/cache"
)
type ConfigMapHandler func(string, *v1.ConfigMap) (*v1.ConfigMap, error)
type ConfigMapController interface {
ConfigMapClient
OnChange(ctx context.Context, name string, sync ConfigMapHandler)
OnRemove(ctx context.Context, name string, sync ConfigMapHandler)
Enqueue(namespace, name string)
Cache() ConfigMapCache
Informer() cache.SharedIndexInformer
GroupVersionKind() schema.GroupVersionKind
AddGenericHandler(ctx context.Context, name string, handler generic.Handler)
AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler)
Updater() generic.Updater
}
type ConfigMapClient interface {
Create(*v1.ConfigMap) (*v1.ConfigMap, error)
Update(*v1.ConfigMap) (*v1.ConfigMap, error)
Delete(namespace, name string, options *metav1.DeleteOptions) error
Get(namespace, name string, options metav1.GetOptions) (*v1.ConfigMap, error)
List(namespace string, opts metav1.ListOptions) (*v1.ConfigMapList, error)
Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error)
Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ConfigMap, err error)
}
type ConfigMapCache interface {
Get(namespace, name string) (*v1.ConfigMap, error)
List(namespace string, selector labels.Selector) ([]*v1.ConfigMap, error)
AddIndexer(indexName string, indexer ConfigMapIndexer)
GetByIndex(indexName, key string) ([]*v1.ConfigMap, error)
}
type ConfigMapIndexer func(obj *v1.ConfigMap) ([]string, error)
type configMapController struct {
controllerManager *generic.ControllerManager
clientGetter clientset.ConfigMapsGetter
informer informers.ConfigMapInformer
gvk schema.GroupVersionKind
}
func NewConfigMapController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.ConfigMapsGetter, informer informers.ConfigMapInformer) ConfigMapController {
return &configMapController{
controllerManager: controllerManager,
clientGetter: clientGetter,
informer: informer,
gvk: gvk,
}
}
func FromConfigMapHandlerToHandler(sync ConfigMapHandler) generic.Handler {
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
var v *v1.ConfigMap
if obj == nil {
v, err = sync(key, nil)
} else {
v, err = sync(key, obj.(*v1.ConfigMap))
}
if v == nil {
return nil, err
}
return v, err
}
}
func (c *configMapController) Updater() generic.Updater {
return func(obj runtime.Object) (runtime.Object, error) {
newObj, err := c.Update(obj.(*v1.ConfigMap))
if newObj == nil {
return nil, err
}
return newObj, err
}
}
func UpdateConfigMapOnChange(updater generic.Updater, handler ConfigMapHandler) ConfigMapHandler {
return func(key string, obj *v1.ConfigMap) (*v1.ConfigMap, error) {
if obj == nil {
return handler(key, nil)
}
copyObj := obj.DeepCopy()
newObj, err := handler(key, copyObj)
if newObj != nil {
copyObj = newObj
}
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
newObj, err := updater(copyObj)
if newObj != nil && err == nil {
copyObj = newObj.(*v1.ConfigMap)
}
}
return copyObj, err
}
}
func (c *configMapController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
}
func (c *configMapController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
}
func (c *configMapController) OnChange(ctx context.Context, name string, sync ConfigMapHandler) {
c.AddGenericHandler(ctx, name, FromConfigMapHandlerToHandler(sync))
}
func (c *configMapController) OnRemove(ctx context.Context, name string, sync ConfigMapHandler) {
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromConfigMapHandlerToHandler(sync))
c.AddGenericHandler(ctx, name, removeHandler)
}
func (c *configMapController) Enqueue(namespace, name string) {
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), namespace, name)
}
func (c *configMapController) Informer() cache.SharedIndexInformer {
return c.informer.Informer()
}
func (c *configMapController) GroupVersionKind() schema.GroupVersionKind {
return c.gvk
}
func (c *configMapController) Cache() ConfigMapCache {
return &configMapCache{
lister: c.informer.Lister(),
indexer: c.informer.Informer().GetIndexer(),
}
}
func (c *configMapController) Create(obj *v1.ConfigMap) (*v1.ConfigMap, error) {
return c.clientGetter.ConfigMaps(obj.Namespace).Create(obj)
}
func (c *configMapController) Update(obj *v1.ConfigMap) (*v1.ConfigMap, error) {
return c.clientGetter.ConfigMaps(obj.Namespace).Update(obj)
}
func (c *configMapController) Delete(namespace, name string, options *metav1.DeleteOptions) error {
return c.clientGetter.ConfigMaps(namespace).Delete(name, options)
}
func (c *configMapController) Get(namespace, name string, options metav1.GetOptions) (*v1.ConfigMap, error) {
return c.clientGetter.ConfigMaps(namespace).Get(name, options)
}
func (c *configMapController) List(namespace string, opts metav1.ListOptions) (*v1.ConfigMapList, error) {
return c.clientGetter.ConfigMaps(namespace).List(opts)
}
func (c *configMapController) Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error) {
return c.clientGetter.ConfigMaps(namespace).Watch(opts)
}
func (c *configMapController) Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ConfigMap, err error) {
return c.clientGetter.ConfigMaps(namespace).Patch(name, pt, data, subresources...)
}
type configMapCache struct {
lister listers.ConfigMapLister
indexer cache.Indexer
}
func (c *configMapCache) Get(namespace, name string) (*v1.ConfigMap, error) {
return c.lister.ConfigMaps(namespace).Get(name)
}
func (c *configMapCache) List(namespace string, selector labels.Selector) ([]*v1.ConfigMap, error) {
return c.lister.ConfigMaps(namespace).List(selector)
}
func (c *configMapCache) AddIndexer(indexName string, indexer ConfigMapIndexer) {
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
indexName: func(obj interface{}) (strings []string, e error) {
return indexer(obj.(*v1.ConfigMap))
},
}))
}
func (c *configMapCache) GetByIndex(indexName, key string) (result []*v1.ConfigMap, err error) {
objs, err := c.indexer.ByIndex(indexName, key)
if err != nil {
return nil, err
}
for _, obj := range objs {
result = append(result, obj.(*v1.ConfigMap))
}
return result, nil
}

View File

@@ -0,0 +1,238 @@
/*
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 main. DO NOT EDIT.
package v1
import (
"context"
"github.com/rancher/wrangler/pkg/generic"
v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/equality"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/types"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/apimachinery/pkg/watch"
informers "k8s.io/client-go/informers/core/v1"
clientset "k8s.io/client-go/kubernetes/typed/core/v1"
listers "k8s.io/client-go/listers/core/v1"
"k8s.io/client-go/tools/cache"
)
type EndpointsHandler func(string, *v1.Endpoints) (*v1.Endpoints, error)
type EndpointsController interface {
EndpointsClient
OnChange(ctx context.Context, name string, sync EndpointsHandler)
OnRemove(ctx context.Context, name string, sync EndpointsHandler)
Enqueue(namespace, name string)
Cache() EndpointsCache
Informer() cache.SharedIndexInformer
GroupVersionKind() schema.GroupVersionKind
AddGenericHandler(ctx context.Context, name string, handler generic.Handler)
AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler)
Updater() generic.Updater
}
type EndpointsClient interface {
Create(*v1.Endpoints) (*v1.Endpoints, error)
Update(*v1.Endpoints) (*v1.Endpoints, error)
Delete(namespace, name string, options *metav1.DeleteOptions) error
Get(namespace, name string, options metav1.GetOptions) (*v1.Endpoints, error)
List(namespace string, opts metav1.ListOptions) (*v1.EndpointsList, error)
Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error)
Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Endpoints, err error)
}
type EndpointsCache interface {
Get(namespace, name string) (*v1.Endpoints, error)
List(namespace string, selector labels.Selector) ([]*v1.Endpoints, error)
AddIndexer(indexName string, indexer EndpointsIndexer)
GetByIndex(indexName, key string) ([]*v1.Endpoints, error)
}
type EndpointsIndexer func(obj *v1.Endpoints) ([]string, error)
type endpointsController struct {
controllerManager *generic.ControllerManager
clientGetter clientset.EndpointsGetter
informer informers.EndpointsInformer
gvk schema.GroupVersionKind
}
func NewEndpointsController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.EndpointsGetter, informer informers.EndpointsInformer) EndpointsController {
return &endpointsController{
controllerManager: controllerManager,
clientGetter: clientGetter,
informer: informer,
gvk: gvk,
}
}
func FromEndpointsHandlerToHandler(sync EndpointsHandler) generic.Handler {
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
var v *v1.Endpoints
if obj == nil {
v, err = sync(key, nil)
} else {
v, err = sync(key, obj.(*v1.Endpoints))
}
if v == nil {
return nil, err
}
return v, err
}
}
func (c *endpointsController) Updater() generic.Updater {
return func(obj runtime.Object) (runtime.Object, error) {
newObj, err := c.Update(obj.(*v1.Endpoints))
if newObj == nil {
return nil, err
}
return newObj, err
}
}
func UpdateEndpointsOnChange(updater generic.Updater, handler EndpointsHandler) EndpointsHandler {
return func(key string, obj *v1.Endpoints) (*v1.Endpoints, error) {
if obj == nil {
return handler(key, nil)
}
copyObj := obj.DeepCopy()
newObj, err := handler(key, copyObj)
if newObj != nil {
copyObj = newObj
}
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
newObj, err := updater(copyObj)
if newObj != nil && err == nil {
copyObj = newObj.(*v1.Endpoints)
}
}
return copyObj, err
}
}
func (c *endpointsController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
}
func (c *endpointsController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
}
func (c *endpointsController) OnChange(ctx context.Context, name string, sync EndpointsHandler) {
c.AddGenericHandler(ctx, name, FromEndpointsHandlerToHandler(sync))
}
func (c *endpointsController) OnRemove(ctx context.Context, name string, sync EndpointsHandler) {
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromEndpointsHandlerToHandler(sync))
c.AddGenericHandler(ctx, name, removeHandler)
}
func (c *endpointsController) Enqueue(namespace, name string) {
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), namespace, name)
}
func (c *endpointsController) Informer() cache.SharedIndexInformer {
return c.informer.Informer()
}
func (c *endpointsController) GroupVersionKind() schema.GroupVersionKind {
return c.gvk
}
func (c *endpointsController) Cache() EndpointsCache {
return &endpointsCache{
lister: c.informer.Lister(),
indexer: c.informer.Informer().GetIndexer(),
}
}
func (c *endpointsController) Create(obj *v1.Endpoints) (*v1.Endpoints, error) {
return c.clientGetter.Endpoints(obj.Namespace).Create(obj)
}
func (c *endpointsController) Update(obj *v1.Endpoints) (*v1.Endpoints, error) {
return c.clientGetter.Endpoints(obj.Namespace).Update(obj)
}
func (c *endpointsController) Delete(namespace, name string, options *metav1.DeleteOptions) error {
return c.clientGetter.Endpoints(namespace).Delete(name, options)
}
func (c *endpointsController) Get(namespace, name string, options metav1.GetOptions) (*v1.Endpoints, error) {
return c.clientGetter.Endpoints(namespace).Get(name, options)
}
func (c *endpointsController) List(namespace string, opts metav1.ListOptions) (*v1.EndpointsList, error) {
return c.clientGetter.Endpoints(namespace).List(opts)
}
func (c *endpointsController) Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error) {
return c.clientGetter.Endpoints(namespace).Watch(opts)
}
func (c *endpointsController) Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Endpoints, err error) {
return c.clientGetter.Endpoints(namespace).Patch(name, pt, data, subresources...)
}
type endpointsCache struct {
lister listers.EndpointsLister
indexer cache.Indexer
}
func (c *endpointsCache) Get(namespace, name string) (*v1.Endpoints, error) {
return c.lister.Endpoints(namespace).Get(name)
}
func (c *endpointsCache) List(namespace string, selector labels.Selector) ([]*v1.Endpoints, error) {
return c.lister.Endpoints(namespace).List(selector)
}
func (c *endpointsCache) AddIndexer(indexName string, indexer EndpointsIndexer) {
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
indexName: func(obj interface{}) (strings []string, e error) {
return indexer(obj.(*v1.Endpoints))
},
}))
}
func (c *endpointsCache) GetByIndex(indexName, key string) (result []*v1.Endpoints, err error) {
objs, err := c.indexer.ByIndex(indexName, key)
if err != nil {
return nil, err
}
for _, obj := range objs {
result = append(result, obj.(*v1.Endpoints))
}
return result, nil
}

View File

@@ -0,0 +1,81 @@
/*
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 main. DO NOT EDIT.
package v1
import (
"github.com/rancher/wrangler/pkg/generic"
v1 "k8s.io/api/core/v1"
informers "k8s.io/client-go/informers/core/v1"
clientset "k8s.io/client-go/kubernetes/typed/core/v1"
)
type Interface interface {
ConfigMap() ConfigMapController
Endpoints() EndpointsController
Namespace() NamespaceController
Node() NodeController
PersistentVolumeClaim() PersistentVolumeClaimController
Pod() PodController
Secret() SecretController
Service() ServiceController
ServiceAccount() ServiceAccountController
}
func New(controllerManager *generic.ControllerManager, client clientset.CoreV1Interface,
informers informers.Interface) Interface {
return &version{
controllerManager: controllerManager,
client: client,
informers: informers,
}
}
type version struct {
controllerManager *generic.ControllerManager
informers informers.Interface
client clientset.CoreV1Interface
}
func (c *version) ConfigMap() ConfigMapController {
return NewConfigMapController(v1.SchemeGroupVersion.WithKind("ConfigMap"), c.controllerManager, c.client, c.informers.ConfigMaps())
}
func (c *version) Endpoints() EndpointsController {
return NewEndpointsController(v1.SchemeGroupVersion.WithKind("Endpoints"), c.controllerManager, c.client, c.informers.Endpoints())
}
func (c *version) Namespace() NamespaceController {
return NewNamespaceController(v1.SchemeGroupVersion.WithKind("Namespace"), c.controllerManager, c.client, c.informers.Namespaces())
}
func (c *version) Node() NodeController {
return NewNodeController(v1.SchemeGroupVersion.WithKind("Node"), c.controllerManager, c.client, c.informers.Nodes())
}
func (c *version) PersistentVolumeClaim() PersistentVolumeClaimController {
return NewPersistentVolumeClaimController(v1.SchemeGroupVersion.WithKind("PersistentVolumeClaim"), c.controllerManager, c.client, c.informers.PersistentVolumeClaims())
}
func (c *version) Pod() PodController {
return NewPodController(v1.SchemeGroupVersion.WithKind("Pod"), c.controllerManager, c.client, c.informers.Pods())
}
func (c *version) Secret() SecretController {
return NewSecretController(v1.SchemeGroupVersion.WithKind("Secret"), c.controllerManager, c.client, c.informers.Secrets())
}
func (c *version) Service() ServiceController {
return NewServiceController(v1.SchemeGroupVersion.WithKind("Service"), c.controllerManager, c.client, c.informers.Services())
}
func (c *version) ServiceAccount() ServiceAccountController {
return NewServiceAccountController(v1.SchemeGroupVersion.WithKind("ServiceAccount"), c.controllerManager, c.client, c.informers.ServiceAccounts())
}

View File

@@ -0,0 +1,242 @@
/*
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 main. DO NOT EDIT.
package v1
import (
"context"
"github.com/rancher/wrangler/pkg/generic"
v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/equality"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/types"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/apimachinery/pkg/watch"
informers "k8s.io/client-go/informers/core/v1"
clientset "k8s.io/client-go/kubernetes/typed/core/v1"
listers "k8s.io/client-go/listers/core/v1"
"k8s.io/client-go/tools/cache"
)
type NamespaceHandler func(string, *v1.Namespace) (*v1.Namespace, error)
type NamespaceController interface {
NamespaceClient
OnChange(ctx context.Context, name string, sync NamespaceHandler)
OnRemove(ctx context.Context, name string, sync NamespaceHandler)
Enqueue(name string)
Cache() NamespaceCache
Informer() cache.SharedIndexInformer
GroupVersionKind() schema.GroupVersionKind
AddGenericHandler(ctx context.Context, name string, handler generic.Handler)
AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler)
Updater() generic.Updater
}
type NamespaceClient interface {
Create(*v1.Namespace) (*v1.Namespace, error)
Update(*v1.Namespace) (*v1.Namespace, error)
UpdateStatus(*v1.Namespace) (*v1.Namespace, error)
Delete(name string, options *metav1.DeleteOptions) error
Get(name string, options metav1.GetOptions) (*v1.Namespace, error)
List(opts metav1.ListOptions) (*v1.NamespaceList, error)
Watch(opts metav1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Namespace, err error)
}
type NamespaceCache interface {
Get(name string) (*v1.Namespace, error)
List(selector labels.Selector) ([]*v1.Namespace, error)
AddIndexer(indexName string, indexer NamespaceIndexer)
GetByIndex(indexName, key string) ([]*v1.Namespace, error)
}
type NamespaceIndexer func(obj *v1.Namespace) ([]string, error)
type namespaceController struct {
controllerManager *generic.ControllerManager
clientGetter clientset.NamespacesGetter
informer informers.NamespaceInformer
gvk schema.GroupVersionKind
}
func NewNamespaceController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.NamespacesGetter, informer informers.NamespaceInformer) NamespaceController {
return &namespaceController{
controllerManager: controllerManager,
clientGetter: clientGetter,
informer: informer,
gvk: gvk,
}
}
func FromNamespaceHandlerToHandler(sync NamespaceHandler) generic.Handler {
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
var v *v1.Namespace
if obj == nil {
v, err = sync(key, nil)
} else {
v, err = sync(key, obj.(*v1.Namespace))
}
if v == nil {
return nil, err
}
return v, err
}
}
func (c *namespaceController) Updater() generic.Updater {
return func(obj runtime.Object) (runtime.Object, error) {
newObj, err := c.Update(obj.(*v1.Namespace))
if newObj == nil {
return nil, err
}
return newObj, err
}
}
func UpdateNamespaceOnChange(updater generic.Updater, handler NamespaceHandler) NamespaceHandler {
return func(key string, obj *v1.Namespace) (*v1.Namespace, error) {
if obj == nil {
return handler(key, nil)
}
copyObj := obj.DeepCopy()
newObj, err := handler(key, copyObj)
if newObj != nil {
copyObj = newObj
}
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
newObj, err := updater(copyObj)
if newObj != nil && err == nil {
copyObj = newObj.(*v1.Namespace)
}
}
return copyObj, err
}
}
func (c *namespaceController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
}
func (c *namespaceController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
}
func (c *namespaceController) OnChange(ctx context.Context, name string, sync NamespaceHandler) {
c.AddGenericHandler(ctx, name, FromNamespaceHandlerToHandler(sync))
}
func (c *namespaceController) OnRemove(ctx context.Context, name string, sync NamespaceHandler) {
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromNamespaceHandlerToHandler(sync))
c.AddGenericHandler(ctx, name, removeHandler)
}
func (c *namespaceController) Enqueue(name string) {
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), "", name)
}
func (c *namespaceController) Informer() cache.SharedIndexInformer {
return c.informer.Informer()
}
func (c *namespaceController) GroupVersionKind() schema.GroupVersionKind {
return c.gvk
}
func (c *namespaceController) Cache() NamespaceCache {
return &namespaceCache{
lister: c.informer.Lister(),
indexer: c.informer.Informer().GetIndexer(),
}
}
func (c *namespaceController) Create(obj *v1.Namespace) (*v1.Namespace, error) {
return c.clientGetter.Namespaces().Create(obj)
}
func (c *namespaceController) Update(obj *v1.Namespace) (*v1.Namespace, error) {
return c.clientGetter.Namespaces().Update(obj)
}
func (c *namespaceController) UpdateStatus(obj *v1.Namespace) (*v1.Namespace, error) {
return c.clientGetter.Namespaces().UpdateStatus(obj)
}
func (c *namespaceController) Delete(name string, options *metav1.DeleteOptions) error {
return c.clientGetter.Namespaces().Delete(name, options)
}
func (c *namespaceController) Get(name string, options metav1.GetOptions) (*v1.Namespace, error) {
return c.clientGetter.Namespaces().Get(name, options)
}
func (c *namespaceController) List(opts metav1.ListOptions) (*v1.NamespaceList, error) {
return c.clientGetter.Namespaces().List(opts)
}
func (c *namespaceController) Watch(opts metav1.ListOptions) (watch.Interface, error) {
return c.clientGetter.Namespaces().Watch(opts)
}
func (c *namespaceController) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Namespace, err error) {
return c.clientGetter.Namespaces().Patch(name, pt, data, subresources...)
}
type namespaceCache struct {
lister listers.NamespaceLister
indexer cache.Indexer
}
func (c *namespaceCache) Get(name string) (*v1.Namespace, error) {
return c.lister.Get(name)
}
func (c *namespaceCache) List(selector labels.Selector) ([]*v1.Namespace, error) {
return c.lister.List(selector)
}
func (c *namespaceCache) AddIndexer(indexName string, indexer NamespaceIndexer) {
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
indexName: func(obj interface{}) (strings []string, e error) {
return indexer(obj.(*v1.Namespace))
},
}))
}
func (c *namespaceCache) GetByIndex(indexName, key string) (result []*v1.Namespace, err error) {
objs, err := c.indexer.ByIndex(indexName, key)
if err != nil {
return nil, err
}
for _, obj := range objs {
result = append(result, obj.(*v1.Namespace))
}
return result, nil
}

View File

@@ -0,0 +1,242 @@
/*
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 main. DO NOT EDIT.
package v1
import (
"context"
"github.com/rancher/wrangler/pkg/generic"
v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/equality"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/types"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/apimachinery/pkg/watch"
informers "k8s.io/client-go/informers/core/v1"
clientset "k8s.io/client-go/kubernetes/typed/core/v1"
listers "k8s.io/client-go/listers/core/v1"
"k8s.io/client-go/tools/cache"
)
type NodeHandler func(string, *v1.Node) (*v1.Node, error)
type NodeController interface {
NodeClient
OnChange(ctx context.Context, name string, sync NodeHandler)
OnRemove(ctx context.Context, name string, sync NodeHandler)
Enqueue(name string)
Cache() NodeCache
Informer() cache.SharedIndexInformer
GroupVersionKind() schema.GroupVersionKind
AddGenericHandler(ctx context.Context, name string, handler generic.Handler)
AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler)
Updater() generic.Updater
}
type NodeClient interface {
Create(*v1.Node) (*v1.Node, error)
Update(*v1.Node) (*v1.Node, error)
UpdateStatus(*v1.Node) (*v1.Node, error)
Delete(name string, options *metav1.DeleteOptions) error
Get(name string, options metav1.GetOptions) (*v1.Node, error)
List(opts metav1.ListOptions) (*v1.NodeList, error)
Watch(opts metav1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Node, err error)
}
type NodeCache interface {
Get(name string) (*v1.Node, error)
List(selector labels.Selector) ([]*v1.Node, error)
AddIndexer(indexName string, indexer NodeIndexer)
GetByIndex(indexName, key string) ([]*v1.Node, error)
}
type NodeIndexer func(obj *v1.Node) ([]string, error)
type nodeController struct {
controllerManager *generic.ControllerManager
clientGetter clientset.NodesGetter
informer informers.NodeInformer
gvk schema.GroupVersionKind
}
func NewNodeController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.NodesGetter, informer informers.NodeInformer) NodeController {
return &nodeController{
controllerManager: controllerManager,
clientGetter: clientGetter,
informer: informer,
gvk: gvk,
}
}
func FromNodeHandlerToHandler(sync NodeHandler) generic.Handler {
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
var v *v1.Node
if obj == nil {
v, err = sync(key, nil)
} else {
v, err = sync(key, obj.(*v1.Node))
}
if v == nil {
return nil, err
}
return v, err
}
}
func (c *nodeController) Updater() generic.Updater {
return func(obj runtime.Object) (runtime.Object, error) {
newObj, err := c.Update(obj.(*v1.Node))
if newObj == nil {
return nil, err
}
return newObj, err
}
}
func UpdateNodeOnChange(updater generic.Updater, handler NodeHandler) NodeHandler {
return func(key string, obj *v1.Node) (*v1.Node, error) {
if obj == nil {
return handler(key, nil)
}
copyObj := obj.DeepCopy()
newObj, err := handler(key, copyObj)
if newObj != nil {
copyObj = newObj
}
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
newObj, err := updater(copyObj)
if newObj != nil && err == nil {
copyObj = newObj.(*v1.Node)
}
}
return copyObj, err
}
}
func (c *nodeController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
}
func (c *nodeController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
}
func (c *nodeController) OnChange(ctx context.Context, name string, sync NodeHandler) {
c.AddGenericHandler(ctx, name, FromNodeHandlerToHandler(sync))
}
func (c *nodeController) OnRemove(ctx context.Context, name string, sync NodeHandler) {
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromNodeHandlerToHandler(sync))
c.AddGenericHandler(ctx, name, removeHandler)
}
func (c *nodeController) Enqueue(name string) {
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), "", name)
}
func (c *nodeController) Informer() cache.SharedIndexInformer {
return c.informer.Informer()
}
func (c *nodeController) GroupVersionKind() schema.GroupVersionKind {
return c.gvk
}
func (c *nodeController) Cache() NodeCache {
return &nodeCache{
lister: c.informer.Lister(),
indexer: c.informer.Informer().GetIndexer(),
}
}
func (c *nodeController) Create(obj *v1.Node) (*v1.Node, error) {
return c.clientGetter.Nodes().Create(obj)
}
func (c *nodeController) Update(obj *v1.Node) (*v1.Node, error) {
return c.clientGetter.Nodes().Update(obj)
}
func (c *nodeController) UpdateStatus(obj *v1.Node) (*v1.Node, error) {
return c.clientGetter.Nodes().UpdateStatus(obj)
}
func (c *nodeController) Delete(name string, options *metav1.DeleteOptions) error {
return c.clientGetter.Nodes().Delete(name, options)
}
func (c *nodeController) Get(name string, options metav1.GetOptions) (*v1.Node, error) {
return c.clientGetter.Nodes().Get(name, options)
}
func (c *nodeController) List(opts metav1.ListOptions) (*v1.NodeList, error) {
return c.clientGetter.Nodes().List(opts)
}
func (c *nodeController) Watch(opts metav1.ListOptions) (watch.Interface, error) {
return c.clientGetter.Nodes().Watch(opts)
}
func (c *nodeController) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Node, err error) {
return c.clientGetter.Nodes().Patch(name, pt, data, subresources...)
}
type nodeCache struct {
lister listers.NodeLister
indexer cache.Indexer
}
func (c *nodeCache) Get(name string) (*v1.Node, error) {
return c.lister.Get(name)
}
func (c *nodeCache) List(selector labels.Selector) ([]*v1.Node, error) {
return c.lister.List(selector)
}
func (c *nodeCache) AddIndexer(indexName string, indexer NodeIndexer) {
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
indexName: func(obj interface{}) (strings []string, e error) {
return indexer(obj.(*v1.Node))
},
}))
}
func (c *nodeCache) GetByIndex(indexName, key string) (result []*v1.Node, err error) {
objs, err := c.indexer.ByIndex(indexName, key)
if err != nil {
return nil, err
}
for _, obj := range objs {
result = append(result, obj.(*v1.Node))
}
return result, nil
}

View File

@@ -0,0 +1,242 @@
/*
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 main. DO NOT EDIT.
package v1
import (
"context"
"github.com/rancher/wrangler/pkg/generic"
v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/equality"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/types"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/apimachinery/pkg/watch"
informers "k8s.io/client-go/informers/core/v1"
clientset "k8s.io/client-go/kubernetes/typed/core/v1"
listers "k8s.io/client-go/listers/core/v1"
"k8s.io/client-go/tools/cache"
)
type PersistentVolumeClaimHandler func(string, *v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error)
type PersistentVolumeClaimController interface {
PersistentVolumeClaimClient
OnChange(ctx context.Context, name string, sync PersistentVolumeClaimHandler)
OnRemove(ctx context.Context, name string, sync PersistentVolumeClaimHandler)
Enqueue(namespace, name string)
Cache() PersistentVolumeClaimCache
Informer() cache.SharedIndexInformer
GroupVersionKind() schema.GroupVersionKind
AddGenericHandler(ctx context.Context, name string, handler generic.Handler)
AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler)
Updater() generic.Updater
}
type PersistentVolumeClaimClient interface {
Create(*v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error)
Update(*v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error)
UpdateStatus(*v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error)
Delete(namespace, name string, options *metav1.DeleteOptions) error
Get(namespace, name string, options metav1.GetOptions) (*v1.PersistentVolumeClaim, error)
List(namespace string, opts metav1.ListOptions) (*v1.PersistentVolumeClaimList, error)
Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error)
Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.PersistentVolumeClaim, err error)
}
type PersistentVolumeClaimCache interface {
Get(namespace, name string) (*v1.PersistentVolumeClaim, error)
List(namespace string, selector labels.Selector) ([]*v1.PersistentVolumeClaim, error)
AddIndexer(indexName string, indexer PersistentVolumeClaimIndexer)
GetByIndex(indexName, key string) ([]*v1.PersistentVolumeClaim, error)
}
type PersistentVolumeClaimIndexer func(obj *v1.PersistentVolumeClaim) ([]string, error)
type persistentVolumeClaimController struct {
controllerManager *generic.ControllerManager
clientGetter clientset.PersistentVolumeClaimsGetter
informer informers.PersistentVolumeClaimInformer
gvk schema.GroupVersionKind
}
func NewPersistentVolumeClaimController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.PersistentVolumeClaimsGetter, informer informers.PersistentVolumeClaimInformer) PersistentVolumeClaimController {
return &persistentVolumeClaimController{
controllerManager: controllerManager,
clientGetter: clientGetter,
informer: informer,
gvk: gvk,
}
}
func FromPersistentVolumeClaimHandlerToHandler(sync PersistentVolumeClaimHandler) generic.Handler {
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
var v *v1.PersistentVolumeClaim
if obj == nil {
v, err = sync(key, nil)
} else {
v, err = sync(key, obj.(*v1.PersistentVolumeClaim))
}
if v == nil {
return nil, err
}
return v, err
}
}
func (c *persistentVolumeClaimController) Updater() generic.Updater {
return func(obj runtime.Object) (runtime.Object, error) {
newObj, err := c.Update(obj.(*v1.PersistentVolumeClaim))
if newObj == nil {
return nil, err
}
return newObj, err
}
}
func UpdatePersistentVolumeClaimOnChange(updater generic.Updater, handler PersistentVolumeClaimHandler) PersistentVolumeClaimHandler {
return func(key string, obj *v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error) {
if obj == nil {
return handler(key, nil)
}
copyObj := obj.DeepCopy()
newObj, err := handler(key, copyObj)
if newObj != nil {
copyObj = newObj
}
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
newObj, err := updater(copyObj)
if newObj != nil && err == nil {
copyObj = newObj.(*v1.PersistentVolumeClaim)
}
}
return copyObj, err
}
}
func (c *persistentVolumeClaimController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
}
func (c *persistentVolumeClaimController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
}
func (c *persistentVolumeClaimController) OnChange(ctx context.Context, name string, sync PersistentVolumeClaimHandler) {
c.AddGenericHandler(ctx, name, FromPersistentVolumeClaimHandlerToHandler(sync))
}
func (c *persistentVolumeClaimController) OnRemove(ctx context.Context, name string, sync PersistentVolumeClaimHandler) {
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromPersistentVolumeClaimHandlerToHandler(sync))
c.AddGenericHandler(ctx, name, removeHandler)
}
func (c *persistentVolumeClaimController) Enqueue(namespace, name string) {
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), namespace, name)
}
func (c *persistentVolumeClaimController) Informer() cache.SharedIndexInformer {
return c.informer.Informer()
}
func (c *persistentVolumeClaimController) GroupVersionKind() schema.GroupVersionKind {
return c.gvk
}
func (c *persistentVolumeClaimController) Cache() PersistentVolumeClaimCache {
return &persistentVolumeClaimCache{
lister: c.informer.Lister(),
indexer: c.informer.Informer().GetIndexer(),
}
}
func (c *persistentVolumeClaimController) Create(obj *v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error) {
return c.clientGetter.PersistentVolumeClaims(obj.Namespace).Create(obj)
}
func (c *persistentVolumeClaimController) Update(obj *v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error) {
return c.clientGetter.PersistentVolumeClaims(obj.Namespace).Update(obj)
}
func (c *persistentVolumeClaimController) UpdateStatus(obj *v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error) {
return c.clientGetter.PersistentVolumeClaims(obj.Namespace).UpdateStatus(obj)
}
func (c *persistentVolumeClaimController) Delete(namespace, name string, options *metav1.DeleteOptions) error {
return c.clientGetter.PersistentVolumeClaims(namespace).Delete(name, options)
}
func (c *persistentVolumeClaimController) Get(namespace, name string, options metav1.GetOptions) (*v1.PersistentVolumeClaim, error) {
return c.clientGetter.PersistentVolumeClaims(namespace).Get(name, options)
}
func (c *persistentVolumeClaimController) List(namespace string, opts metav1.ListOptions) (*v1.PersistentVolumeClaimList, error) {
return c.clientGetter.PersistentVolumeClaims(namespace).List(opts)
}
func (c *persistentVolumeClaimController) Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error) {
return c.clientGetter.PersistentVolumeClaims(namespace).Watch(opts)
}
func (c *persistentVolumeClaimController) Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.PersistentVolumeClaim, err error) {
return c.clientGetter.PersistentVolumeClaims(namespace).Patch(name, pt, data, subresources...)
}
type persistentVolumeClaimCache struct {
lister listers.PersistentVolumeClaimLister
indexer cache.Indexer
}
func (c *persistentVolumeClaimCache) Get(namespace, name string) (*v1.PersistentVolumeClaim, error) {
return c.lister.PersistentVolumeClaims(namespace).Get(name)
}
func (c *persistentVolumeClaimCache) List(namespace string, selector labels.Selector) ([]*v1.PersistentVolumeClaim, error) {
return c.lister.PersistentVolumeClaims(namespace).List(selector)
}
func (c *persistentVolumeClaimCache) AddIndexer(indexName string, indexer PersistentVolumeClaimIndexer) {
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
indexName: func(obj interface{}) (strings []string, e error) {
return indexer(obj.(*v1.PersistentVolumeClaim))
},
}))
}
func (c *persistentVolumeClaimCache) GetByIndex(indexName, key string) (result []*v1.PersistentVolumeClaim, err error) {
objs, err := c.indexer.ByIndex(indexName, key)
if err != nil {
return nil, err
}
for _, obj := range objs {
result = append(result, obj.(*v1.PersistentVolumeClaim))
}
return result, nil
}

View File

@@ -0,0 +1,242 @@
/*
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 main. DO NOT EDIT.
package v1
import (
"context"
"github.com/rancher/wrangler/pkg/generic"
v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/equality"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/types"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/apimachinery/pkg/watch"
informers "k8s.io/client-go/informers/core/v1"
clientset "k8s.io/client-go/kubernetes/typed/core/v1"
listers "k8s.io/client-go/listers/core/v1"
"k8s.io/client-go/tools/cache"
)
type PodHandler func(string, *v1.Pod) (*v1.Pod, error)
type PodController interface {
PodClient
OnChange(ctx context.Context, name string, sync PodHandler)
OnRemove(ctx context.Context, name string, sync PodHandler)
Enqueue(namespace, name string)
Cache() PodCache
Informer() cache.SharedIndexInformer
GroupVersionKind() schema.GroupVersionKind
AddGenericHandler(ctx context.Context, name string, handler generic.Handler)
AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler)
Updater() generic.Updater
}
type PodClient interface {
Create(*v1.Pod) (*v1.Pod, error)
Update(*v1.Pod) (*v1.Pod, error)
UpdateStatus(*v1.Pod) (*v1.Pod, error)
Delete(namespace, name string, options *metav1.DeleteOptions) error
Get(namespace, name string, options metav1.GetOptions) (*v1.Pod, error)
List(namespace string, opts metav1.ListOptions) (*v1.PodList, error)
Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error)
Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Pod, err error)
}
type PodCache interface {
Get(namespace, name string) (*v1.Pod, error)
List(namespace string, selector labels.Selector) ([]*v1.Pod, error)
AddIndexer(indexName string, indexer PodIndexer)
GetByIndex(indexName, key string) ([]*v1.Pod, error)
}
type PodIndexer func(obj *v1.Pod) ([]string, error)
type podController struct {
controllerManager *generic.ControllerManager
clientGetter clientset.PodsGetter
informer informers.PodInformer
gvk schema.GroupVersionKind
}
func NewPodController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.PodsGetter, informer informers.PodInformer) PodController {
return &podController{
controllerManager: controllerManager,
clientGetter: clientGetter,
informer: informer,
gvk: gvk,
}
}
func FromPodHandlerToHandler(sync PodHandler) generic.Handler {
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
var v *v1.Pod
if obj == nil {
v, err = sync(key, nil)
} else {
v, err = sync(key, obj.(*v1.Pod))
}
if v == nil {
return nil, err
}
return v, err
}
}
func (c *podController) Updater() generic.Updater {
return func(obj runtime.Object) (runtime.Object, error) {
newObj, err := c.Update(obj.(*v1.Pod))
if newObj == nil {
return nil, err
}
return newObj, err
}
}
func UpdatePodOnChange(updater generic.Updater, handler PodHandler) PodHandler {
return func(key string, obj *v1.Pod) (*v1.Pod, error) {
if obj == nil {
return handler(key, nil)
}
copyObj := obj.DeepCopy()
newObj, err := handler(key, copyObj)
if newObj != nil {
copyObj = newObj
}
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
newObj, err := updater(copyObj)
if newObj != nil && err == nil {
copyObj = newObj.(*v1.Pod)
}
}
return copyObj, err
}
}
func (c *podController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
}
func (c *podController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
}
func (c *podController) OnChange(ctx context.Context, name string, sync PodHandler) {
c.AddGenericHandler(ctx, name, FromPodHandlerToHandler(sync))
}
func (c *podController) OnRemove(ctx context.Context, name string, sync PodHandler) {
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromPodHandlerToHandler(sync))
c.AddGenericHandler(ctx, name, removeHandler)
}
func (c *podController) Enqueue(namespace, name string) {
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), namespace, name)
}
func (c *podController) Informer() cache.SharedIndexInformer {
return c.informer.Informer()
}
func (c *podController) GroupVersionKind() schema.GroupVersionKind {
return c.gvk
}
func (c *podController) Cache() PodCache {
return &podCache{
lister: c.informer.Lister(),
indexer: c.informer.Informer().GetIndexer(),
}
}
func (c *podController) Create(obj *v1.Pod) (*v1.Pod, error) {
return c.clientGetter.Pods(obj.Namespace).Create(obj)
}
func (c *podController) Update(obj *v1.Pod) (*v1.Pod, error) {
return c.clientGetter.Pods(obj.Namespace).Update(obj)
}
func (c *podController) UpdateStatus(obj *v1.Pod) (*v1.Pod, error) {
return c.clientGetter.Pods(obj.Namespace).UpdateStatus(obj)
}
func (c *podController) Delete(namespace, name string, options *metav1.DeleteOptions) error {
return c.clientGetter.Pods(namespace).Delete(name, options)
}
func (c *podController) Get(namespace, name string, options metav1.GetOptions) (*v1.Pod, error) {
return c.clientGetter.Pods(namespace).Get(name, options)
}
func (c *podController) List(namespace string, opts metav1.ListOptions) (*v1.PodList, error) {
return c.clientGetter.Pods(namespace).List(opts)
}
func (c *podController) Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error) {
return c.clientGetter.Pods(namespace).Watch(opts)
}
func (c *podController) Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Pod, err error) {
return c.clientGetter.Pods(namespace).Patch(name, pt, data, subresources...)
}
type podCache struct {
lister listers.PodLister
indexer cache.Indexer
}
func (c *podCache) Get(namespace, name string) (*v1.Pod, error) {
return c.lister.Pods(namespace).Get(name)
}
func (c *podCache) List(namespace string, selector labels.Selector) ([]*v1.Pod, error) {
return c.lister.Pods(namespace).List(selector)
}
func (c *podCache) AddIndexer(indexName string, indexer PodIndexer) {
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
indexName: func(obj interface{}) (strings []string, e error) {
return indexer(obj.(*v1.Pod))
},
}))
}
func (c *podCache) GetByIndex(indexName, key string) (result []*v1.Pod, err error) {
objs, err := c.indexer.ByIndex(indexName, key)
if err != nil {
return nil, err
}
for _, obj := range objs {
result = append(result, obj.(*v1.Pod))
}
return result, nil
}

View File

@@ -0,0 +1,238 @@
/*
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 main. DO NOT EDIT.
package v1
import (
"context"
"github.com/rancher/wrangler/pkg/generic"
v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/equality"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/types"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/apimachinery/pkg/watch"
informers "k8s.io/client-go/informers/core/v1"
clientset "k8s.io/client-go/kubernetes/typed/core/v1"
listers "k8s.io/client-go/listers/core/v1"
"k8s.io/client-go/tools/cache"
)
type SecretHandler func(string, *v1.Secret) (*v1.Secret, error)
type SecretController interface {
SecretClient
OnChange(ctx context.Context, name string, sync SecretHandler)
OnRemove(ctx context.Context, name string, sync SecretHandler)
Enqueue(namespace, name string)
Cache() SecretCache
Informer() cache.SharedIndexInformer
GroupVersionKind() schema.GroupVersionKind
AddGenericHandler(ctx context.Context, name string, handler generic.Handler)
AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler)
Updater() generic.Updater
}
type SecretClient interface {
Create(*v1.Secret) (*v1.Secret, error)
Update(*v1.Secret) (*v1.Secret, error)
Delete(namespace, name string, options *metav1.DeleteOptions) error
Get(namespace, name string, options metav1.GetOptions) (*v1.Secret, error)
List(namespace string, opts metav1.ListOptions) (*v1.SecretList, error)
Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error)
Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Secret, err error)
}
type SecretCache interface {
Get(namespace, name string) (*v1.Secret, error)
List(namespace string, selector labels.Selector) ([]*v1.Secret, error)
AddIndexer(indexName string, indexer SecretIndexer)
GetByIndex(indexName, key string) ([]*v1.Secret, error)
}
type SecretIndexer func(obj *v1.Secret) ([]string, error)
type secretController struct {
controllerManager *generic.ControllerManager
clientGetter clientset.SecretsGetter
informer informers.SecretInformer
gvk schema.GroupVersionKind
}
func NewSecretController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.SecretsGetter, informer informers.SecretInformer) SecretController {
return &secretController{
controllerManager: controllerManager,
clientGetter: clientGetter,
informer: informer,
gvk: gvk,
}
}
func FromSecretHandlerToHandler(sync SecretHandler) generic.Handler {
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
var v *v1.Secret
if obj == nil {
v, err = sync(key, nil)
} else {
v, err = sync(key, obj.(*v1.Secret))
}
if v == nil {
return nil, err
}
return v, err
}
}
func (c *secretController) Updater() generic.Updater {
return func(obj runtime.Object) (runtime.Object, error) {
newObj, err := c.Update(obj.(*v1.Secret))
if newObj == nil {
return nil, err
}
return newObj, err
}
}
func UpdateSecretOnChange(updater generic.Updater, handler SecretHandler) SecretHandler {
return func(key string, obj *v1.Secret) (*v1.Secret, error) {
if obj == nil {
return handler(key, nil)
}
copyObj := obj.DeepCopy()
newObj, err := handler(key, copyObj)
if newObj != nil {
copyObj = newObj
}
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
newObj, err := updater(copyObj)
if newObj != nil && err == nil {
copyObj = newObj.(*v1.Secret)
}
}
return copyObj, err
}
}
func (c *secretController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
}
func (c *secretController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
}
func (c *secretController) OnChange(ctx context.Context, name string, sync SecretHandler) {
c.AddGenericHandler(ctx, name, FromSecretHandlerToHandler(sync))
}
func (c *secretController) OnRemove(ctx context.Context, name string, sync SecretHandler) {
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromSecretHandlerToHandler(sync))
c.AddGenericHandler(ctx, name, removeHandler)
}
func (c *secretController) Enqueue(namespace, name string) {
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), namespace, name)
}
func (c *secretController) Informer() cache.SharedIndexInformer {
return c.informer.Informer()
}
func (c *secretController) GroupVersionKind() schema.GroupVersionKind {
return c.gvk
}
func (c *secretController) Cache() SecretCache {
return &secretCache{
lister: c.informer.Lister(),
indexer: c.informer.Informer().GetIndexer(),
}
}
func (c *secretController) Create(obj *v1.Secret) (*v1.Secret, error) {
return c.clientGetter.Secrets(obj.Namespace).Create(obj)
}
func (c *secretController) Update(obj *v1.Secret) (*v1.Secret, error) {
return c.clientGetter.Secrets(obj.Namespace).Update(obj)
}
func (c *secretController) Delete(namespace, name string, options *metav1.DeleteOptions) error {
return c.clientGetter.Secrets(namespace).Delete(name, options)
}
func (c *secretController) Get(namespace, name string, options metav1.GetOptions) (*v1.Secret, error) {
return c.clientGetter.Secrets(namespace).Get(name, options)
}
func (c *secretController) List(namespace string, opts metav1.ListOptions) (*v1.SecretList, error) {
return c.clientGetter.Secrets(namespace).List(opts)
}
func (c *secretController) Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error) {
return c.clientGetter.Secrets(namespace).Watch(opts)
}
func (c *secretController) Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Secret, err error) {
return c.clientGetter.Secrets(namespace).Patch(name, pt, data, subresources...)
}
type secretCache struct {
lister listers.SecretLister
indexer cache.Indexer
}
func (c *secretCache) Get(namespace, name string) (*v1.Secret, error) {
return c.lister.Secrets(namespace).Get(name)
}
func (c *secretCache) List(namespace string, selector labels.Selector) ([]*v1.Secret, error) {
return c.lister.Secrets(namespace).List(selector)
}
func (c *secretCache) AddIndexer(indexName string, indexer SecretIndexer) {
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
indexName: func(obj interface{}) (strings []string, e error) {
return indexer(obj.(*v1.Secret))
},
}))
}
func (c *secretCache) GetByIndex(indexName, key string) (result []*v1.Secret, err error) {
objs, err := c.indexer.ByIndex(indexName, key)
if err != nil {
return nil, err
}
for _, obj := range objs {
result = append(result, obj.(*v1.Secret))
}
return result, nil
}

View File

@@ -0,0 +1,242 @@
/*
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 main. DO NOT EDIT.
package v1
import (
"context"
"github.com/rancher/wrangler/pkg/generic"
v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/equality"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/types"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/apimachinery/pkg/watch"
informers "k8s.io/client-go/informers/core/v1"
clientset "k8s.io/client-go/kubernetes/typed/core/v1"
listers "k8s.io/client-go/listers/core/v1"
"k8s.io/client-go/tools/cache"
)
type ServiceHandler func(string, *v1.Service) (*v1.Service, error)
type ServiceController interface {
ServiceClient
OnChange(ctx context.Context, name string, sync ServiceHandler)
OnRemove(ctx context.Context, name string, sync ServiceHandler)
Enqueue(namespace, name string)
Cache() ServiceCache
Informer() cache.SharedIndexInformer
GroupVersionKind() schema.GroupVersionKind
AddGenericHandler(ctx context.Context, name string, handler generic.Handler)
AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler)
Updater() generic.Updater
}
type ServiceClient interface {
Create(*v1.Service) (*v1.Service, error)
Update(*v1.Service) (*v1.Service, error)
UpdateStatus(*v1.Service) (*v1.Service, error)
Delete(namespace, name string, options *metav1.DeleteOptions) error
Get(namespace, name string, options metav1.GetOptions) (*v1.Service, error)
List(namespace string, opts metav1.ListOptions) (*v1.ServiceList, error)
Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error)
Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Service, err error)
}
type ServiceCache interface {
Get(namespace, name string) (*v1.Service, error)
List(namespace string, selector labels.Selector) ([]*v1.Service, error)
AddIndexer(indexName string, indexer ServiceIndexer)
GetByIndex(indexName, key string) ([]*v1.Service, error)
}
type ServiceIndexer func(obj *v1.Service) ([]string, error)
type serviceController struct {
controllerManager *generic.ControllerManager
clientGetter clientset.ServicesGetter
informer informers.ServiceInformer
gvk schema.GroupVersionKind
}
func NewServiceController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.ServicesGetter, informer informers.ServiceInformer) ServiceController {
return &serviceController{
controllerManager: controllerManager,
clientGetter: clientGetter,
informer: informer,
gvk: gvk,
}
}
func FromServiceHandlerToHandler(sync ServiceHandler) generic.Handler {
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
var v *v1.Service
if obj == nil {
v, err = sync(key, nil)
} else {
v, err = sync(key, obj.(*v1.Service))
}
if v == nil {
return nil, err
}
return v, err
}
}
func (c *serviceController) Updater() generic.Updater {
return func(obj runtime.Object) (runtime.Object, error) {
newObj, err := c.Update(obj.(*v1.Service))
if newObj == nil {
return nil, err
}
return newObj, err
}
}
func UpdateServiceOnChange(updater generic.Updater, handler ServiceHandler) ServiceHandler {
return func(key string, obj *v1.Service) (*v1.Service, error) {
if obj == nil {
return handler(key, nil)
}
copyObj := obj.DeepCopy()
newObj, err := handler(key, copyObj)
if newObj != nil {
copyObj = newObj
}
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
newObj, err := updater(copyObj)
if newObj != nil && err == nil {
copyObj = newObj.(*v1.Service)
}
}
return copyObj, err
}
}
func (c *serviceController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
}
func (c *serviceController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
}
func (c *serviceController) OnChange(ctx context.Context, name string, sync ServiceHandler) {
c.AddGenericHandler(ctx, name, FromServiceHandlerToHandler(sync))
}
func (c *serviceController) OnRemove(ctx context.Context, name string, sync ServiceHandler) {
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromServiceHandlerToHandler(sync))
c.AddGenericHandler(ctx, name, removeHandler)
}
func (c *serviceController) Enqueue(namespace, name string) {
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), namespace, name)
}
func (c *serviceController) Informer() cache.SharedIndexInformer {
return c.informer.Informer()
}
func (c *serviceController) GroupVersionKind() schema.GroupVersionKind {
return c.gvk
}
func (c *serviceController) Cache() ServiceCache {
return &serviceCache{
lister: c.informer.Lister(),
indexer: c.informer.Informer().GetIndexer(),
}
}
func (c *serviceController) Create(obj *v1.Service) (*v1.Service, error) {
return c.clientGetter.Services(obj.Namespace).Create(obj)
}
func (c *serviceController) Update(obj *v1.Service) (*v1.Service, error) {
return c.clientGetter.Services(obj.Namespace).Update(obj)
}
func (c *serviceController) UpdateStatus(obj *v1.Service) (*v1.Service, error) {
return c.clientGetter.Services(obj.Namespace).UpdateStatus(obj)
}
func (c *serviceController) Delete(namespace, name string, options *metav1.DeleteOptions) error {
return c.clientGetter.Services(namespace).Delete(name, options)
}
func (c *serviceController) Get(namespace, name string, options metav1.GetOptions) (*v1.Service, error) {
return c.clientGetter.Services(namespace).Get(name, options)
}
func (c *serviceController) List(namespace string, opts metav1.ListOptions) (*v1.ServiceList, error) {
return c.clientGetter.Services(namespace).List(opts)
}
func (c *serviceController) Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error) {
return c.clientGetter.Services(namespace).Watch(opts)
}
func (c *serviceController) Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Service, err error) {
return c.clientGetter.Services(namespace).Patch(name, pt, data, subresources...)
}
type serviceCache struct {
lister listers.ServiceLister
indexer cache.Indexer
}
func (c *serviceCache) Get(namespace, name string) (*v1.Service, error) {
return c.lister.Services(namespace).Get(name)
}
func (c *serviceCache) List(namespace string, selector labels.Selector) ([]*v1.Service, error) {
return c.lister.Services(namespace).List(selector)
}
func (c *serviceCache) AddIndexer(indexName string, indexer ServiceIndexer) {
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
indexName: func(obj interface{}) (strings []string, e error) {
return indexer(obj.(*v1.Service))
},
}))
}
func (c *serviceCache) GetByIndex(indexName, key string) (result []*v1.Service, err error) {
objs, err := c.indexer.ByIndex(indexName, key)
if err != nil {
return nil, err
}
for _, obj := range objs {
result = append(result, obj.(*v1.Service))
}
return result, nil
}

View File

@@ -0,0 +1,238 @@
/*
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 main. DO NOT EDIT.
package v1
import (
"context"
"github.com/rancher/wrangler/pkg/generic"
v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/equality"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/types"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/apimachinery/pkg/watch"
informers "k8s.io/client-go/informers/core/v1"
clientset "k8s.io/client-go/kubernetes/typed/core/v1"
listers "k8s.io/client-go/listers/core/v1"
"k8s.io/client-go/tools/cache"
)
type ServiceAccountHandler func(string, *v1.ServiceAccount) (*v1.ServiceAccount, error)
type ServiceAccountController interface {
ServiceAccountClient
OnChange(ctx context.Context, name string, sync ServiceAccountHandler)
OnRemove(ctx context.Context, name string, sync ServiceAccountHandler)
Enqueue(namespace, name string)
Cache() ServiceAccountCache
Informer() cache.SharedIndexInformer
GroupVersionKind() schema.GroupVersionKind
AddGenericHandler(ctx context.Context, name string, handler generic.Handler)
AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler)
Updater() generic.Updater
}
type ServiceAccountClient interface {
Create(*v1.ServiceAccount) (*v1.ServiceAccount, error)
Update(*v1.ServiceAccount) (*v1.ServiceAccount, error)
Delete(namespace, name string, options *metav1.DeleteOptions) error
Get(namespace, name string, options metav1.GetOptions) (*v1.ServiceAccount, error)
List(namespace string, opts metav1.ListOptions) (*v1.ServiceAccountList, error)
Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error)
Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ServiceAccount, err error)
}
type ServiceAccountCache interface {
Get(namespace, name string) (*v1.ServiceAccount, error)
List(namespace string, selector labels.Selector) ([]*v1.ServiceAccount, error)
AddIndexer(indexName string, indexer ServiceAccountIndexer)
GetByIndex(indexName, key string) ([]*v1.ServiceAccount, error)
}
type ServiceAccountIndexer func(obj *v1.ServiceAccount) ([]string, error)
type serviceAccountController struct {
controllerManager *generic.ControllerManager
clientGetter clientset.ServiceAccountsGetter
informer informers.ServiceAccountInformer
gvk schema.GroupVersionKind
}
func NewServiceAccountController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.ServiceAccountsGetter, informer informers.ServiceAccountInformer) ServiceAccountController {
return &serviceAccountController{
controllerManager: controllerManager,
clientGetter: clientGetter,
informer: informer,
gvk: gvk,
}
}
func FromServiceAccountHandlerToHandler(sync ServiceAccountHandler) generic.Handler {
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
var v *v1.ServiceAccount
if obj == nil {
v, err = sync(key, nil)
} else {
v, err = sync(key, obj.(*v1.ServiceAccount))
}
if v == nil {
return nil, err
}
return v, err
}
}
func (c *serviceAccountController) Updater() generic.Updater {
return func(obj runtime.Object) (runtime.Object, error) {
newObj, err := c.Update(obj.(*v1.ServiceAccount))
if newObj == nil {
return nil, err
}
return newObj, err
}
}
func UpdateServiceAccountOnChange(updater generic.Updater, handler ServiceAccountHandler) ServiceAccountHandler {
return func(key string, obj *v1.ServiceAccount) (*v1.ServiceAccount, error) {
if obj == nil {
return handler(key, nil)
}
copyObj := obj.DeepCopy()
newObj, err := handler(key, copyObj)
if newObj != nil {
copyObj = newObj
}
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
newObj, err := updater(copyObj)
if newObj != nil && err == nil {
copyObj = newObj.(*v1.ServiceAccount)
}
}
return copyObj, err
}
}
func (c *serviceAccountController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
}
func (c *serviceAccountController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
}
func (c *serviceAccountController) OnChange(ctx context.Context, name string, sync ServiceAccountHandler) {
c.AddGenericHandler(ctx, name, FromServiceAccountHandlerToHandler(sync))
}
func (c *serviceAccountController) OnRemove(ctx context.Context, name string, sync ServiceAccountHandler) {
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromServiceAccountHandlerToHandler(sync))
c.AddGenericHandler(ctx, name, removeHandler)
}
func (c *serviceAccountController) Enqueue(namespace, name string) {
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), namespace, name)
}
func (c *serviceAccountController) Informer() cache.SharedIndexInformer {
return c.informer.Informer()
}
func (c *serviceAccountController) GroupVersionKind() schema.GroupVersionKind {
return c.gvk
}
func (c *serviceAccountController) Cache() ServiceAccountCache {
return &serviceAccountCache{
lister: c.informer.Lister(),
indexer: c.informer.Informer().GetIndexer(),
}
}
func (c *serviceAccountController) Create(obj *v1.ServiceAccount) (*v1.ServiceAccount, error) {
return c.clientGetter.ServiceAccounts(obj.Namespace).Create(obj)
}
func (c *serviceAccountController) Update(obj *v1.ServiceAccount) (*v1.ServiceAccount, error) {
return c.clientGetter.ServiceAccounts(obj.Namespace).Update(obj)
}
func (c *serviceAccountController) Delete(namespace, name string, options *metav1.DeleteOptions) error {
return c.clientGetter.ServiceAccounts(namespace).Delete(name, options)
}
func (c *serviceAccountController) Get(namespace, name string, options metav1.GetOptions) (*v1.ServiceAccount, error) {
return c.clientGetter.ServiceAccounts(namespace).Get(name, options)
}
func (c *serviceAccountController) List(namespace string, opts metav1.ListOptions) (*v1.ServiceAccountList, error) {
return c.clientGetter.ServiceAccounts(namespace).List(opts)
}
func (c *serviceAccountController) Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error) {
return c.clientGetter.ServiceAccounts(namespace).Watch(opts)
}
func (c *serviceAccountController) Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ServiceAccount, err error) {
return c.clientGetter.ServiceAccounts(namespace).Patch(name, pt, data, subresources...)
}
type serviceAccountCache struct {
lister listers.ServiceAccountLister
indexer cache.Indexer
}
func (c *serviceAccountCache) Get(namespace, name string) (*v1.ServiceAccount, error) {
return c.lister.ServiceAccounts(namespace).Get(name)
}
func (c *serviceAccountCache) List(namespace string, selector labels.Selector) ([]*v1.ServiceAccount, error) {
return c.lister.ServiceAccounts(namespace).List(selector)
}
func (c *serviceAccountCache) AddIndexer(indexName string, indexer ServiceAccountIndexer) {
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
indexName: func(obj interface{}) (strings []string, e error) {
return indexer(obj.(*v1.ServiceAccount))
},
}))
}
func (c *serviceAccountCache) GetByIndex(indexName, key string) (result []*v1.ServiceAccount, err error) {
objs, err := c.indexer.ByIndex(indexName, key)
if err != nil {
return nil, err
}
for _, obj := range objs {
result = append(result, obj.(*v1.ServiceAccount))
}
return result, nil
}

View File

@@ -84,6 +84,10 @@ func NewFactory(clientset clientset.Interface, informerFactory informers.SharedI
}
}
func (c *Factory) Controllers() map[schema.GroupVersionKind]*generic.Controller {
return c.controllerManager.Controllers()
}
func (c *Factory) SetThreadiness(gvk schema.GroupVersionKind, threadiness int) {
c.threadiness[gvk] = threadiness
}