1
0
mirror of https://github.com/rancher/types.git synced 2025-08-02 05:11:59 +00:00

go generate

This commit is contained in:
rmweir 2019-07-31 12:07:03 -07:00
parent 02639373f2
commit 23c78c662d
6 changed files with 2508 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,39 @@
package v1
import (
storagev1 "k8s.io/api/storage/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
)
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *StorageClassList) DeepCopyInto(out *StorageClassList) {
*out = *in
out.TypeMeta = in.TypeMeta
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]storagev1.StorageClass, len(*in))
for i := range *in {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageClassList.
func (in *StorageClassList) DeepCopy() *StorageClassList {
if in == nil {
return nil
}
out := new(StorageClassList)
in.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *StorageClassList) DeepCopyObject() runtime.Object {
if c := in.DeepCopy(); c != nil {
return c
}
return nil
}

View File

@ -0,0 +1,119 @@
package v1
import (
"context"
"sync"
"github.com/rancher/norman/controller"
"github.com/rancher/norman/objectclient"
"github.com/rancher/norman/objectclient/dynamic"
"github.com/rancher/norman/restwatch"
"k8s.io/client-go/rest"
)
type (
contextKeyType struct{}
contextClientsKeyType struct{}
)
type Interface interface {
RESTClient() rest.Interface
controller.Starter
StorageClassesGetter
}
type Clients struct {
Interface Interface
StorageClass StorageClassClient
}
type Client struct {
sync.Mutex
restClient rest.Interface
starters []controller.Starter
storageClassControllers map[string]StorageClassController
}
func Factory(ctx context.Context, config rest.Config) (context.Context, controller.Starter, error) {
c, err := NewForConfig(config)
if err != nil {
return ctx, nil, err
}
cs := NewClientsFromInterface(c)
ctx = context.WithValue(ctx, contextKeyType{}, c)
ctx = context.WithValue(ctx, contextClientsKeyType{}, cs)
return ctx, c, nil
}
func ClientsFrom(ctx context.Context) *Clients {
return ctx.Value(contextClientsKeyType{}).(*Clients)
}
func From(ctx context.Context) Interface {
return ctx.Value(contextKeyType{}).(Interface)
}
func NewClients(config rest.Config) (*Clients, error) {
iface, err := NewForConfig(config)
if err != nil {
return nil, err
}
return NewClientsFromInterface(iface), nil
}
func NewClientsFromInterface(iface Interface) *Clients {
return &Clients{
Interface: iface,
StorageClass: &storageClassClient2{
iface: iface.StorageClasses(""),
},
}
}
func NewForConfig(config rest.Config) (Interface, error) {
if config.NegotiatedSerializer == nil {
config.NegotiatedSerializer = dynamic.NegotiatedSerializer
}
restClient, err := restwatch.UnversionedRESTClientFor(&config)
if err != nil {
return nil, err
}
return &Client{
restClient: restClient,
storageClassControllers: map[string]StorageClassController{},
}, nil
}
func (c *Client) RESTClient() rest.Interface {
return c.restClient
}
func (c *Client) Sync(ctx context.Context) error {
return controller.Sync(ctx, c.starters...)
}
func (c *Client) Start(ctx context.Context, threadiness int) error {
return controller.Start(ctx, threadiness, c.starters...)
}
type StorageClassesGetter interface {
StorageClasses(namespace string) StorageClassInterface
}
func (c *Client) StorageClasses(namespace string) StorageClassInterface {
objectClient := objectclient.NewObjectClient(namespace, c.restClient, &StorageClassResource, StorageClassGroupVersionKind, storageClassFactory{})
return &storageClassClient{
ns: namespace,
client: c,
objectClient: objectClient,
}
}

View File

@ -0,0 +1,41 @@
package v1
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
)
const (
GroupName = "storage.k8s.io"
Version = "v1"
)
// SchemeGroupVersion is group version used to register these objects
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: Version}
// Kind takes an unqualified kind and returns a Group qualified GroupKind
func Kind(kind string) schema.GroupKind {
return SchemeGroupVersion.WithKind(kind).GroupKind()
}
// Resource takes an unqualified resource and returns a Group qualified GroupResource
func Resource(resource string) schema.GroupResource {
return SchemeGroupVersion.WithResource(resource).GroupResource()
}
var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
AddToScheme = SchemeBuilder.AddToScheme
)
// Adds the list of known types to api.Scheme.
func addKnownTypes(scheme *runtime.Scheme) error {
// TODO this gets cleaned up when the types are fixed
scheme.AddKnownTypes(SchemeGroupVersion,
&StorageClassList{},
)
metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
return nil
}

