kubelatte-ce

Форк
2
Форк от sbertech/kubelatte-ce
78 строк · 2.0 Кб
1
package clientset
2

3
import (
4
	cachev1alpha1 "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
10
type V1Alpha1Interface interface {
11
	Template(namespace string) TemplateInterface
12
	Trigger(namespace string) TriggerInterface
13
	Scope(namespace string) ScopeInterface
14
	TriggerInstance() TriggerInstanceInterface
15
}
16

17
type V1Alpha1Client struct {
18
	RestClient            rest.Interface
19
	TemplateClient        TemplateInterface
20
	TriggerClient         TriggerInterface
21
	ScopeClient           ScopeInterface
22
	TriggerInstanceClient TriggerInstanceInterface
23
}
24

25
func NewForConfig(c *rest.Config) (*V1Alpha1Client, error) {
26

27
	config := *c
28
	config.ContentConfig.GroupVersion = &cachev1alpha1.GroupVersion
29
	config.APIPath = "/apis"
30
	config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
31
	config.UserAgent = rest.DefaultKubernetesUserAgent()
32

33
	client, err := rest.RESTClientFor(&config)
34
	if err != nil {
35
		return nil, err
36
	}
37

38
	return &V1Alpha1Client{RestClient: client}, nil
39
}
40

41
func (c *V1Alpha1Client) Template(namespace string) TemplateInterface {
42
	if c.TemplateClient == nil {
43
		c.TemplateClient = &templateClient{
44
			restClient: c.RestClient,
45
			ns:         namespace,
46
		}
47
	}
48
	return c.TemplateClient
49
}
50

51
func (c *V1Alpha1Client) Trigger(namespace string) TriggerInterface {
52
	if c.TriggerClient == nil {
53
		c.TriggerClient = &triggerClient{
54
			restClient: c.RestClient,
55
			ns:         namespace,
56
		}
57
	}
58
	return c.TriggerClient
59
}
60

61
func (c *V1Alpha1Client) Scope(namespace string) ScopeInterface {
62
	if c.ScopeClient == nil {
63
		c.ScopeClient = &scopeClient{
64
			restClient: c.RestClient,
65
			ns:         namespace,
66
		}
67
	}
68
	return c.ScopeClient
69
}
70

71
func (c *V1Alpha1Client) TriggerInstance() TriggerInstanceInterface {
72
	if c.TriggerInstanceClient == nil {
73
		c.TriggerInstanceClient = &triggerInstanceClient{
74
			restClient: c.RestClient,
75
		}
76
	}
77
	return c.TriggerInstanceClient
78
}
79

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.