mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-12-07 09:43:15 +00:00
make RESTMapper.KindFor
This commit is contained in:
@@ -82,13 +82,13 @@ func RunExplain(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []st
|
||||
}
|
||||
|
||||
// TODO: We should deduce the group for a resource by discovering the supported resources at server.
|
||||
group, err := mapper.GroupForResource(inModel)
|
||||
gvk, err := mapper.KindFor(inModel)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if len(apiV) == 0 {
|
||||
groupMeta, err := latest.Group(group)
|
||||
groupMeta, err := latest.Group(gvk.Group)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -151,7 +151,7 @@ func NewFactory(optionalClientConfig clientcmd.ClientConfig) *Factory {
|
||||
return clients.ClientConfigForVersion("")
|
||||
},
|
||||
RESTClient: func(mapping *meta.RESTMapping) (resource.RESTClient, error) {
|
||||
group, err := api.RESTMapper.GroupForResource(mapping.Resource)
|
||||
gvk, err := api.RESTMapper.KindFor(mapping.Resource)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -159,7 +159,7 @@ func NewFactory(optionalClientConfig clientcmd.ClientConfig) *Factory {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
switch group {
|
||||
switch gvk.Group {
|
||||
case "":
|
||||
return client.RESTClient, nil
|
||||
case "extensions":
|
||||
@@ -168,7 +168,7 @@ func NewFactory(optionalClientConfig clientcmd.ClientConfig) *Factory {
|
||||
return nil, fmt.Errorf("unable to get RESTClient for resource '%s'", mapping.Resource)
|
||||
},
|
||||
Describer: func(mapping *meta.RESTMapping) (kubectl.Describer, error) {
|
||||
group, err := api.RESTMapper.GroupForResource(mapping.Resource)
|
||||
gvk, err := api.RESTMapper.KindFor(mapping.Resource)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -176,7 +176,7 @@ func NewFactory(optionalClientConfig clientcmd.ClientConfig) *Factory {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if describer, ok := kubectl.DescriberFor(group, mapping.GroupVersionKind.Kind, client); ok {
|
||||
if describer, ok := kubectl.DescriberFor(gvk.Group, mapping.GroupVersionKind.Kind, client); ok {
|
||||
return describer, nil
|
||||
}
|
||||
return nil, fmt.Errorf("no description has been implemented for %q", mapping.Kind)
|
||||
@@ -497,11 +497,11 @@ func (c *clientSwaggerSchema) ValidateBytes(data []byte) error {
|
||||
return fmt.Errorf("API version %q isn't supported, only supports API versions %q", version, registered.RegisteredGroupVersions)
|
||||
}
|
||||
resource, _ := meta.KindToResource(kind, false)
|
||||
group, err := c.mapper.GroupForResource(resource)
|
||||
gvk, err := c.mapper.KindFor(resource)
|
||||
if err != nil {
|
||||
return fmt.Errorf("could not find api group for %s: %v", kind, err)
|
||||
}
|
||||
if group == "extensions" {
|
||||
if gvk.Group == "extensions" {
|
||||
if c.c.ExtensionsClient == nil {
|
||||
return errors.New("unable to validate: no experimental client")
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import (
|
||||
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/meta"
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
)
|
||||
|
||||
const kubectlAnnotationPrefix = "kubectl.kubernetes.io/"
|
||||
@@ -65,12 +66,13 @@ type ShortcutExpander struct {
|
||||
meta.RESTMapper
|
||||
}
|
||||
|
||||
// VersionAndKindForResource implements meta.RESTMapper. It expands the resource first, then invokes the wrapped
|
||||
var _ meta.RESTMapper = &ShortcutExpander{}
|
||||
|
||||
// KindFor implements meta.RESTMapper. It expands the resource first, then invokes the wrapped
|
||||
// mapper.
|
||||
func (e ShortcutExpander) VersionAndKindForResource(resource string) (defaultVersion, kind string, err error) {
|
||||
func (e ShortcutExpander) KindFor(resource string) (unversioned.GroupVersionKind, error) {
|
||||
resource = expandResourceShortcut(resource)
|
||||
defaultVersion, kind, err = e.RESTMapper.VersionAndKindForResource(resource)
|
||||
return defaultVersion, kind, err
|
||||
return e.RESTMapper.KindFor(resource)
|
||||
}
|
||||
|
||||
// ResourceIsValid takes a string (kind) and checks if it's a valid resource.
|
||||
|
||||
@@ -426,11 +426,11 @@ func (b *Builder) resourceMappings() ([]*meta.RESTMapping, error) {
|
||||
}
|
||||
mappings := []*meta.RESTMapping{}
|
||||
for _, r := range b.resources {
|
||||
version, kind, err := b.mapper.VersionAndKindForResource(r)
|
||||
gvk, err := b.mapper.KindFor(r)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
mapping, err := b.mapper.RESTMapping(kind, version)
|
||||
mapping, err := b.mapper.RESTMapping(gvk.Kind, gvk.GroupVersion().String())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -446,11 +446,11 @@ func (b *Builder) resourceTupleMappings() (map[string]*meta.RESTMapping, error)
|
||||
if _, ok := mappings[r.Resource]; ok {
|
||||
continue
|
||||
}
|
||||
version, kind, err := b.mapper.VersionAndKindForResource(r.Resource)
|
||||
gvk, err := b.mapper.KindFor(r.Resource)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
mapping, err := b.mapper.RESTMapping(kind, version)
|
||||
mapping, err := b.mapper.RESTMapping(gvk.Kind, gvk.GroupVersion().String())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user