kubelatte-ce
Форк от sbertech/kubelatte-ce
78 строк · 2.0 Кб
1package clientset2
3import (4cachev1alpha1 "gitverse.ru/ktrntrsv/kubelatte-ce/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) TemplateInterface12Trigger(namespace string) TriggerInterface13Scope(namespace string) ScopeInterface14TriggerInstance() TriggerInstanceInterface15}
16
17type V1Alpha1Client struct {18RestClient rest.Interface19TemplateClient TemplateInterface
20TriggerClient TriggerInterface
21ScopeClient ScopeInterface
22TriggerInstanceClient TriggerInstanceInterface
23}
24
25func NewForConfig(c *rest.Config) (*V1Alpha1Client, error) {26
27config := *c28config.ContentConfig.GroupVersion = &cachev1alpha1.GroupVersion29config.APIPath = "/apis"30config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()31config.UserAgent = rest.DefaultKubernetesUserAgent()32
33client, err := rest.RESTClientFor(&config)34if err != nil {35return nil, err36}37
38return &V1Alpha1Client{RestClient: client}, nil39}
40
41func (c *V1Alpha1Client) Template(namespace string) TemplateInterface {42if c.TemplateClient == nil {43c.TemplateClient = &templateClient{44restClient: c.RestClient,45ns: namespace,46}47}48return c.TemplateClient49}
50
51func (c *V1Alpha1Client) Trigger(namespace string) TriggerInterface {52if c.TriggerClient == nil {53c.TriggerClient = &triggerClient{54restClient: c.RestClient,55ns: namespace,56}57}58return c.TriggerClient59}
60
61func (c *V1Alpha1Client) Scope(namespace string) ScopeInterface {62if c.ScopeClient == nil {63c.ScopeClient = &scopeClient{64restClient: c.RestClient,65ns: namespace,66}67}68return c.ScopeClient69}
70
71func (c *V1Alpha1Client) TriggerInstance() TriggerInstanceInterface {72if c.TriggerInstanceClient == nil {73c.TriggerInstanceClient = &triggerInstanceClient{74restClient: c.RestClient,75}76}77return c.TriggerInstanceClient78}
79