diff --git a/pkg/generated/clientset/versioned/typed/samplecontroller/v1alpha1/foo.go b/pkg/generated/clientset/versioned/typed/samplecontroller/v1alpha1/foo.go index 13a0b46d..d9a11534 100644 --- a/pkg/generated/clientset/versioned/typed/samplecontroller/v1alpha1/foo.go +++ b/pkg/generated/clientset/versioned/typed/samplecontroller/v1alpha1/foo.go @@ -20,15 +20,11 @@ package v1alpha1 import ( "context" - "time" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - rest "k8s.io/client-go/rest" - consistencydetector "k8s.io/client-go/util/consistencydetector" - watchlist "k8s.io/client-go/util/watchlist" - "k8s.io/klog/v2" + gentype "k8s.io/client-go/gentype" v1alpha1 "k8s.io/sample-controller/pkg/apis/samplecontroller/v1alpha1" scheme "k8s.io/sample-controller/pkg/generated/clientset/versioned/scheme" ) @@ -43,6 +39,7 @@ type FoosGetter interface { type FooInterface interface { Create(ctx context.Context, foo *v1alpha1.Foo, opts v1.CreateOptions) (*v1alpha1.Foo, error) Update(ctx context.Context, foo *v1alpha1.Foo, opts v1.UpdateOptions) (*v1alpha1.Foo, error) + // Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). UpdateStatus(ctx context.Context, foo *v1alpha1.Foo, opts v1.UpdateOptions) (*v1alpha1.Foo, error) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error @@ -55,180 +52,18 @@ type FooInterface interface { // foos implements FooInterface type foos struct { - client rest.Interface - ns string + *gentype.ClientWithList[*v1alpha1.Foo, *v1alpha1.FooList] } // newFoos returns a Foos func newFoos(c *SamplecontrollerV1alpha1Client, namespace string) *foos { return &foos{ - client: c.RESTClient(), - ns: namespace, + gentype.NewClientWithList[*v1alpha1.Foo, *v1alpha1.FooList]( + "foos", + c.RESTClient(), + scheme.ParameterCodec, + namespace, + func() *v1alpha1.Foo { return &v1alpha1.Foo{} }, + func() *v1alpha1.FooList { return &v1alpha1.FooList{} }), } } - -// Get takes name of the foo, and returns the corresponding foo object, and an error if there is any. -func (c *foos) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1alpha1.Foo, err error) { - result = &v1alpha1.Foo{} - err = c.client.Get(). - Namespace(c.ns). - Resource("foos"). - Name(name). - VersionedParams(&options, scheme.ParameterCodec). - Do(ctx). - Into(result) - return -} - -// List takes label and field selectors, and returns the list of Foos that match those selectors. -func (c *foos) List(ctx context.Context, opts v1.ListOptions) (*v1alpha1.FooList, error) { - if watchListOptions, hasWatchListOptionsPrepared, watchListOptionsErr := watchlist.PrepareWatchListOptionsFromListOptions(opts); watchListOptionsErr != nil { - klog.Warningf("Failed preparing watchlist options for foos, falling back to the standard LIST semantics, err = %v", watchListOptionsErr) - } else if hasWatchListOptionsPrepared { - result, err := c.watchList(ctx, watchListOptions) - if err == nil { - consistencydetector.CheckWatchListFromCacheDataConsistencyIfRequested(ctx, "watchlist request for foos", c.list, opts, result) - return result, nil - } - klog.Warningf("The watchlist request for foos ended with an error, falling back to the standard LIST semantics, err = %v", err) - } - result, err := c.list(ctx, opts) - if err == nil { - consistencydetector.CheckListFromCacheDataConsistencyIfRequested(ctx, "list request for foos", c.list, opts, result) - } - return result, err -} - -// list takes label and field selectors, and returns the list of Foos that match those selectors. -func (c *foos) list(ctx context.Context, opts v1.ListOptions) (result *v1alpha1.FooList, err error) { - var timeout time.Duration - if opts.TimeoutSeconds != nil { - timeout = time.Duration(*opts.TimeoutSeconds) * time.Second - } - result = &v1alpha1.FooList{} - err = c.client.Get(). - Namespace(c.ns). - Resource("foos"). - VersionedParams(&opts, scheme.ParameterCodec). - Timeout(timeout). - Do(ctx). - Into(result) - return -} - -// watchList establishes a watch stream with the server and returns the list of Foos -func (c *foos) watchList(ctx context.Context, opts v1.ListOptions) (result *v1alpha1.FooList, err error) { - var timeout time.Duration - if opts.TimeoutSeconds != nil { - timeout = time.Duration(*opts.TimeoutSeconds) * time.Second - } - result = &v1alpha1.FooList{} - err = c.client.Get(). - Namespace(c.ns). - Resource("foos"). - VersionedParams(&opts, scheme.ParameterCodec). - Timeout(timeout). - WatchList(ctx). - Into(result) - return -} - -// Watch returns a watch.Interface that watches the requested foos. -func (c *foos) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { - var timeout time.Duration - if opts.TimeoutSeconds != nil { - timeout = time.Duration(*opts.TimeoutSeconds) * time.Second - } - opts.Watch = true - return c.client.Get(). - Namespace(c.ns). - Resource("foos"). - VersionedParams(&opts, scheme.ParameterCodec). - Timeout(timeout). - Watch(ctx) -} - -// Create takes the representation of a foo and creates it. Returns the server's representation of the foo, and an error, if there is any. -func (c *foos) Create(ctx context.Context, foo *v1alpha1.Foo, opts v1.CreateOptions) (result *v1alpha1.Foo, err error) { - result = &v1alpha1.Foo{} - err = c.client.Post(). - Namespace(c.ns). - Resource("foos"). - VersionedParams(&opts, scheme.ParameterCodec). - Body(foo). - Do(ctx). - Into(result) - return -} - -// Update takes the representation of a foo and updates it. Returns the server's representation of the foo, and an error, if there is any. -func (c *foos) Update(ctx context.Context, foo *v1alpha1.Foo, opts v1.UpdateOptions) (result *v1alpha1.Foo, err error) { - result = &v1alpha1.Foo{} - err = c.client.Put(). - Namespace(c.ns). - Resource("foos"). - Name(foo.Name). - VersionedParams(&opts, scheme.ParameterCodec). - Body(foo). - Do(ctx). - Into(result) - return -} - -// UpdateStatus was generated because the type contains a Status member. -// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *foos) UpdateStatus(ctx context.Context, foo *v1alpha1.Foo, opts v1.UpdateOptions) (result *v1alpha1.Foo, err error) { - result = &v1alpha1.Foo{} - err = c.client.Put(). - Namespace(c.ns). - Resource("foos"). - Name(foo.Name). - SubResource("status"). - VersionedParams(&opts, scheme.ParameterCodec). - Body(foo). - Do(ctx). - Into(result) - return -} - -// Delete takes name of the foo and deletes it. Returns an error if one occurs. -func (c *foos) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { - return c.client.Delete(). - Namespace(c.ns). - Resource("foos"). - Name(name). - Body(&opts). - Do(ctx). - Error() -} - -// DeleteCollection deletes a collection of objects. -func (c *foos) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { - var timeout time.Duration - if listOpts.TimeoutSeconds != nil { - timeout = time.Duration(*listOpts.TimeoutSeconds) * time.Second - } - return c.client.Delete(). - Namespace(c.ns). - Resource("foos"). - VersionedParams(&listOpts, scheme.ParameterCodec). - Timeout(timeout). - Body(&opts). - Do(ctx). - Error() -} - -// Patch applies the patch and returns the patched foo. -func (c *foos) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1alpha1.Foo, err error) { - result = &v1alpha1.Foo{} - err = c.client.Patch(pt). - Namespace(c.ns). - Resource("foos"). - Name(name). - SubResource(subresources...). - VersionedParams(&opts, scheme.ParameterCodec). - Body(data). - Do(ctx). - Into(result) - return -}