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 (m *Master) thirdpartyapi(group, kind, version string) *apiserver.APIGroupVersion { resourceStorage := thirdpartyresourcedataetcd.NewREST(m.thirdPartyStorage, generic.UndecoratedStorage, group, kind) apiRoot := makeThirdPartyPath("") storage := map[string]rest.Storage{ strings.ToLower(kind) + "s": resourceStorage, } optionsExternalVersion := registered.GroupOrDie(api.GroupName).GroupVersion internalVersion := unversioned.GroupVersion{Group: group, Version: runtime.APIVersionInternal} externalVersion := unversioned.GroupVersion{Group: group, Version: version} return &apiserver.APIGroupVersion{ Root: apiRoot, GroupVersion: externalVersion, RequestInfoResolver: m.NewRequestInfoResolver(), Creater: thirdpartyresourcedata.NewObjectCreator(group, version, api.Scheme), Convertor: api.Scheme, Typer: api.Scheme, Mapper: thirdpartyresourcedata.NewMapper(registered.GroupOrDie(extensions.GroupName).RESTMapper, kind, version, group), Linker: registered.GroupOrDie(extensions.GroupName).SelfLinker, Storage: storage, OptionsExternalVersion: &optionsExternalVersion, Serializer: thirdpartyresourcedata.NewNegotiatedSerializer(api.Codecs, kind, externalVersion, internalVersion), ParameterCodec: api.ParameterCodec, Context: m.RequestContextMapper, MinRequestTimeout: m.MinRequestTimeout, } }
func (m *Master) thirdpartyapi(group, kind, version string) *apiserver.APIGroupVersion { resourceStorage := thirdpartyresourcedataetcd.NewREST(m.thirdPartyStorage, group, kind) apiRoot := "/thirdparty/" + group + "/" storage := map[string]rest.Storage{ strings.ToLower(kind) + "s": resourceStorage, } return &apiserver.APIGroupVersion{ Root: apiRoot, Creater: thirdpartyresourcedata.NewObjectCreator(version, api.Scheme), Convertor: api.Scheme, Typer: api.Scheme, Mapper: thirdpartyresourcedata.NewMapper(latest.GroupOrDie("experimental").RESTMapper, kind, version), Codec: latest.GroupOrDie("experimental").Codec, Linker: latest.GroupOrDie("experimental").SelfLinker, Storage: storage, Version: version, Admit: m.admissionControl, Context: m.requestContextMapper, ProxyDialerFn: m.dialer, MinRequestTimeout: m.minRequestTimeout, } }
func (m *Master) thirdpartyapi(group, kind, version string) *apiserver.APIGroupVersion { resourceStorage := thirdpartyresourcedataetcd.NewREST(m.thirdPartyStorage, generic.UndecoratedStorage, group, kind) apiRoot := makeThirdPartyPath("") storage := map[string]rest.Storage{ strings.ToLower(kind) + "s": resourceStorage, } serverGroupVersion := unversioned.ParseGroupVersionOrDie(latest.GroupOrDie("").GroupVersion) return &apiserver.APIGroupVersion{ Root: apiRoot, GroupVersion: unversioned.GroupVersion{Group: group, Version: version}, RequestInfoResolver: m.newRequestInfoResolver(), Creater: thirdpartyresourcedata.NewObjectCreator(group, version, api.Scheme), Convertor: api.Scheme, Typer: api.Scheme, Mapper: thirdpartyresourcedata.NewMapper(latest.GroupOrDie("extensions").RESTMapper, kind, version, group), Codec: thirdpartyresourcedata.NewCodec(latest.GroupOrDie("extensions").Codec, kind), Linker: latest.GroupOrDie("extensions").SelfLinker, Storage: storage, ServerGroupVersion: &serverGroupVersion, Context: m.requestContextMapper, MinRequestTimeout: m.minRequestTimeout, } }
func (m *Master) thirdpartyapi(group, kind, version, pluralResource string) *apiserver.APIGroupVersion { resourceStorage := thirdpartyresourcedataetcd.NewREST( generic.RESTOptions{ StorageConfig: m.thirdPartyStorageConfig, Decorator: generic.UndecoratedStorage, DeleteCollectionWorkers: m.deleteCollectionWorkers, }, group, kind, ) storage := map[string]rest.Storage{ pluralResource: resourceStorage, } optionsExternalVersion := registered.GroupOrDie(api.GroupName).GroupVersion internalVersion := unversioned.GroupVersion{Group: group, Version: runtime.APIVersionInternal} externalVersion := unversioned.GroupVersion{Group: group, Version: version} apiRoot := makeThirdPartyPath("") return &apiserver.APIGroupVersion{ Root: apiRoot, GroupVersion: externalVersion, RequestInfoResolver: m.NewRequestInfoResolver(), Creater: thirdpartyresourcedata.NewObjectCreator(group, version, api.Scheme), Convertor: api.Scheme, Copier: api.Scheme, Typer: api.Scheme, Mapper: thirdpartyresourcedata.NewMapper(registered.GroupOrDie(extensions.GroupName).RESTMapper, kind, version, group), Linker: registered.GroupOrDie(extensions.GroupName).SelfLinker, Storage: storage, OptionsExternalVersion: &optionsExternalVersion, Serializer: thirdpartyresourcedata.NewNegotiatedSerializer(api.Codecs, kind, externalVersion, internalVersion), ParameterCodec: thirdpartyresourcedata.NewThirdPartyParameterCodec(api.ParameterCodec), Context: m.RequestContextMapper(), MinRequestTimeout: m.MinRequestTimeout(), ResourceLister: dynamicLister{m, makeThirdPartyPath(group)}, } }