kubelatte-ce
Форк от sbertech/kubelatte-ce
78 строк · 2.0 Кб
1package clientset
2
3import (
4cachev1alpha1 "gitverse.ru/synapse/kubelatte/pkg/api/v1alpha1"
5"k8s.io/client-go/kubernetes/scheme"
6"k8s.io/client-go/rest"
7)
8
9//go:generate go run github.com/vektra/mockery/v2@v2.20.2 --name=V1Alpha1Interface
10type V1Alpha1Interface interface {
11Template(namespace string) TemplateInterface
12Trigger(namespace string) TriggerInterface
13Scope(namespace string) ScopeInterface
14TriggerInstance() TriggerInstanceInterface
15}
16
17type V1Alpha1Client struct {
18RestClient rest.Interface
19TemplateClient TemplateInterface
20TriggerClient TriggerInterface
21ScopeClient ScopeInterface
22TriggerInstanceClient TriggerInstanceInterface
23}
24
25func NewForConfig(c *rest.Config) (*V1Alpha1Client, error) {
26
27config := *c
28config.ContentConfig.GroupVersion = &cachev1alpha1.GroupVersion
29config.APIPath = "/apis"
30config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
31config.UserAgent = rest.DefaultKubernetesUserAgent()
32
33client, err := rest.RESTClientFor(&config)
34if err != nil {
35return nil, err
36}
37
38return &V1Alpha1Client{RestClient: client}, nil
39}
40
41func (c *V1Alpha1Client) Template(namespace string) TemplateInterface {
42if c.TemplateClient == nil {
43c.TemplateClient = &templateClient{
44restClient: c.RestClient,
45ns: namespace,
46}
47}
48return c.TemplateClient
49}
50
51func (c *V1Alpha1Client) Trigger(namespace string) TriggerInterface {
52if c.TriggerClient == nil {
53c.TriggerClient = &triggerClient{
54restClient: c.RestClient,
55ns: namespace,
56}
57}
58return c.TriggerClient
59}
60
61func (c *V1Alpha1Client) Scope(namespace string) ScopeInterface {
62if c.ScopeClient == nil {
63c.ScopeClient = &scopeClient{
64restClient: c.RestClient,
65ns: namespace,
66}
67}
68return c.ScopeClient
69}
70
71func (c *V1Alpha1Client) TriggerInstance() TriggerInstanceInterface {
72if c.TriggerInstanceClient == nil {
73c.TriggerInstanceClient = &triggerInstanceClient{
74restClient: c.RestClient,
75}
76}
77return c.TriggerInstanceClient
78}
79