k8c.io/api/v3@v3.0.0-20230904060738-b0a93889c0b6/pkg/generated/clientset/versioned/clientset.go (about)

     1  // Code generated by client-gen. DO NOT EDIT.
     2  
     3  package versioned
     4  
     5  import (
     6  	"fmt"
     7  	"net/http"
     8  
     9  	kubermaticappsv1 "k8c.io/api/v3/pkg/generated/clientset/versioned/typed/apps.kubermatic/v1"
    10  	kubermaticenterpriseappsv1 "k8c.io/api/v3/pkg/generated/clientset/versioned/typed/ee.apps.kubermatic/v1"
    11  	kubermaticenterprisev1 "k8c.io/api/v3/pkg/generated/clientset/versioned/typed/ee.kubermatic/v1"
    12  	kubermaticv1 "k8c.io/api/v3/pkg/generated/clientset/versioned/typed/kubermatic/v1"
    13  	discovery "k8s.io/client-go/discovery"
    14  	rest "k8s.io/client-go/rest"
    15  	flowcontrol "k8s.io/client-go/util/flowcontrol"
    16  )
    17  
    18  type Interface interface {
    19  	Discovery() discovery.DiscoveryInterface
    20  	KubermaticAppsV1() kubermaticappsv1.KubermaticAppsV1Interface
    21  	KubermaticEnterpriseAppsV1() kubermaticenterpriseappsv1.KubermaticEnterpriseAppsV1Interface
    22  	KubermaticEnterpriseV1() kubermaticenterprisev1.KubermaticEnterpriseV1Interface
    23  	KubermaticV1() kubermaticv1.KubermaticV1Interface
    24  }
    25  
    26  // Clientset contains the clients for groups.
    27  type Clientset struct {
    28  	*discovery.DiscoveryClient
    29  	kubermaticAppsV1           *kubermaticappsv1.KubermaticAppsV1Client
    30  	kubermaticEnterpriseAppsV1 *kubermaticenterpriseappsv1.KubermaticEnterpriseAppsV1Client
    31  	kubermaticEnterpriseV1     *kubermaticenterprisev1.KubermaticEnterpriseV1Client
    32  	kubermaticV1               *kubermaticv1.KubermaticV1Client
    33  }
    34  
    35  // KubermaticAppsV1 retrieves the KubermaticAppsV1Client
    36  func (c *Clientset) KubermaticAppsV1() kubermaticappsv1.KubermaticAppsV1Interface {
    37  	return c.kubermaticAppsV1
    38  }
    39  
    40  // KubermaticEnterpriseAppsV1 retrieves the KubermaticEnterpriseAppsV1Client
    41  func (c *Clientset) KubermaticEnterpriseAppsV1() kubermaticenterpriseappsv1.KubermaticEnterpriseAppsV1Interface {
    42  	return c.kubermaticEnterpriseAppsV1
    43  }
    44  
    45  // KubermaticEnterpriseV1 retrieves the KubermaticEnterpriseV1Client
    46  func (c *Clientset) KubermaticEnterpriseV1() kubermaticenterprisev1.KubermaticEnterpriseV1Interface {
    47  	return c.kubermaticEnterpriseV1
    48  }
    49  
    50  // KubermaticV1 retrieves the KubermaticV1Client
    51  func (c *Clientset) KubermaticV1() kubermaticv1.KubermaticV1Interface {
    52  	return c.kubermaticV1
    53  }
    54  
    55  // Discovery retrieves the DiscoveryClient
    56  func (c *Clientset) Discovery() discovery.DiscoveryInterface {
    57  	if c == nil {
    58  		return nil
    59  	}
    60  	return c.DiscoveryClient
    61  }
    62  
    63  // NewForConfig creates a new Clientset for the given config.
    64  // If config's RateLimiter is not set and QPS and Burst are acceptable,
    65  // NewForConfig will generate a rate-limiter in configShallowCopy.
    66  // NewForConfig is equivalent to NewForConfigAndClient(c, httpClient),
    67  // where httpClient was generated with rest.HTTPClientFor(c).
    68  func NewForConfig(c *rest.Config) (*Clientset, error) {
    69  	configShallowCopy := *c
    70  
    71  	if configShallowCopy.UserAgent == "" {
    72  		configShallowCopy.UserAgent = rest.DefaultKubernetesUserAgent()
    73  	}
    74  
    75  	// share the transport between all clients
    76  	httpClient, err := rest.HTTPClientFor(&configShallowCopy)
    77  	if err != nil {
    78  		return nil, err
    79  	}
    80  
    81  	return NewForConfigAndClient(&configShallowCopy, httpClient)
    82  }
    83  
    84  // NewForConfigAndClient creates a new Clientset for the given config and http client.
    85  // Note the http client provided takes precedence over the configured transport values.
    86  // If config's RateLimiter is not set and QPS and Burst are acceptable,
    87  // NewForConfigAndClient will generate a rate-limiter in configShallowCopy.
    88  func NewForConfigAndClient(c *rest.Config, httpClient *http.Client) (*Clientset, error) {
    89  	configShallowCopy := *c
    90  	if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 {
    91  		if configShallowCopy.Burst <= 0 {
    92  			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")
    93  		}
    94  		configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst)
    95  	}
    96  
    97  	var cs Clientset
    98  	var err error
    99  	cs.kubermaticAppsV1, err = kubermaticappsv1.NewForConfigAndClient(&configShallowCopy, httpClient)
   100  	if err != nil {
   101  		return nil, err
   102  	}
   103  	cs.kubermaticEnterpriseAppsV1, err = kubermaticenterpriseappsv1.NewForConfigAndClient(&configShallowCopy, httpClient)
   104  	if err != nil {
   105  		return nil, err
   106  	}
   107  	cs.kubermaticEnterpriseV1, err = kubermaticenterprisev1.NewForConfigAndClient(&configShallowCopy, httpClient)
   108  	if err != nil {
   109  		return nil, err
   110  	}
   111  	cs.kubermaticV1, err = kubermaticv1.NewForConfigAndClient(&configShallowCopy, httpClient)
   112  	if err != nil {
   113  		return nil, err
   114  	}
   115  
   116  	cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfigAndClient(&configShallowCopy, httpClient)
   117  	if err != nil {
   118  		return nil, err
   119  	}
   120  	return &cs, nil
   121  }
   122  
   123  // NewForConfigOrDie creates a new Clientset for the given config and
   124  // panics if there is an error in the config.
   125  func NewForConfigOrDie(c *rest.Config) *Clientset {
   126  	cs, err := NewForConfig(c)
   127  	if err != nil {
   128  		panic(err)
   129  	}
   130  	return cs
   131  }
   132  
   133  // New creates a new Clientset for the given RESTClient.
   134  func New(c rest.Interface) *Clientset {
   135  	var cs Clientset
   136  	cs.kubermaticAppsV1 = kubermaticappsv1.New(c)
   137  	cs.kubermaticEnterpriseAppsV1 = kubermaticenterpriseappsv1.New(c)
   138  	cs.kubermaticEnterpriseV1 = kubermaticenterprisev1.New(c)
   139  	cs.kubermaticV1 = kubermaticv1.New(c)
   140  
   141  	cs.DiscoveryClient = discovery.NewDiscoveryClient(c)
   142  	return &cs
   143  }