mirror of
https://github.com/hanzo-fi/stack.git
synced 2026-10-30 20:34:43 +00:00
93 lines
2.3 KiB
Go
93 lines
2.3 KiB
Go
package v1beta3
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/formancehq/operator/apis/stack/v1beta3"
|
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
"k8s.io/apimachinery/pkg/watch"
|
|
"k8s.io/client-go/kubernetes/scheme"
|
|
"k8s.io/client-go/rest"
|
|
)
|
|
|
|
type VersionsInterface interface {
|
|
List(ctx context.Context, opts metav1.ListOptions) (*v1beta3.VersionsList, error)
|
|
Get(ctx context.Context, name string, options metav1.GetOptions) (*v1beta3.Versions, error)
|
|
Create(ctx context.Context, versions *v1beta3.Versions) (*v1beta3.Versions, error)
|
|
Update(ctx context.Context, versions *v1beta3.Versions) (*v1beta3.Versions, error)
|
|
Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error)
|
|
Delete(ctx context.Context, name string) error
|
|
}
|
|
|
|
type versionClient struct {
|
|
restClient rest.Interface
|
|
}
|
|
|
|
func (c *versionClient) List(ctx context.Context, opts metav1.ListOptions) (*v1beta3.VersionsList, error) {
|
|
result := v1beta3.VersionsList{}
|
|
err := c.restClient.
|
|
Get().
|
|
Resource("versions").
|
|
VersionedParams(&opts, scheme.ParameterCodec).
|
|
Do(ctx).
|
|
Into(&result)
|
|
|
|
return &result, err
|
|
}
|
|
|
|
func (c *versionClient) Get(ctx context.Context, name string, opts metav1.GetOptions) (*v1beta3.Versions, error) {
|
|
result := v1beta3.Versions{}
|
|
err := c.restClient.
|
|
Get().
|
|
Resource("versions").
|
|
Name(name).
|
|
VersionedParams(&opts, scheme.ParameterCodec).
|
|
Do(ctx).
|
|
Into(&result)
|
|
|
|
return &result, err
|
|
}
|
|
|
|
func (c *versionClient) Create(ctx context.Context, version *v1beta3.Versions) (*v1beta3.Versions, error) {
|
|
result := v1beta3.Versions{}
|
|
err := c.restClient.
|
|
Post().
|
|
Resource("versions").
|
|
Body(version).
|
|
Do(ctx).
|
|
Into(&result)
|
|
|
|
return &result, err
|
|
}
|
|
|
|
func (c *versionClient) Delete(ctx context.Context, name string) error {
|
|
return c.restClient.
|
|
Delete().
|
|
Resource("versions").
|
|
Name(name).
|
|
Do(ctx).
|
|
Error()
|
|
}
|
|
|
|
func (c *versionClient) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) {
|
|
opts.Watch = true
|
|
return c.restClient.
|
|
Get().
|
|
Resource("versions").
|
|
VersionedParams(&opts, scheme.ParameterCodec).
|
|
Watch(ctx)
|
|
}
|
|
|
|
func (c *versionClient) Update(ctx context.Context, o *v1beta3.Versions) (*v1beta3.Versions, error) {
|
|
result := v1beta3.Versions{}
|
|
err := c.restClient.
|
|
Put().
|
|
Resource("versions").
|
|
Name(o.Name).
|
|
Body(o).
|
|
Do(ctx).
|
|
Into(&result)
|
|
|
|
return &result, err
|
|
}
|