sigs.k8s.io/kueue@v0.6.2/client-go/clientset/versioned/clientset.go (about) 1 /* 2 Copyright The Kubernetes Authors. 3 4 Licensed under the Apache License, Version 2.0 (the "License"); 5 you may not use this file except in compliance with the License. 6 You may obtain a copy of the License at 7 8 http://www.apache.org/licenses/LICENSE-2.0 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15 */ 16 // Code generated by client-gen. DO NOT EDIT. 17 18 package versioned 19 20 import ( 21 "fmt" 22 "net/http" 23 24 discovery "k8s.io/client-go/discovery" 25 rest "k8s.io/client-go/rest" 26 flowcontrol "k8s.io/client-go/util/flowcontrol" 27 kueuev1alpha1 "sigs.k8s.io/kueue/client-go/clientset/versioned/typed/kueue/v1alpha1" 28 kueuev1beta1 "sigs.k8s.io/kueue/client-go/clientset/versioned/typed/kueue/v1beta1" 29 visibilityv1alpha1 "sigs.k8s.io/kueue/client-go/clientset/versioned/typed/visibility/v1alpha1" 30 ) 31 32 type Interface interface { 33 Discovery() discovery.DiscoveryInterface 34 KueueV1alpha1() kueuev1alpha1.KueueV1alpha1Interface 35 KueueV1beta1() kueuev1beta1.KueueV1beta1Interface 36 VisibilityV1alpha1() visibilityv1alpha1.VisibilityV1alpha1Interface 37 } 38 39 // Clientset contains the clients for groups. 40 type Clientset struct { 41 *discovery.DiscoveryClient 42 kueueV1alpha1 *kueuev1alpha1.KueueV1alpha1Client 43 kueueV1beta1 *kueuev1beta1.KueueV1beta1Client 44 visibilityV1alpha1 *visibilityv1alpha1.VisibilityV1alpha1Client 45 } 46 47 // KueueV1alpha1 retrieves the KueueV1alpha1Client 48 func (c *Clientset) KueueV1alpha1() kueuev1alpha1.KueueV1alpha1Interface { 49 return c.kueueV1alpha1 50 } 51 52 // KueueV1beta1 retrieves the KueueV1beta1Client 53 func (c *Clientset) KueueV1beta1() kueuev1beta1.KueueV1beta1Interface { 54 return c.kueueV1beta1 55 } 56 57 // VisibilityV1alpha1 retrieves the VisibilityV1alpha1Client 58 func (c *Clientset) VisibilityV1alpha1() visibilityv1alpha1.VisibilityV1alpha1Interface { 59 return c.visibilityV1alpha1 60 } 61 62 // Discovery retrieves the DiscoveryClient 63 func (c *Clientset) Discovery() discovery.DiscoveryInterface { 64 if c == nil { 65 return nil 66 } 67 return c.DiscoveryClient 68 } 69 70 // NewForConfig creates a new Clientset for the given config. 71 // If config's RateLimiter is not set and QPS and Burst are acceptable, 72 // NewForConfig will generate a rate-limiter in configShallowCopy. 73 // NewForConfig is equivalent to NewForConfigAndClient(c, httpClient), 74 // where httpClient was generated with rest.HTTPClientFor(c). 75 func NewForConfig(c *rest.Config) (*Clientset, error) { 76 configShallowCopy := *c 77 78 if configShallowCopy.UserAgent == "" { 79 configShallowCopy.UserAgent = rest.DefaultKubernetesUserAgent() 80 } 81 82 // share the transport between all clients 83 httpClient, err := rest.HTTPClientFor(&configShallowCopy) 84 if err != nil { 85 return nil, err 86 } 87 88 return NewForConfigAndClient(&configShallowCopy, httpClient) 89 } 90 91 // NewForConfigAndClient creates a new Clientset for the given config and http client. 92 // Note the http client provided takes precedence over the configured transport values. 93 // If config's RateLimiter is not set and QPS and Burst are acceptable, 94 // NewForConfigAndClient will generate a rate-limiter in configShallowCopy. 95 func NewForConfigAndClient(c *rest.Config, httpClient *http.Client) (*Clientset, error) { 96 configShallowCopy := *c 97 if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 { 98 if configShallowCopy.Burst <= 0 { 99 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") 100 } 101 configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst) 102 } 103 104 var cs Clientset 105 var err error 106 cs.kueueV1alpha1, err = kueuev1alpha1.NewForConfigAndClient(&configShallowCopy, httpClient) 107 if err != nil { 108 return nil, err 109 } 110 cs.kueueV1beta1, err = kueuev1beta1.NewForConfigAndClient(&configShallowCopy, httpClient) 111 if err != nil { 112 return nil, err 113 } 114 cs.visibilityV1alpha1, err = visibilityv1alpha1.NewForConfigAndClient(&configShallowCopy, httpClient) 115 if err != nil { 116 return nil, err 117 } 118 119 cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfigAndClient(&configShallowCopy, httpClient) 120 if err != nil { 121 return nil, err 122 } 123 return &cs, nil 124 } 125 126 // NewForConfigOrDie creates a new Clientset for the given config and 127 // panics if there is an error in the config. 128 func NewForConfigOrDie(c *rest.Config) *Clientset { 129 cs, err := NewForConfig(c) 130 if err != nil { 131 panic(err) 132 } 133 return cs 134 } 135 136 // New creates a new Clientset for the given RESTClient. 137 func New(c rest.Interface) *Clientset { 138 var cs Clientset 139 cs.kueueV1alpha1 = kueuev1alpha1.New(c) 140 cs.kueueV1beta1 = kueuev1beta1.New(c) 141 cs.visibilityV1alpha1 = visibilityv1alpha1.New(c) 142 143 cs.DiscoveryClient = discovery.NewDiscoveryClient(c) 144 return &cs 145 }