diff --git a/pkg/kubectl/cmd/util/factory.go b/pkg/kubectl/cmd/util/factory.go index 61b5d69febf..41559304ccd 100644 --- a/pkg/kubectl/cmd/util/factory.go +++ b/pkg/kubectl/cmd/util/factory.go @@ -175,16 +175,12 @@ func NewFactory(optionalClientConfig clientcmd.ClientConfig) *Factory { return clients.ClientConfigForVersion(nil) }, RESTClient: func(mapping *meta.RESTMapping) (resource.RESTClient, error) { - gvk, err := api.RESTMapper.KindFor(mapping.Resource) - if err != nil { - return nil, err - } mappingVersion := mapping.GroupVersionKind.GroupVersion() client, err := clients.ClientForVersion(&mappingVersion) if err != nil { return nil, err } - switch gvk.Group { + switch mapping.GroupVersionKind.Group { case api.GroupName: return client.RESTClient, nil case extensions.GroupName: diff --git a/pkg/kubectl/resource/builder.go b/pkg/kubectl/resource/builder.go index fd72043c36d..bba7a781890 100644 --- a/pkg/kubectl/resource/builder.go +++ b/pkg/kubectl/resource/builder.go @@ -538,7 +538,7 @@ func (b *Builder) visitorResult() *Result { } clients := make(map[string]RESTClient) for _, mapping := range mappings { - s := fmt.Sprintf("%s/%s", mapping.APIVersion, mapping.Resource) + s := fmt.Sprintf("%s/%s", mapping.GroupVersionKind.GroupVersion().String(), mapping.Resource) if _, ok := clients[s]; ok { continue } @@ -555,7 +555,7 @@ func (b *Builder) visitorResult() *Result { if !ok { return &Result{singular: isSingular, err: fmt.Errorf("resource %q is not recognized: %v", tuple.Resource, mappings)} } - s := fmt.Sprintf("%s/%s", mapping.APIVersion, mapping.Resource) + s := fmt.Sprintf("%s/%s", mapping.GroupVersionKind.GroupVersion().String(), mapping.Resource) client, ok := clients[s] if !ok { return &Result{singular: isSingular, err: fmt.Errorf("could not find a client for resource %q", tuple.Resource)}