func (c *StorageClient) RESTClient() rest.Interface {
	if c == nil {
		return nil
	}
	return c.restClient
}
RESTClient returns a RESTClient that is used to communicate
with API server by this client implementation.
package v1beta1
import (
	api "k8s.io/client-go/pkg/api"
	registered "k8s.io/client-go/pkg/apimachinery/registered"
	serializer "k8s.io/client-go/pkg/runtime/serializer"
	rest "k8s.io/client-go/rest"
)
type StorageInterface interface {
	RESTClient() rest.Interface
	StorageClassesGetter
}
type StorageClient struct {
	restClient rest.Interface
}
func (c *StorageClient) StorageClasses() StorageClassInterface {
	return newStorageClasses(c)
}
func NewForConfig(c *rest.Config) (*StorageClient, error) {
	config := *c
	if err := setConfigDefaults(&config); err != nil {
		return nil, err
	}
	client, err := rest.RESTClientFor(&config)
	if err != nil {
		return nil, err
	}
	return &StorageClient{client}, nil
}
func NewForConfigOrDie(c *rest.Config) *StorageClient {
	client, err := NewForConfig(c)
	if err != nil {
		panic(err)
	}
	return client
}
func New(c rest.Interface) *StorageClient {
	return &StorageClient{c}
}
func setConfigDefaults(config *rest.Config) error {
	g, err := registered.Group("storage.k8s.io")
	if err != nil {
		return err
	}
	config.APIPath = "/apis"
	if config.UserAgent == "" {
		config.UserAgent = rest.DefaultKubernetesUserAgent()
	}
	copyGroupVersion := g.GroupVersion
	config.GroupVersion = &copyGroupVersion
	config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: api.Codecs}
	return nil
}