fix thirdparty API, now the config file of thirdpartyresource also need to group/version instead of version
This commit is contained in:
@@ -26,6 +26,7 @@ import (
|
||||
"k8s.io/kubernetes/pkg/api/latest"
|
||||
"k8s.io/kubernetes/pkg/api/meta"
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
apiutil "k8s.io/kubernetes/pkg/api/util"
|
||||
"k8s.io/kubernetes/pkg/apis/experimental"
|
||||
"k8s.io/kubernetes/pkg/runtime"
|
||||
)
|
||||
@@ -48,12 +49,12 @@ func (t *thirdPartyResourceDataMapper) GroupForResource(resource string) (string
|
||||
return t.mapper.GroupForResource(resource)
|
||||
}
|
||||
|
||||
func (t *thirdPartyResourceDataMapper) RESTMapping(kind string, versions ...string) (*meta.RESTMapping, error) {
|
||||
if len(versions) != 1 {
|
||||
return nil, fmt.Errorf("unexpected set of versions: %v", versions)
|
||||
func (t *thirdPartyResourceDataMapper) RESTMapping(kind string, groupVersions ...string) (*meta.RESTMapping, error) {
|
||||
if len(groupVersions) != 1 {
|
||||
return nil, fmt.Errorf("unexpected set of groupVersions: %v", groupVersions)
|
||||
}
|
||||
if versions[0] != t.version {
|
||||
return nil, fmt.Errorf("unknown version %s expected %s", versions[0], t.version)
|
||||
if groupVersions[0] != apiutil.GetGroupVersion(t.group, t.version) {
|
||||
return nil, fmt.Errorf("unknown version %s expected %s", groupVersions[0], apiutil.GetGroupVersion(t.group, t.version))
|
||||
}
|
||||
if kind != "ThirdPartyResourceData" {
|
||||
return nil, fmt.Errorf("unknown kind %s expected %s", kind, t.kind)
|
||||
@@ -266,28 +267,29 @@ func (t *thirdPartyResourceDataCodec) EncodeToStream(obj runtime.Object, stream
|
||||
}
|
||||
}
|
||||
|
||||
func NewObjectCreator(version string, delegate runtime.ObjectCreater) runtime.ObjectCreater {
|
||||
return &thirdPartyResourceDataCreator{version, delegate}
|
||||
func NewObjectCreator(group, version string, delegate runtime.ObjectCreater) runtime.ObjectCreater {
|
||||
return &thirdPartyResourceDataCreator{group, version, delegate}
|
||||
}
|
||||
|
||||
type thirdPartyResourceDataCreator struct {
|
||||
group string
|
||||
version string
|
||||
delegate runtime.ObjectCreater
|
||||
}
|
||||
|
||||
func (t *thirdPartyResourceDataCreator) New(version, kind string) (out runtime.Object, err error) {
|
||||
func (t *thirdPartyResourceDataCreator) New(groupVersion, kind string) (out runtime.Object, err error) {
|
||||
switch kind {
|
||||
case "ThirdPartyResourceData":
|
||||
if t.version != version {
|
||||
return nil, fmt.Errorf("unknown version %s for kind %s", version, kind)
|
||||
if apiutil.GetGroupVersion(t.group, t.version) != groupVersion {
|
||||
return nil, fmt.Errorf("unknown version %s for kind %s", groupVersion, kind)
|
||||
}
|
||||
return &experimental.ThirdPartyResourceData{}, nil
|
||||
case "ThirdPartyResourceDataList":
|
||||
if t.version != version {
|
||||
return nil, fmt.Errorf("unknown version %s for kind %s", version, kind)
|
||||
if apiutil.GetGroupVersion(t.group, t.version) != groupVersion {
|
||||
return nil, fmt.Errorf("unknown version %s for kind %s", groupVersion, kind)
|
||||
}
|
||||
return &experimental.ThirdPartyResourceDataList{}, nil
|
||||
default:
|
||||
return t.delegate.New(version, kind)
|
||||
return t.delegate.New(groupVersion, kind)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user