View File

@ -0,0 +1,505 @@
package v1
import (
"context"
"github.com/rancher/norman/controller"
"github.com/rancher/norman/objectclient"
"github.com/rancher/norman/resource"
v1 "k8s.io/api/storage/v1"
"k8s.io/apimachinery/pkg/api/errors"
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"
"k8s.io/apimachinery/pkg/watch"
"k8s.io/client-go/tools/cache"
)
var (
StorageClassGroupVersionKind = schema.GroupVersionKind{
Version: Version,
Group: GroupName,
Kind: "StorageClass",
}
StorageClassResource = metav1.APIResource{
Name: "storageclasses",
SingularName: "storageclass",
Namespaced: false,
Kind: StorageClassGroupVersionKind.Kind,
}
StorageClassGroupVersionResource = schema.GroupVersionResource{
Group: GroupName,
Version: Version,
Resource: "storageclasses",
}
)
func init() {
resource.Put(StorageClassGroupVersionResource)
}
func NewStorageClass(namespace, name string, obj v1.StorageClass) *v1.StorageClass {
obj.APIVersion, obj.Kind = StorageClassGroupVersionKind.ToAPIVersionAndKind()
obj.Name = name
obj.Namespace = namespace
return &obj
}
type StorageClassList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []v1.StorageClass `json:"items"`
}
type StorageClassHandlerFunc func(key string, obj *v1.StorageClass) (runtime.Object, error)
type StorageClassChangeHandlerFunc func(obj *v1.StorageClass) (runtime.Object, error)
type StorageClassLister interface {
List(namespace string, selector labels.Selector) (ret []*v1.StorageClass, err error)
Get(namespace, name string) (*v1.StorageClass, error)
}
type StorageClassController interface {
Generic() controller.GenericController
Informer() cache.SharedIndexInformer
Lister() StorageClassLister
AddHandler(ctx context.Context, name string, handler StorageClassHandlerFunc)
AddFeatureHandler(ctx context.Context, enabled func() bool, name string, sync StorageClassHandlerFunc)
AddClusterScopedHandler(ctx context.Context, name, clusterName string, handler StorageClassHandlerFunc)
AddClusterScopedFeatureHandler(ctx context.Context, enabled func() bool, name, clusterName string, handler StorageClassHandlerFunc)
Enqueue(namespace, name string)
Sync(ctx context.Context) error
Start(ctx context.Context, threadiness int) error
}
type StorageClassInterface interface {
ObjectClient() *objectclient.ObjectClient
Create(*v1.StorageClass) (*v1.StorageClass, error)
GetNamespaced(namespace, name string, opts metav1.GetOptions) (*v1.StorageClass, error)
Get(name string, opts metav1.GetOptions) (*v1.StorageClass, error)
Update(*v1.StorageClass) (*v1.StorageClass, error)
Delete(name string, options *metav1.DeleteOptions) error
DeleteNamespaced(namespace, name string, options *metav1.DeleteOptions) error
List(opts metav1.ListOptions) (*StorageClassList, error)
Watch(opts metav1.ListOptions) (watch.Interface, error)
DeleteCollection(deleteOpts *metav1.DeleteOptions, listOpts metav1.ListOptions) error
Controller() StorageClassController
AddHandler(ctx context.Context, name string, sync StorageClassHandlerFunc)
AddFeatureHandler(ctx context.Context, enabled func() bool, name string, sync StorageClassHandlerFunc)
AddLifecycle(ctx context.Context, name string, lifecycle StorageClassLifecycle)
AddFeatureLifecycle(ctx context.Context, enabled func() bool, name string, lifecycle StorageClassLifecycle)
AddClusterScopedHandler(ctx context.Context, name, clusterName string, sync StorageClassHandlerFunc)
AddClusterScopedFeatureHandler(ctx context.Context, enabled func() bool, name, clusterName string, sync StorageClassHandlerFunc)
AddClusterScopedLifecycle(ctx context.Context, name, clusterName string, lifecycle StorageClassLifecycle)
AddClusterScopedFeatureLifecycle(ctx context.Context, enabled func() bool, name, clusterName string, lifecycle StorageClassLifecycle)
}
type storageClassLister struct {
controller *storageClassController
}
func (l *storageClassLister) List(namespace string, selector labels.Selector) (ret []*v1.StorageClass, err error) {
err = cache.ListAllByNamespace(l.controller.Informer().GetIndexer(), namespace, selector, func(obj interface{}) {
ret = append(ret, obj.(*v1.StorageClass))
})
return
}
func (l *storageClassLister) Get(namespace, name string) (*v1.StorageClass, error) {
var key string
if namespace != "" {
key = namespace + "/" + name
} else {
key = name
}
obj, exists, err := l.controller.Informer().GetIndexer().GetByKey(key)
if err != nil {
return nil, err
}
if !exists {
return nil, errors.NewNotFound(schema.GroupResource{
Group: StorageClassGroupVersionKind.Group,
Resource: "storageClass",
}, key)
}
return obj.(*v1.StorageClass), nil
}
type storageClassController struct {
controller.GenericController
}
func (c *storageClassController) Generic() controller.GenericController {
return c.GenericController
}
func (c *storageClassController) Lister() StorageClassLister {
return &storageClassLister{
controller: c,
}
}
func (c *storageClassController) AddHandler(ctx context.Context, name string, handler StorageClassHandlerFunc) {
c.GenericController.AddHandler(ctx, name, func(key string, obj interface{}) (interface{}, error) {
if obj == nil {
return handler(key, nil)
} else if v, ok := obj.(*v1.StorageClass); ok {
return handler(key, v)
} else {
return nil, nil
}
})
}
func (c *storageClassController) AddFeatureHandler(ctx context.Context, enabled func() bool, name string, handler StorageClassHandlerFunc) {
c.GenericController.AddHandler(ctx, name, func(key string, obj interface{}) (interface{}, error) {
if !enabled() {
return nil, nil
} else if obj == nil {
return handler(key, nil)
} else if v, ok := obj.(*v1.StorageClass); ok {
return handler(key, v)
} else {
return nil, nil
}
})
}
func (c *storageClassController) AddClusterScopedHandler(ctx context.Context, name, cluster string, handler StorageClassHandlerFunc) {
resource.PutClusterScoped(StorageClassGroupVersionResource)
c.GenericController.AddHandler(ctx, name, func(key string, obj interface{}) (interface{}, error) {
if obj == nil {
return handler(key, nil)
} else if v, ok := obj.(*v1.StorageClass); ok && controller.ObjectInCluster(cluster, obj) {
return handler(key, v)
} else {
return nil, nil
}
})
}
func (c *storageClassController) AddClusterScopedFeatureHandler(ctx context.Context, enabled func() bool, name, cluster string, handler StorageClassHandlerFunc) {
resource.PutClusterScoped(StorageClassGroupVersionResource)
c.GenericController.AddHandler(ctx, name, func(key string, obj interface{}) (interface{}, error) {
if !enabled() {
return nil, nil
} else if obj == nil {
return handler(key, nil)
} else if v, ok := obj.(*v1.StorageClass); ok && controller.ObjectInCluster(cluster, obj) {
return handler(key, v)
} else {
return nil, nil
}
})
}
type storageClassFactory struct {
}
func (c storageClassFactory) Object() runtime.Object {
return &v1.StorageClass{}
}
func (c storageClassFactory) List() runtime.Object {
return &StorageClassList{}
}
func (s *storageClassClient) Controller() StorageClassController {
s.client.Lock()
defer s.client.Unlock()
c, ok := s.client.storageClassControllers[s.ns]
if ok {
return c
}
genericController := controller.NewGenericController(StorageClassGroupVersionKind.Kind+"Controller",
s.objectClient)
c = &storageClassController{
GenericController: genericController,
}
s.client.storageClassControllers[s.ns] = c
s.client.starters = append(s.client.starters, c)
return c
}
type storageClassClient struct {
client *Client
ns string
objectClient *objectclient.ObjectClient
controller StorageClassController
}
func (s *storageClassClient) ObjectClient() *objectclient.ObjectClient {
return s.objectClient
}
func (s *storageClassClient) Create(o *v1.StorageClass) (*v1.StorageClass, error) {
obj, err := s.objectClient.Create(o)
return obj.(*v1.StorageClass), err
}
func (s *storageClassClient) Get(name string, opts metav1.GetOptions) (*v1.StorageClass, error) {
obj, err := s.objectClient.Get(name, opts)
return obj.(*v1.StorageClass), err
}
func (s *storageClassClient) GetNamespaced(namespace, name string, opts metav1.GetOptions) (*v1.StorageClass, error) {
obj, err := s.objectClient.GetNamespaced(namespace, name, opts)
return obj.(*v1.StorageClass), err
}
func (s *storageClassClient) Update(o *v1.StorageClass) (*v1.StorageClass, error) {
obj, err := s.objectClient.Update(o.Name, o)
return obj.(*v1.StorageClass), err
}
func (s *storageClassClient) Delete(name string, options *metav1.DeleteOptions) error {
return s.objectClient.Delete(name, options)
}
func (s *storageClassClient) DeleteNamespaced(namespace, name string, options *metav1.DeleteOptions) error {
return s.objectClient.DeleteNamespaced(namespace, name, options)
}
func (s *storageClassClient) List(opts metav1.ListOptions) (*StorageClassList, error) {
obj, err := s.objectClient.List(opts)
return obj.(*StorageClassList), err
}
func (s *storageClassClient) Watch(opts metav1.ListOptions) (watch.Interface, error) {
return s.objectClient.Watch(opts)
}
// Patch applies the patch and returns the patched deployment.
func (s *storageClassClient) Patch(o *v1.StorageClass, patchType types.PatchType, data []byte, subresources ...string) (*v1.StorageClass, error) {
obj, err := s.objectClient.Patch(o.Name, o, patchType, data, subresources...)
return obj.(*v1.StorageClass), err
}
func (s *storageClassClient) DeleteCollection(deleteOpts *metav1.DeleteOptions, listOpts metav1.ListOptions) error {
return s.objectClient.DeleteCollection(deleteOpts, listOpts)
}
func (s *storageClassClient) AddHandler(ctx context.Context, name string, sync StorageClassHandlerFunc) {
s.Controller().AddHandler(ctx, name, sync)
}
func (s *storageClassClient) AddFeatureHandler(ctx context.Context, enabled func() bool, name string, sync StorageClassHandlerFunc) {
s.Controller().AddFeatureHandler(ctx, enabled, name, sync)
}
func (s *storageClassClient) AddLifecycle(ctx context.Context, name string, lifecycle StorageClassLifecycle) {
sync := NewStorageClassLifecycleAdapter(name, false, s, lifecycle)
s.Controller().AddHandler(ctx, name, sync)
}
func (s *storageClassClient) AddFeatureLifecycle(ctx context.Context, enabled func() bool, name string, lifecycle StorageClassLifecycle) {
sync := NewStorageClassLifecycleAdapter(name, false, s, lifecycle)
s.Controller().AddFeatureHandler(ctx, enabled, name, sync)
}
func (s *storageClassClient) AddClusterScopedHandler(ctx context.Context, name, clusterName string, sync StorageClassHandlerFunc) {
s.Controller().AddClusterScopedHandler(ctx, name, clusterName, sync)
}
func (s *storageClassClient) AddClusterScopedFeatureHandler(ctx context.Context, enabled func() bool, name, clusterName string, sync StorageClassHandlerFunc) {
s.Controller().AddClusterScopedFeatureHandler(ctx, enabled, name, clusterName, sync)
}
func (s *storageClassClient) AddClusterScopedLifecycle(ctx context.Context, name, clusterName string, lifecycle StorageClassLifecycle) {
sync := NewStorageClassLifecycleAdapter(name+"_"+clusterName, true, s, lifecycle)
s.Controller().AddClusterScopedHandler(ctx, name, clusterName, sync)
}
func (s *storageClassClient) AddClusterScopedFeatureLifecycle(ctx context.Context, enabled func() bool, name, clusterName string, lifecycle StorageClassLifecycle) {
sync := NewStorageClassLifecycleAdapter(name+"_"+clusterName, true, s, lifecycle)
s.Controller().AddClusterScopedFeatureHandler(ctx, enabled, name, clusterName, sync)
}
type StorageClassIndexer func(obj *v1.StorageClass) ([]string, error)
type StorageClassClientCache interface {
Get(namespace, name string) (*v1.StorageClass, error)
List(namespace string, selector labels.Selector) ([]*v1.StorageClass, error)
Index(name string, indexer StorageClassIndexer)
GetIndexed(name, key string) ([]*v1.StorageClass, error)
}
type StorageClassClient interface {
Create(*v1.StorageClass) (*v1.StorageClass, error)
Get(namespace, name string, opts metav1.GetOptions) (*v1.StorageClass, error)
Update(*v1.StorageClass) (*v1.StorageClass, error)
Delete(namespace, name string, options *metav1.DeleteOptions) error
List(namespace string, opts metav1.ListOptions) (*StorageClassList, error)
Watch(opts metav1.ListOptions) (watch.Interface, error)
Cache() StorageClassClientCache
OnCreate(ctx context.Context, name string, sync StorageClassChangeHandlerFunc)
OnChange(ctx context.Context, name string, sync StorageClassChangeHandlerFunc)
OnRemove(ctx context.Context, name string, sync StorageClassChangeHandlerFunc)
Enqueue(namespace, name string)
Generic() controller.GenericController
ObjectClient() *objectclient.ObjectClient
Interface() StorageClassInterface
}
type storageClassClientCache struct {
client *storageClassClient2
}
type storageClassClient2 struct {
iface StorageClassInterface
controller StorageClassController
}
func (n *storageClassClient2) Interface() StorageClassInterface {
return n.iface
}
func (n *storageClassClient2) Generic() controller.GenericController {
return n.iface.Controller().Generic()
}
func (n *storageClassClient2) ObjectClient() *objectclient.ObjectClient {
return n.Interface().ObjectClient()
}
func (n *storageClassClient2) Enqueue(namespace, name string) {
n.iface.Controller().Enqueue(namespace, name)
}
func (n *storageClassClient2) Create(obj *v1.StorageClass) (*v1.StorageClass, error) {
return n.iface.Create(obj)
}
func (n *storageClassClient2) Get(namespace, name string, opts metav1.GetOptions) (*v1.StorageClass, error) {
return n.iface.GetNamespaced(namespace, name, opts)
}
func (n *storageClassClient2) Update(obj *v1.StorageClass) (*v1.StorageClass, error) {
return n.iface.Update(obj)
}
func (n *storageClassClient2) Delete(namespace, name string, options *metav1.DeleteOptions) error {
return n.iface.DeleteNamespaced(namespace, name, options)
}
func (n *storageClassClient2) List(namespace string, opts metav1.ListOptions) (*StorageClassList, error) {
return n.iface.List(opts)
}
func (n *storageClassClient2) Watch(opts metav1.ListOptions) (watch.Interface, error) {
return n.iface.Watch(opts)
}
func (n *storageClassClientCache) Get(namespace, name string) (*v1.StorageClass, error) {
return n.client.controller.Lister().Get(namespace, name)
}
func (n *storageClassClientCache) List(namespace string, selector labels.Selector) ([]*v1.StorageClass, error) {
return n.client.controller.Lister().List(namespace, selector)
}
func (n *storageClassClient2) Cache() StorageClassClientCache {
n.loadController()
return &storageClassClientCache{
client: n,
}
}
func (n *storageClassClient2) OnCreate(ctx context.Context, name string, sync StorageClassChangeHandlerFunc) {
n.loadController()
n.iface.AddLifecycle(ctx, name+"-create", &storageClassLifecycleDelegate{create: sync})
}
func (n *storageClassClient2) OnChange(ctx context.Context, name string, sync StorageClassChangeHandlerFunc) {
n.loadController()
n.iface.AddLifecycle(ctx, name+"-change", &storageClassLifecycleDelegate{update: sync})
}
func (n *storageClassClient2) OnRemove(ctx context.Context, name string, sync StorageClassChangeHandlerFunc) {
n.loadController()
n.iface.AddLifecycle(ctx, name, &storageClassLifecycleDelegate{remove: sync})
}
func (n *storageClassClientCache) Index(name string, indexer StorageClassIndexer) {
err := n.client.controller.Informer().GetIndexer().AddIndexers(map[string]cache.IndexFunc{
name: func(obj interface{}) ([]string, error) {
if v, ok := obj.(*v1.StorageClass); ok {
return indexer(v)
}
return nil, nil
},
})
if err != nil {
panic(err)
}
}
func (n *storageClassClientCache) GetIndexed(name, key string) ([]*v1.StorageClass, error) {
var result []*v1.StorageClass
objs, err := n.client.controller.Informer().GetIndexer().ByIndex(name, key)
if err != nil {
return nil, err
}
for _, obj := range objs {
if v, ok := obj.(*v1.StorageClass); ok {
result = append(result, v)
}
}
return result, nil
}
func (n *storageClassClient2) loadController() {
if n.controller == nil {
n.controller = n.iface.Controller()
}
}
type storageClassLifecycleDelegate struct {
create StorageClassChangeHandlerFunc
update StorageClassChangeHandlerFunc
remove StorageClassChangeHandlerFunc
}
func (n *storageClassLifecycleDelegate) HasCreate() bool {
return n.create != nil
}
func (n *storageClassLifecycleDelegate) Create(obj *v1.StorageClass) (runtime.Object, error) {
if n.create == nil {
return obj, nil
}
return n.create(obj)
}
func (n *storageClassLifecycleDelegate) HasFinalize() bool {
return n.remove != nil
}
func (n *storageClassLifecycleDelegate) Remove(obj *v1.StorageClass) (runtime.Object, error) {
if n.remove == nil {
return obj, nil
}
return n.remove(obj)
}
func (n *storageClassLifecycleDelegate) Updated(obj *v1.StorageClass) (runtime.Object, error) {
if n.update == nil {
return obj, nil
}
return n.update(obj)
}

