44 "bytes"
55 "errors"
66 "fmt"
7+ "io"
78 "strings"
89
910 "github.com/spf13/cobra"
@@ -78,7 +79,7 @@ func (o *WhoCanOptions) complete(f kcmdutil.Factory, cmd *cobra.Command, args []
7879 fallthrough
7980 case 2 :
8081 o .verb = args [0 ]
81- o .resource = ResourceFor (mapper , args [1 ])
82+ o .resource = ResourceFor (mapper , args [1 ], o . ErrOut )
8283 default :
8384 return errors .New ("you must specify two or three arguments: verb, resource, and optional resourceName" )
8485 }
@@ -105,7 +106,7 @@ func (o *WhoCanOptions) complete(f kcmdutil.Factory, cmd *cobra.Command, args []
105106 return nil
106107}
107108
108- func ResourceFor (mapper meta.RESTMapper , resourceArg string ) schema.GroupVersionResource {
109+ func ResourceFor (mapper meta.RESTMapper , resourceArg string , errOut io. Writer ) schema.GroupVersionResource {
109110 fullySpecifiedGVR , groupResource := schema .ParseResourceArg (strings .ToLower (resourceArg ))
110111 gvr := schema.GroupVersionResource {}
111112 if fullySpecifiedGVR != nil {
@@ -115,6 +116,11 @@ func ResourceFor(mapper meta.RESTMapper, resourceArg string) schema.GroupVersion
115116 var err error
116117 gvr , err = mapper .ResourceFor (groupResource .WithVersion ("" ))
117118 if err != nil {
119+ if len (groupResource .Group ) == 0 {
120+ fmt .Fprintf (errOut , "Warning: the server doesn't have a resource type '%s'\n " , groupResource .Resource )
121+ } else {
122+ fmt .Fprintf (errOut , "Warning: the server doesn't have a resource type '%s' in group '%s'\n " , groupResource .Resource , groupResource .Group )
123+ }
118124 return schema.GroupVersionResource {Resource : resourceArg }
119125 }
120126 }
0 commit comments