update factory interface to overlap with lower RESTClientGetter

This commit is contained in:
David Eads 2018-05-16 10:54:42 -04:00
parent a481f4bbe8
commit 0db40da909
27 changed files with 50 additions and 52 deletions

View File

@ -113,7 +113,7 @@ func (o *ApiResourcesOptions) RunApiResources(cmd *cobra.Command, f cmdutil.Fact
w := printers.GetNewTabWriter(o.Out)
defer w.Flush()
discoveryclient, err := f.DiscoveryClient()
discoveryclient, err := f.ToDiscoveryClient()
if err != nil {
return err
}

View File

@ -65,7 +65,7 @@ func NewCmdApiVersions(f cmdutil.Factory, ioStreams genericclioptions.IOStreams)
func (o *ApiVersionsOptions) Complete(f cmdutil.Factory) error {
var err error
o.discoveryClient, err = f.DiscoveryClient()
o.discoveryClient, err = f.ToDiscoveryClient()
if err != nil {
return err
}

View File

@ -219,7 +219,7 @@ func (o *ApplyOptions) Complete(f cmdutil.Factory, cmd *cobra.Command) error {
o.ClientSetFunc = f.ClientSet
o.Validator, err = f.Validator(cmdutil.GetFlagBool(cmd, "validate"))
o.Builder = f.NewBuilder()
o.Mapper, err = f.RESTMapper()
o.Mapper, err = f.ToRESTMapper()
if err != nil {
return err
}

View File

@ -177,7 +177,7 @@ func (p *AttachOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, argsIn [
p.SuggestedCmdUsage = fmt.Sprintf("Use '%s describe pod/%s -n %s' to see all of the containers in this pod.", fullCmdName, p.PodName, p.Namespace)
}
config, err := f.ClientConfig()
config, err := f.ToRESTConfig()
if err != nil {
return err
}

View File

@ -125,7 +125,7 @@ func (o *CanIOptions) Complete(f cmdutil.Factory, args []string) error {
break
}
resourceTokens := strings.SplitN(args[1], "/", 2)
restMapper, err := f.RESTMapper()
restMapper, err := f.ToRESTMapper()
if err != nil {
return err
}

View File

@ -76,7 +76,7 @@ func NewCmdClusterInfo(f cmdutil.Factory, ioStreams genericclioptions.IOStreams)
func (o *ClusterInfoOptions) Complete(f cmdutil.Factory, cmd *cobra.Command) error {
var err error
o.Client, err = f.ClientConfig()
o.Client, err = f.ToRESTConfig()
if err != nil {
return err
}

View File

@ -154,7 +154,7 @@ func (o *CopyOptions) Complete(f cmdutil.Factory, cmd *cobra.Command) error {
return err
}
o.ClientConfig, err = f.ClientConfig()
o.ClientConfig, err = f.ToRESTConfig()
if err != nil {
return err
}

View File

@ -395,7 +395,7 @@ func (o *CreateSubcommandOptions) Complete(f cmdutil.Factory, cmd *cobra.Command
return err
}
o.Mapper, err = f.RESTMapper()
o.Mapper, err = f.ToRESTMapper()
if err != nil {
return err
}

View File

@ -438,7 +438,7 @@ func TestClusterRoleValidate(t *testing.T) {
for name, test := range tests {
t.Run(name, func(t *testing.T) {
var err error
test.clusterRoleOptions.Mapper, err = tf.RESTMapper()
test.clusterRoleOptions.Mapper, err = tf.ToRESTMapper()
if err != nil {
t.Fatal(err)
}

View File

@ -206,7 +206,7 @@ func (o *CreateRoleOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args
o.ResourceNames = resourceNames
// Complete other options for Run.
o.Mapper, err = f.RESTMapper()
o.Mapper, err = f.ToRESTMapper()
if err != nil {
return err
}

View File

@ -340,7 +340,7 @@ func TestValidate(t *testing.T) {
for name, test := range tests {
var err error
test.roleOptions.Mapper, err = tf.RESTMapper()
test.roleOptions.Mapper, err = tf.ToRESTMapper()
if err != nil {
t.Fatal(err)
}

View File

@ -189,7 +189,7 @@ func (o *DeleteOptions) Complete(f cmdutil.Factory, args []string, cmd *cobra.Co
}
o.Result = r
o.Mapper, err = f.RESTMapper()
o.Mapper, err = f.ToRESTMapper()
if err != nil {
return err
}

View File

@ -180,7 +180,7 @@ func (p *ExecOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, argsIn []s
p.SuggestedCmdUsage = fmt.Sprintf("Use '%s describe pod/%s -n %s' to see all of the containers in this pod.", p.FullCmdName, p.PodName, p.Namespace)
}
config, err := f.ClientConfig()
config, err := f.ToRESTConfig()
if err != nil {
return err
}

View File

@ -92,7 +92,7 @@ func NewCmdExplain(parent string, f cmdutil.Factory, streams genericclioptions.I
func (o *ExplainOptions) Complete(f cmdutil.Factory, cmd *cobra.Command) error {
var err error
o.Mapper, err = f.RESTMapper()
o.Mapper, err = f.ToRESTMapper()
if err != nil {
return err
}

View File

@ -195,7 +195,7 @@ func (o *ExposeServiceOptions) Complete(f cmdutil.Factory, cmd *cobra.Command) e
o.MapBasedSelectorForObject = f.MapBasedSelectorForObject
o.PortsForObject = f.PortsForObject
o.ProtocolsForObject = f.ProtocolsForObject
o.Mapper, err = f.RESTMapper()
o.Mapper, err = f.ToRESTMapper()
if err != nil {
return err
}

View File

@ -220,7 +220,7 @@ func (o *PortForwardOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, arg
}
o.PodClient = clientset.Core()
o.Config, err = f.ClientConfig()
o.Config, err = f.ToRESTConfig()
if err != nil {
return err
}

View File

@ -105,7 +105,7 @@ func RunProxy(f cmdutil.Factory, out io.Writer, cmd *cobra.Command) error {
return errors.New("Don't specify both --unix-socket and --port")
}
clientConfig, err := f.ClientConfig()
clientConfig, err := f.ToRESTConfig()
if err != nil {
return err
}

View File

@ -374,7 +374,7 @@ func (o *RunOptions) Run(f cmdutil.Factory, cmd *cobra.Command, args []string) e
Attach: &DefaultRemoteAttach{},
}
config, err := f.ClientConfig()
config, err := f.ToRESTConfig()
if err != nil {
return err
}
@ -638,7 +638,7 @@ func (o *RunOptions) createGeneratedObject(f cmdutil.Factory, cmd *cobra.Command
return nil, err
}
mapper, err := f.RESTMapper()
mapper, err := f.ToRESTMapper()
if err != nil {
return nil, err
}

View File

@ -287,7 +287,7 @@ func (f *TestFactory) Cleanup() {
os.Remove(f.tempConfigFile.Name())
}
func (f *TestFactory) ClientConfig() (*restclient.Config, error) {
func (f *TestFactory) ToRESTConfig() (*restclient.Config, error) {
return f.ClientConfigVal, nil
}
@ -330,7 +330,7 @@ func (f *TestFactory) Command(*cobra.Command, bool) string {
}
func (f *TestFactory) NewBuilder() *resource.Builder {
mapper, err := f.RESTMapper()
mapper, err := f.ToRESTMapper()
return resource.NewFakeBuilder(
func(version schema.GroupVersion) (resource.RESTClient, error) {

View File

@ -136,7 +136,7 @@ func (o *TopNodeOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []
o.DiscoveryClient = clientset.DiscoveryClient
config, err := f.ClientConfig()
config, err := f.ToRESTConfig()
if err != nil {
return err
}

View File

@ -131,7 +131,7 @@ func (o *TopPodOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []s
}
o.DiscoveryClient = clientset.DiscoveryClient
config, err := f.ClientConfig()
config, err := f.ToRESTConfig()
if err != nil {
return err
}

View File

@ -67,8 +67,14 @@ type Factory interface {
// Generally provides discovery, negotiation, and no-dep calls.
// TODO The polymorphic calls probably deserve their own interface.
type ClientAccessFactory interface {
// Returns a client.Config for accessing the Kubernetes server.
ToRESTConfig() (*restclient.Config, error)
// Returns interfaces for dealing with arbitrary runtime.Objects.
ToRESTMapper() (meta.RESTMapper, error)
// Returns a discovery client
DiscoveryClient() (discovery.CachedDiscoveryInterface, error)
ToDiscoveryClient() (discovery.CachedDiscoveryInterface, error)
// Returns kubeconfig loader
ToRawKubeConfigLoader() clientcmd.ClientConfig
// ClientSet gives you back an internal, generated clientset
ClientSet() (internalclientset.Interface, error)
@ -79,16 +85,8 @@ type ClientAccessFactory interface {
// KubernetesClientSet gives you back an external clientset
KubernetesClientSet() (*kubernetes.Clientset, error)
// Returns interfaces for dealing with arbitrary runtime.Objects.
RESTMapper() (meta.RESTMapper, error)
// Returns a RESTClient for accessing Kubernetes resources or an error.
RESTClient() (*restclient.RESTClient, error)
// Returns a client.Config for accessing the Kubernetes server.
ClientConfig() (*restclient.Config, error)
// BareClientConfig returns a client.Config that has NOT been negotiated. It's
// just directions to the server. People use this to build RESTMappers on top of
BareClientConfig() (*restclient.Config, error)
// NewBuilder returns an object that assists in loading objects from both disk and the server
// and which implements the common patterns for CLI interactions with generic resources.

View File

@ -40,7 +40,7 @@ func NewBuilderFactory(clientAccessFactory ClientAccessFactory, objectMappingFac
}
func (f *ring2Factory) ScaleClient() (scaleclient.ScalesGetter, error) {
discoClient, err := f.clientAccessFactory.DiscoveryClient()
discoClient, err := f.clientAccessFactory.ToDiscoveryClient()
if err != nil {
return nil, err
}
@ -49,7 +49,7 @@ func (f *ring2Factory) ScaleClient() (scaleclient.ScalesGetter, error) {
return nil, err
}
resolver := scaleclient.NewDiscoveryScaleKindResolver(discoClient)
mapper, err := f.clientAccessFactory.RESTMapper()
mapper, err := f.clientAccessFactory.ToRESTMapper()
if err != nil {
return nil, err
}

View File

@ -81,24 +81,24 @@ func NewClientAccessFactory(clientGetter RESTClientGetter) ClientAccessFactory {
return f
}
func (f *ring0Factory) ClientConfig() (*restclient.Config, error) {
func (f *ring0Factory) ToRESTConfig() (*restclient.Config, error) {
return f.clientGetter.ToRESTConfig()
}
func (f *ring0Factory) RESTMapper() (meta.RESTMapper, error) {
func (f *ring0Factory) ToRESTMapper() (meta.RESTMapper, error) {
return f.clientGetter.ToRESTMapper()
}
func (f *ring0Factory) BareClientConfig() (*restclient.Config, error) {
return f.clientGetter.ToRESTConfig()
}
func (f *ring0Factory) DiscoveryClient() (discovery.CachedDiscoveryInterface, error) {
func (f *ring0Factory) ToDiscoveryClient() (discovery.CachedDiscoveryInterface, error) {
return f.clientGetter.ToDiscoveryClient()
}
func (f *ring0Factory) ToRawKubeConfigLoader() clientcmd.ClientConfig {
return f.clientGetter.ToRawKubeConfigLoader()
}
func (f *ring0Factory) KubernetesClientSet() (*kubernetes.Clientset, error) {
clientConfig, err := f.ClientConfig()
clientConfig, err := f.ToRESTConfig()
if err != nil {
return nil, err
}
@ -106,7 +106,7 @@ func (f *ring0Factory) KubernetesClientSet() (*kubernetes.Clientset, error) {
}
func (f *ring0Factory) ClientSet() (internalclientset.Interface, error) {
clientConfig, err := f.ClientConfig()
clientConfig, err := f.ToRESTConfig()
if err != nil {
return nil, err
}
@ -114,7 +114,7 @@ func (f *ring0Factory) ClientSet() (internalclientset.Interface, error) {
}
func (f *ring0Factory) DynamicClient() (dynamic.Interface, error) {
clientConfig, err := f.ClientConfig()
clientConfig, err := f.ToRESTConfig()
if err != nil {
return nil, err
}
@ -127,7 +127,7 @@ func (f *ring0Factory) NewBuilder() *resource.Builder {
}
func (f *ring0Factory) RESTClient() (*restclient.RESTClient, error) {
clientConfig, err := f.ClientConfig()
clientConfig, err := f.ToRESTConfig()
if err != nil {
return nil, err
}

View File

@ -75,7 +75,7 @@ func NewObjectMappingFactory(clientAccessFactory ClientAccessFactory) ObjectMapp
}
func (f *ring1Factory) ClientForMapping(mapping *meta.RESTMapping) (resource.RESTClient, error) {
cfg, err := f.clientAccessFactory.ClientConfig()
cfg, err := f.clientAccessFactory.ToRESTConfig()
if err != nil {
return nil, err
}
@ -95,7 +95,7 @@ func (f *ring1Factory) ClientForMapping(mapping *meta.RESTMapping) (resource.RES
}
func (f *ring1Factory) UnstructuredClientForMapping(mapping *meta.RESTMapping) (resource.RESTClient, error) {
cfg, err := f.clientAccessFactory.BareClientConfig()
cfg, err := f.clientAccessFactory.ToRESTConfig()
if err != nil {
return nil, err
}
@ -113,7 +113,7 @@ func (f *ring1Factory) UnstructuredClientForMapping(mapping *meta.RESTMapping) (
}
func (f *ring1Factory) Describer(mapping *meta.RESTMapping) (printers.Describer, error) {
clientConfig, err := f.clientAccessFactory.ClientConfig()
clientConfig, err := f.clientAccessFactory.ToRESTConfig()
if err != nil {
return nil, err
}
@ -131,7 +131,7 @@ func (f *ring1Factory) Describer(mapping *meta.RESTMapping) (printers.Describer,
// helper function to make a generic describer, or return an error
func genericDescriber(clientAccessFactory ClientAccessFactory, mapping *meta.RESTMapping) (printers.Describer, error) {
clientConfig, err := clientAccessFactory.ClientConfig()
clientConfig, err := clientAccessFactory.ToRESTConfig()
if err != nil {
return nil, err
}
@ -421,7 +421,7 @@ func (f *ring1Factory) Validator(validate bool) (validation.Schema, error) {
// OpenAPISchema returns metadata and structural information about Kubernetes object definitions.
func (f *ring1Factory) OpenAPISchema() (openapi.Resources, error) {
discovery, err := f.clientAccessFactory.DiscoveryClient()
discovery, err := f.clientAccessFactory.ToDiscoveryClient()
if err != nil {
return nil, err
}

View File

@ -83,7 +83,7 @@ func NewCmdVersion(f cmdutil.Factory, ioStreams genericclioptions.IOStreams) *co
func (o *VersionOptions) Complete(f cmdutil.Factory, cmd *cobra.Command) error {
var err error
o.discoveryClient, err = f.DiscoveryClient()
o.discoveryClient, err = f.ToDiscoveryClient()
if err != nil {
return err
}

View File

@ -174,7 +174,7 @@ func TestServerSidePrint(t *testing.T) {
configFlags.WithDiscoveryClient(cachedClient)
factory := util.NewFactory(configFlags)
mapper, err := factory.RESTMapper()
mapper, err := factory.ToRESTMapper()
if err != nil {
t.Errorf("unexpected error getting mapper: %v", err)
return