Relax to using namer instead of selflinker in API groupversion
Kubernetes-commit: 0ad588b27b6845d9ece955bfdde0e2863b8e1394
This commit is contained in:
parent
b4d0749d39
commit
5e8e1ff118
|
|
@ -126,7 +126,7 @@ var newCodec = codecs.LegacyCodec(newGroupVersion)
|
||||||
var parameterCodec = runtime.NewParameterCodec(scheme)
|
var parameterCodec = runtime.NewParameterCodec(scheme)
|
||||||
|
|
||||||
var accessor = meta.NewAccessor()
|
var accessor = meta.NewAccessor()
|
||||||
var selfLinker runtime.SelfLinker = accessor
|
var namer runtime.Namer = accessor
|
||||||
var admissionControl admission.Interface
|
var admissionControl admission.Interface
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
|
@ -232,8 +232,7 @@ func handleInternal(storage map[string]rest.Storage, admissionControl admission.
|
||||||
UnsafeConvertor: runtime.UnsafeObjectConvertor(scheme),
|
UnsafeConvertor: runtime.UnsafeObjectConvertor(scheme),
|
||||||
Defaulter: scheme,
|
Defaulter: scheme,
|
||||||
Typer: scheme,
|
Typer: scheme,
|
||||||
// TODO(wojtek-t): Switch to Namer.
|
Namer: namer,
|
||||||
Linker: selfLinker,
|
|
||||||
RootScopedKinds: sets.NewString("SimpleRoot"),
|
RootScopedKinds: sets.NewString("SimpleRoot"),
|
||||||
|
|
||||||
EquivalentResourceRegistry: runtime.NewEquivalentResourceRegistry(),
|
EquivalentResourceRegistry: runtime.NewEquivalentResourceRegistry(),
|
||||||
|
|
@ -3280,7 +3279,7 @@ func TestParentResourceIsRequired(t *testing.T) {
|
||||||
UnsafeConvertor: runtime.UnsafeObjectConvertor(scheme),
|
UnsafeConvertor: runtime.UnsafeObjectConvertor(scheme),
|
||||||
Defaulter: scheme,
|
Defaulter: scheme,
|
||||||
Typer: scheme,
|
Typer: scheme,
|
||||||
Linker: selfLinker,
|
Namer: namer,
|
||||||
RootScopedKinds: sets.NewString("SimpleRoot"),
|
RootScopedKinds: sets.NewString("SimpleRoot"),
|
||||||
|
|
||||||
EquivalentResourceRegistry: runtime.NewEquivalentResourceRegistry(),
|
EquivalentResourceRegistry: runtime.NewEquivalentResourceRegistry(),
|
||||||
|
|
@ -3313,7 +3312,7 @@ func TestParentResourceIsRequired(t *testing.T) {
|
||||||
UnsafeConvertor: runtime.UnsafeObjectConvertor(scheme),
|
UnsafeConvertor: runtime.UnsafeObjectConvertor(scheme),
|
||||||
Defaulter: scheme,
|
Defaulter: scheme,
|
||||||
Typer: scheme,
|
Typer: scheme,
|
||||||
Linker: selfLinker,
|
Namer: namer,
|
||||||
|
|
||||||
EquivalentResourceRegistry: runtime.NewEquivalentResourceRegistry(),
|
EquivalentResourceRegistry: runtime.NewEquivalentResourceRegistry(),
|
||||||
|
|
||||||
|
|
@ -4100,7 +4099,7 @@ func TestXGSubresource(t *testing.T) {
|
||||||
UnsafeConvertor: runtime.UnsafeObjectConvertor(scheme),
|
UnsafeConvertor: runtime.UnsafeObjectConvertor(scheme),
|
||||||
Defaulter: scheme,
|
Defaulter: scheme,
|
||||||
Typer: scheme,
|
Typer: scheme,
|
||||||
Linker: selfLinker,
|
Namer: namer,
|
||||||
|
|
||||||
EquivalentResourceRegistry: runtime.NewEquivalentResourceRegistry(),
|
EquivalentResourceRegistry: runtime.NewEquivalentResourceRegistry(),
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,7 @@ type APIGroupVersion struct {
|
||||||
Convertor runtime.ObjectConvertor
|
Convertor runtime.ObjectConvertor
|
||||||
ConvertabilityChecker ConvertabilityChecker
|
ConvertabilityChecker ConvertabilityChecker
|
||||||
Defaulter runtime.ObjectDefaulter
|
Defaulter runtime.ObjectDefaulter
|
||||||
Linker runtime.SelfLinker
|
Namer runtime.Namer
|
||||||
UnsafeConvertor runtime.ObjectConvertor
|
UnsafeConvertor runtime.ObjectConvertor
|
||||||
TypeConverter fieldmanager.TypeConverter
|
TypeConverter fieldmanager.TypeConverter
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ type ScopeNamer interface {
|
||||||
}
|
}
|
||||||
|
|
||||||
type ContextBasedNaming struct {
|
type ContextBasedNaming struct {
|
||||||
SelfLinker runtime.SelfLinker
|
Namer runtime.Namer
|
||||||
ClusterScoped bool
|
ClusterScoped bool
|
||||||
|
|
||||||
SelfLinkPathPrefix string
|
SelfLinkPathPrefix string
|
||||||
|
|
@ -70,14 +70,14 @@ func (n ContextBasedNaming) Name(req *http.Request) (namespace, name string, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (n ContextBasedNaming) ObjectName(obj runtime.Object) (namespace, name string, err error) {
|
func (n ContextBasedNaming) ObjectName(obj runtime.Object) (namespace, name string, err error) {
|
||||||
name, err = n.SelfLinker.Name(obj)
|
name, err = n.Namer.Name(obj)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", "", err
|
return "", "", err
|
||||||
}
|
}
|
||||||
if len(name) == 0 {
|
if len(name) == 0 {
|
||||||
return "", "", errEmptyName
|
return "", "", errEmptyName
|
||||||
}
|
}
|
||||||
namespace, err = n.SelfLinker.Namespace(obj)
|
namespace, err = n.Namer.Namespace(obj)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", "", err
|
return "", "", err
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -428,7 +428,7 @@ func (a *APIInstaller) registerResourceHandlers(path string, storage rest.Storag
|
||||||
apiResource.Namespaced = false
|
apiResource.Namespaced = false
|
||||||
apiResource.Kind = resourceKind
|
apiResource.Kind = resourceKind
|
||||||
namer := handlers.ContextBasedNaming{
|
namer := handlers.ContextBasedNaming{
|
||||||
SelfLinker: a.group.Linker,
|
Namer: a.group.Namer,
|
||||||
ClusterScoped: true,
|
ClusterScoped: true,
|
||||||
SelfLinkPathPrefix: gpath.Join(a.prefix, resource) + "/",
|
SelfLinkPathPrefix: gpath.Join(a.prefix, resource) + "/",
|
||||||
SelfLinkPathSuffix: suffix,
|
SelfLinkPathSuffix: suffix,
|
||||||
|
|
@ -477,7 +477,7 @@ func (a *APIInstaller) registerResourceHandlers(path string, storage rest.Storag
|
||||||
apiResource.Namespaced = true
|
apiResource.Namespaced = true
|
||||||
apiResource.Kind = resourceKind
|
apiResource.Kind = resourceKind
|
||||||
namer := handlers.ContextBasedNaming{
|
namer := handlers.ContextBasedNaming{
|
||||||
SelfLinker: a.group.Linker,
|
Namer: a.group.Namer,
|
||||||
ClusterScoped: false,
|
ClusterScoped: false,
|
||||||
SelfLinkPathPrefix: gpath.Join(a.prefix, namespaceParamName) + "/",
|
SelfLinkPathPrefix: gpath.Join(a.prefix, namespaceParamName) + "/",
|
||||||
SelfLinkPathSuffix: itemPathSuffix,
|
SelfLinkPathSuffix: itemPathSuffix,
|
||||||
|
|
|
||||||
|
|
@ -676,7 +676,7 @@ func (s *GenericAPIServer) newAPIGroupVersion(apiGroupInfo *APIGroupInfo, groupV
|
||||||
UnsafeConvertor: runtime.UnsafeObjectConvertor(apiGroupInfo.Scheme),
|
UnsafeConvertor: runtime.UnsafeObjectConvertor(apiGroupInfo.Scheme),
|
||||||
Defaulter: apiGroupInfo.Scheme,
|
Defaulter: apiGroupInfo.Scheme,
|
||||||
Typer: apiGroupInfo.Scheme,
|
Typer: apiGroupInfo.Scheme,
|
||||||
Linker: runtime.SelfLinker(meta.NewAccessor()),
|
Namer: runtime.Namer(meta.NewAccessor()),
|
||||||
|
|
||||||
EquivalentResourceRegistry: s.EquivalentResourceRegistry,
|
EquivalentResourceRegistry: s.EquivalentResourceRegistry,
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue