kubelatte-ce
Форк от sbertech/kubelatte-ce
114 строк · 3.2 Кб
1package clientset2
3import (4"context"5"gitverse.ru/synapse/kubelatte/pkg/api/v1alpha1"6metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"7"k8s.io/apimachinery/pkg/watch"8"k8s.io/client-go/kubernetes/scheme"9"k8s.io/client-go/rest"10)
11
12//go:generate go run github.com/vektra/mockery/v2@v2.20.2 --name=TriggerInterface
13type TriggerInterface interface {14List(ctx context.Context, opts metav1.ListOptions) (*v1alpha1.TriggerList, error)15Get(ctx context.Context, name string, options metav1.GetOptions) (*v1alpha1.Trigger, error)16Update(ctx context.Context, trigger *v1alpha1.Trigger, opts metav1.UpdateOptions) (result *v1alpha1.Trigger, err error)17UpdateStatus(ctx context.Context, hostEntry *v1alpha1.Trigger, opts metav1.UpdateOptions) (*v1alpha1.Trigger, error)18Create(ctx context.Context, trigger *v1alpha1.Trigger) (*v1alpha1.Trigger, error)19Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error20Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error)21}
22
23type triggerClient struct {24restClient rest.Interface25ns string26}
27
28func (c *triggerClient) List(ctx context.Context, opts metav1.ListOptions) (*v1alpha1.TriggerList, error) {29result := v1alpha1.TriggerList{}30err := c.restClient.31Get().32Namespace(c.ns).33Resource("triggers").34VersionedParams(&opts, scheme.ParameterCodec).35Do(ctx).36Into(&result)37
38return &result, err39}
40
41func (c *triggerClient) Get(ctx context.Context, name string, opts metav1.GetOptions) (*v1alpha1.Trigger, error) {42result := v1alpha1.Trigger{}43err := c.restClient.44Get().45Namespace(c.ns).46Resource("triggers").47Name(name).48VersionedParams(&opts, scheme.ParameterCodec).49Do(ctx).50Into(&result)51
52return &result, err53}
54
55func (c *triggerClient) Update(ctx context.Context, trigger *v1alpha1.Trigger, opts metav1.UpdateOptions) (result *v1alpha1.Trigger, err error) {56result = &v1alpha1.Trigger{}57err = c.restClient.Put().58Namespace(c.ns).59Resource("triggers").60Name(trigger.Name).61VersionedParams(&opts, scheme.ParameterCodec).62Body(trigger).63Do(ctx).64Into(result)65return66}
67
68func (c *triggerClient) UpdateStatus(ctx context.Context, hostEntry *v1alpha1.Trigger, opts metav1.UpdateOptions) (result *v1alpha1.Trigger, err error) {69result = &v1alpha1.Trigger{}70err = c.restClient.Put().71Namespace(c.ns).72Resource("triggers").73Name(hostEntry.Name).74SubResource("status").75VersionedParams(&opts, scheme.ParameterCodec).76Body(hostEntry).77Do(ctx).78Into(result)79return80}
81
82func (c *triggerClient) Create(ctx context.Context, trigger *v1alpha1.Trigger) (*v1alpha1.Trigger, error) {83result := v1alpha1.Trigger{}84err := c.restClient.85Post().86Namespace(c.ns).87Resource("triggers").88Body(trigger).89Do(ctx).90Into(&result)91
92return &result, err93}
94
95func (c *triggerClient) Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error {96return c.restClient.97Delete().98Namespace(c.ns).99Resource("triggers").100Name(name).101Body(&opts).102Do(ctx).103Error()104}
105
106func (c *triggerClient) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) {107opts.Watch = true108return c.restClient.109Get().110Namespace(c.ns).111Resource("trigger").112VersionedParams(&opts, scheme.ParameterCodec).113Watch(ctx)114}
115