clientset.go 5.3 KB
Newer Older
J
Jeff 已提交
1
/*
R
runzexia 已提交
2
Copyright 2019 The KubeSphere authors.
J
Jeff 已提交
3 4 5 6 7 8 9 10 11 12 13 14 15

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
R
runzexia 已提交
16 17

// Code generated by client-gen. DO NOT EDIT.
J
Jeff 已提交
18 19 20 21

package versioned

import (
22 23
	"fmt"

H
hongming 已提交
24 25 26
	discovery "k8s.io/client-go/discovery"
	rest "k8s.io/client-go/rest"
	flowcontrol "k8s.io/client-go/util/flowcontrol"
R
runzexia 已提交
27
	devopsv1alpha1 "kubesphere.io/kubesphere/pkg/client/clientset/versioned/typed/devops/v1alpha1"
28
	networkv1alpha1 "kubesphere.io/kubesphere/pkg/client/clientset/versioned/typed/network/v1alpha1"
J
Jeff 已提交
29
	servicemeshv1alpha2 "kubesphere.io/kubesphere/pkg/client/clientset/versioned/typed/servicemesh/v1alpha2"
H
hongming 已提交
30
	tenantv1alpha1 "kubesphere.io/kubesphere/pkg/client/clientset/versioned/typed/tenant/v1alpha1"
Z
zryfish 已提交
31
	towerv1alpha1 "kubesphere.io/kubesphere/pkg/client/clientset/versioned/typed/tower/v1alpha1"
J
Jeff 已提交
32 33 34 35
)

type Interface interface {
	Discovery() discovery.DiscoveryInterface
R
runzexia 已提交
36
	DevopsV1alpha1() devopsv1alpha1.DevopsV1alpha1Interface
37
	NetworkV1alpha1() networkv1alpha1.NetworkV1alpha1Interface
J
Jeff 已提交
38
	ServicemeshV1alpha2() servicemeshv1alpha2.ServicemeshV1alpha2Interface
H
hongming 已提交
39
	TenantV1alpha1() tenantv1alpha1.TenantV1alpha1Interface
Z
zryfish 已提交
40
	TowerV1alpha1() towerv1alpha1.TowerV1alpha1Interface
J
Jeff 已提交
41 42 43 44 45 46
}

// Clientset contains the clients for groups. Each group has exactly one
// version included in a Clientset.
type Clientset struct {
	*discovery.DiscoveryClient
R
runzexia 已提交
47
	devopsV1alpha1      *devopsv1alpha1.DevopsV1alpha1Client
48
	networkV1alpha1     *networkv1alpha1.NetworkV1alpha1Client
J
Jeff 已提交
49
	servicemeshV1alpha2 *servicemeshv1alpha2.ServicemeshV1alpha2Client
H
hongming 已提交
50
	tenantV1alpha1      *tenantv1alpha1.TenantV1alpha1Client
Z
zryfish 已提交
51
	towerV1alpha1       *towerv1alpha1.TowerV1alpha1Client
J
Jeff 已提交
52 53
}

R
runzexia 已提交
54 55 56 57 58
// DevopsV1alpha1 retrieves the DevopsV1alpha1Client
func (c *Clientset) DevopsV1alpha1() devopsv1alpha1.DevopsV1alpha1Interface {
	return c.devopsV1alpha1
}

59 60 61 62 63
// NetworkV1alpha1 retrieves the NetworkV1alpha1Client
func (c *Clientset) NetworkV1alpha1() networkv1alpha1.NetworkV1alpha1Interface {
	return c.networkV1alpha1
}

J
Jeff 已提交
64 65 66 67 68
// ServicemeshV1alpha2 retrieves the ServicemeshV1alpha2Client
func (c *Clientset) ServicemeshV1alpha2() servicemeshv1alpha2.ServicemeshV1alpha2Interface {
	return c.servicemeshV1alpha2
}

H
hongming 已提交
69 70 71 72 73
// TenantV1alpha1 retrieves the TenantV1alpha1Client
func (c *Clientset) TenantV1alpha1() tenantv1alpha1.TenantV1alpha1Interface {
	return c.tenantV1alpha1
}

Z
zryfish 已提交
74 75 76 77 78
// TowerV1alpha1 retrieves the TowerV1alpha1Client
func (c *Clientset) TowerV1alpha1() towerv1alpha1.TowerV1alpha1Interface {
	return c.towerV1alpha1
}

J
Jeff 已提交
79 80 81 82 83 84 85 86 87
// Discovery retrieves the DiscoveryClient
func (c *Clientset) Discovery() discovery.DiscoveryInterface {
	if c == nil {
		return nil
	}
	return c.DiscoveryClient
}

// NewForConfig creates a new Clientset for the given config.
88 89
// If config's RateLimiter is not set and QPS and Burst are acceptable,
// NewForConfig will generate a rate-limiter in configShallowCopy.
J
Jeff 已提交
90 91 92
func NewForConfig(c *rest.Config) (*Clientset, error) {
	configShallowCopy := *c
	if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 {
93 94 95
		if configShallowCopy.Burst <= 0 {
			return nil, fmt.Errorf("Burst is required to be greater than 0 when RateLimiter is not set and QPS is set to greater than 0")
		}
J
Jeff 已提交
96 97 98 99
		configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst)
	}
	var cs Clientset
	var err error
R
runzexia 已提交
100 101 102 103
	cs.devopsV1alpha1, err = devopsv1alpha1.NewForConfig(&configShallowCopy)
	if err != nil {
		return nil, err
	}
104 105 106 107
	cs.networkV1alpha1, err = networkv1alpha1.NewForConfig(&configShallowCopy)
	if err != nil {
		return nil, err
	}
J
Jeff 已提交
108 109 110 111
	cs.servicemeshV1alpha2, err = servicemeshv1alpha2.NewForConfig(&configShallowCopy)
	if err != nil {
		return nil, err
	}
H
hongming 已提交
112 113 114 115
	cs.tenantV1alpha1, err = tenantv1alpha1.NewForConfig(&configShallowCopy)
	if err != nil {
		return nil, err
	}
Z
zryfish 已提交
116 117 118 119
	cs.towerV1alpha1, err = towerv1alpha1.NewForConfig(&configShallowCopy)
	if err != nil {
		return nil, err
	}
J
Jeff 已提交
120 121 122 123 124 125 126 127 128 129 130 131

	cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy)
	if err != nil {
		return nil, err
	}
	return &cs, nil
}

// NewForConfigOrDie creates a new Clientset for the given config and
// panics if there is an error in the config.
func NewForConfigOrDie(c *rest.Config) *Clientset {
	var cs Clientset
R
runzexia 已提交
132
	cs.devopsV1alpha1 = devopsv1alpha1.NewForConfigOrDie(c)
133
	cs.networkV1alpha1 = networkv1alpha1.NewForConfigOrDie(c)
J
Jeff 已提交
134
	cs.servicemeshV1alpha2 = servicemeshv1alpha2.NewForConfigOrDie(c)
H
hongming 已提交
135
	cs.tenantV1alpha1 = tenantv1alpha1.NewForConfigOrDie(c)
Z
zryfish 已提交
136
	cs.towerV1alpha1 = towerv1alpha1.NewForConfigOrDie(c)
J
Jeff 已提交
137 138 139 140 141 142 143 144

	cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c)
	return &cs
}

// New creates a new Clientset for the given RESTClient.
func New(c rest.Interface) *Clientset {
	var cs Clientset
R
runzexia 已提交
145
	cs.devopsV1alpha1 = devopsv1alpha1.New(c)
146
	cs.networkV1alpha1 = networkv1alpha1.New(c)
J
Jeff 已提交
147
	cs.servicemeshV1alpha2 = servicemeshv1alpha2.New(c)
H
hongming 已提交
148
	cs.tenantV1alpha1 = tenantv1alpha1.New(c)
Z
zryfish 已提交
149
	cs.towerV1alpha1 = towerv1alpha1.New(c)
J
Jeff 已提交
150 151 152 153

	cs.DiscoveryClient = discovery.NewDiscoveryClient(c)
	return &cs
}