func (t *thirdPartyResourceDataCreator) New(groupVersion, kind string) (out runtime.Object, err error) { switch kind { case "ThirdPartyResourceData": if apiutil.GetGroupVersion(t.group, t.version) != groupVersion { return nil, fmt.Errorf("unknown version %s for kind %s", groupVersion, kind) } return &extensions.ThirdPartyResourceData{}, nil case "ThirdPartyResourceDataList": if apiutil.GetGroupVersion(t.group, t.version) != groupVersion { return nil, fmt.Errorf("unknown version %s for kind %s", groupVersion, kind) } return &extensions.ThirdPartyResourceDataList{}, nil default: return t.delegate.New(groupVersion, kind) } }
func (m *Master) thirdpartyapi(group, kind, version string) *apiserver.APIGroupVersion { resourceStorage := thirdpartyresourcedataetcd.NewREST(m.thirdPartyStorage, group, kind) apiRoot := makeThirdPartyPath("") storage := map[string]rest.Storage{ strings.ToLower(kind) + "s": resourceStorage, } return &apiserver.APIGroupVersion{ Root: apiRoot, Version: apiutil.GetGroupVersion(group, version), APIRequestInfoResolver: m.newAPIRequestInfoResolver(), Creater: thirdpartyresourcedata.NewObjectCreator(group, version, api.Scheme), Convertor: api.Scheme, Typer: api.Scheme, Mapper: thirdpartyresourcedata.NewMapper(latest.GroupOrDie("experimental").RESTMapper, kind, version, group), Codec: thirdpartyresourcedata.NewCodec(latest.GroupOrDie("experimental").Codec, kind), Linker: latest.GroupOrDie("experimental").SelfLinker, Storage: storage, ServerVersion: latest.GroupOrDie("").GroupVersion, Context: m.requestContextMapper, ProxyDialerFn: m.dialer, MinRequestTimeout: m.minRequestTimeout, } }
func (t *thirdPartyResourceDataCreator) New(kind unversioned.GroupVersionKind) (out runtime.Object, err error) { switch kind.Kind { case "ThirdPartyResourceData": if apiutil.GetGroupVersion(t.group, t.version) != kind.GroupVersion().String() { return nil, fmt.Errorf("unknown kind %v", kind) } return &extensions.ThirdPartyResourceData{}, nil case "ThirdPartyResourceDataList": if apiutil.GetGroupVersion(t.group, t.version) != kind.GroupVersion().String() { return nil, fmt.Errorf("unknown kind %v", kind) } return &extensions.ThirdPartyResourceDataList{}, nil default: return t.delegate.New(kind) } }
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 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) } mapping, err := t.mapper.RESTMapping("ThirdPartyResourceData", latest.GroupOrDie("extensions").GroupVersion) if err != nil { return nil, err } mapping.Codec = NewCodec(mapping.Codec, t.kind) return mapping, nil }
func (t *thirdPartyResourceDataCreator) New(kind unversioned.GroupVersionKind) (out runtime.Object, err error) { switch kind.Kind { case "ThirdPartyResourceData": if apiutil.GetGroupVersion(t.group, t.version) != kind.GroupVersion().String() { return nil, fmt.Errorf("unknown kind %v", kind) } return &extensions.ThirdPartyResourceData{}, nil case "ThirdPartyResourceDataList": if apiutil.GetGroupVersion(t.group, t.version) != kind.GroupVersion().String() { return nil, fmt.Errorf("unknown kind %v", kind) } return &extensions.ThirdPartyResourceDataList{}, nil case "ListOptions": if apiutil.GetGroupVersion(t.group, t.version) == kind.GroupVersion().String() { // Translate third party group to external group. gvk := registered.EnabledVersionsForGroup(api.GroupName)[0].WithKind(kind.Kind) return t.delegate.New(gvk) } return t.delegate.New(kind) default: return t.delegate.New(kind) } }
func (t *thirdPartyResourceDataCreator) New(kind schema.GroupVersionKind) (out runtime.Object, err error) { switch kind.Kind { case "ThirdPartyResourceData": if apiutil.GetGroupVersion(t.group, t.version) != kind.GroupVersion().String() { return nil, fmt.Errorf("unknown kind %v", kind) } return &extensions.ThirdPartyResourceData{}, nil case "ThirdPartyResourceDataList": if apiutil.GetGroupVersion(t.group, t.version) != kind.GroupVersion().String() { return nil, fmt.Errorf("unknown kind %v", kind) } return &extensions.ThirdPartyResourceDataList{}, nil // TODO: this list needs to be formalized higher in the chain case "ListOptions", "WatchEvent": if apiutil.GetGroupVersion(t.group, t.version) == kind.GroupVersion().String() { // Translate third party group to external group. gvk := api.Registry.EnabledVersionsForGroup(api.GroupName)[0].WithKind(kind.Kind) return t.delegate.New(gvk) } return t.delegate.New(kind) default: return t.delegate.New(kind) } }