mirror of
https://github.com/k3s-io/kubernetes.git
synced 2026-01-13 11:25:19 +00:00
Update ObjectTyper to GroupVersion
This commit is contained in:
@@ -23,7 +23,6 @@ import (
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/meta"
|
||||
"k8s.io/kubernetes/pkg/api/registered"
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
"k8s.io/kubernetes/pkg/runtime"
|
||||
"k8s.io/kubernetes/pkg/util/yaml"
|
||||
)
|
||||
@@ -45,21 +44,17 @@ func (m *Mapper) InfoForData(data []byte, source string) (*Info, error) {
|
||||
return nil, fmt.Errorf("unable to parse %q: %v", source, err)
|
||||
}
|
||||
data = json
|
||||
version, kind, err := runtime.UnstructuredJSONScheme.DataVersionAndKind(data)
|
||||
gvk, err := runtime.UnstructuredJSONScheme.DataKind(data)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("unable to get type info from %q: %v", source, err)
|
||||
}
|
||||
gv, err := unversioned.ParseGroupVersion(version)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("unable to parse group/version from %q: %v", version, err)
|
||||
if ok := registered.IsRegisteredAPIGroupVersion(gvk.GroupVersion()); !ok {
|
||||
return nil, fmt.Errorf("API version %q in %q isn't supported, only supports API versions %q", gvk.GroupVersion().String(), source, registered.RegisteredGroupVersions)
|
||||
}
|
||||
if ok := registered.IsRegisteredAPIGroupVersion(gv); !ok {
|
||||
return nil, fmt.Errorf("API version %q in %q isn't supported, only supports API versions %q", version, source, registered.RegisteredGroupVersions)
|
||||
}
|
||||
if kind == "" {
|
||||
if gvk.Kind == "" {
|
||||
return nil, fmt.Errorf("kind not set in %q", source)
|
||||
}
|
||||
mapping, err := m.RESTMapping(unversioned.GroupKind{Group: gv.Group, Kind: kind}, gv.Version)
|
||||
mapping, err := m.RESTMapping(gvk.GroupKind(), gvk.Version)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("unable to recognize %q: %v", source, err)
|
||||
}
|
||||
@@ -97,17 +92,13 @@ func (m *Mapper) InfoForData(data []byte, source string) (*Info, error) {
|
||||
// if the object cannot be introspected. Name and namespace will be set into Info
|
||||
// if the mapping's MetadataAccessor can retrieve them.
|
||||
func (m *Mapper) InfoForObject(obj runtime.Object) (*Info, error) {
|
||||
gvString, kind, err := m.ObjectVersionAndKind(obj)
|
||||
groupVersionKind, err := m.ObjectKind(obj)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("unable to get type info from the object %q: %v", reflect.TypeOf(obj), err)
|
||||
}
|
||||
gv, err := unversioned.ParseGroupVersion(gvString)
|
||||
mapping, err := m.RESTMapping(groupVersionKind.GroupKind(), groupVersionKind.Version)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("unable to parse group/version from %q: %v", gvString, err)
|
||||
}
|
||||
mapping, err := m.RESTMapping(unversioned.GroupKind{Group: gv.Group, Kind: kind}, gv.Version)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("unable to recognize %q: %v", kind, err)
|
||||
return nil, fmt.Errorf("unable to recognize %v: %v", groupVersionKind, err)
|
||||
}
|
||||
client, err := m.ClientForMapping(mapping)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user