View File

@ -0,0 +1,63 @@
package v1
import (
"github.com/rancher/norman/lifecycle"
v1 "k8s.io/api/storage/v1"
"k8s.io/apimachinery/pkg/runtime"
)
type StorageClassLifecycle interface {
Create(obj *v1.StorageClass) (runtime.Object, error)
Remove(obj *v1.StorageClass) (runtime.Object, error)
Updated(obj *v1.StorageClass) (runtime.Object, error)
}
type storageClassLifecycleAdapter struct {
lifecycle StorageClassLifecycle
}
func (w *storageClassLifecycleAdapter) HasCreate() bool {
o, ok := w.lifecycle.(lifecycle.ObjectLifecycleCondition)
return !ok || o.HasCreate()
}
func (w *storageClassLifecycleAdapter) HasFinalize() bool {
o, ok := w.lifecycle.(lifecycle.ObjectLifecycleCondition)
return !ok || o.HasFinalize()
}
func (w *storageClassLifecycleAdapter) Create(obj runtime.Object) (runtime.Object, error) {
o, err := w.lifecycle.Create(obj.(*v1.StorageClass))
if o == nil {
return nil, err
}
return o, err
}
func (w *storageClassLifecycleAdapter) Finalize(obj runtime.Object) (runtime.Object, error) {
o, err := w.lifecycle.Remove(obj.(*v1.StorageClass))
if o == nil {
return nil, err
}
return o, err
}
func (w *storageClassLifecycleAdapter) Updated(obj runtime.Object) (runtime.Object, error) {
o, err := w.lifecycle.Updated(obj.(*v1.StorageClass))
if o == nil {
return nil, err
}
return o, err
}
func NewStorageClassLifecycleAdapter(name string, clusterScoped bool, client StorageClassInterface, l StorageClassLifecycle) StorageClassHandlerFunc {
adapter := &storageClassLifecycleAdapter{lifecycle: l}
syncFn := lifecycle.NewObjectLifecycleAdapter(name, clusterScoped, adapter, client.ObjectClient())
return func(key string, obj *v1.StorageClass) (runtime.Object, error) {
newObj, err := syncFn(key, obj)
if o, ok := newObj.(runtime.Object); ok {
return o, err
}
return nil, err
}
}