// NewClient returns a new client based on the passed in config. The // codec is ignored, as the dynamic client uses it's own codec. func NewClient(conf *rest.Config) (*Client, error) { // avoid changing the original config confCopy := *conf conf = &confCopy contentConfig := ContentConfig() contentConfig.GroupVersion = conf.GroupVersion if conf.NegotiatedSerializer != nil { contentConfig.NegotiatedSerializer = conf.NegotiatedSerializer } conf.ContentConfig = contentConfig if conf.APIPath == "" { conf.APIPath = "/api" } if len(conf.UserAgent) == 0 { conf.UserAgent = rest.DefaultKubernetesUserAgent() } cl, err := rest.RESTClientFor(conf) if err != nil { return nil, err } return &Client{cl: cl}, nil }
// NewForConfig creates a new AppsClient for the given config. func NewForConfig(c *rest.Config) (*AppsClient, error) { config := *c if err := setConfigDefaults(&config); err != nil { return nil, err } client, err := rest.RESTClientFor(&config) if err != nil { return nil, err } return &AppsClient{client}, nil }