From 93b14c9a5d580ec3f6d3643c06fa3b6ac29e8df8 Mon Sep 17 00:00:00 2001 From: Muhammed Uluyol Date: Wed, 12 Aug 2015 11:29:05 -0700 Subject: [PATCH] Document the relationship between groups, versions, kinds, and resources. Link to appropriate issues for multiple api group support. --- pkg/api/meta/interfaces.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkg/api/meta/interfaces.go b/pkg/api/meta/interfaces.go index eaaec6d9e8d..6fd638f2ff0 100644 --- a/pkg/api/meta/interfaces.go +++ b/pkg/api/meta/interfaces.go @@ -142,8 +142,17 @@ type RESTMapping struct { // RESTMapper allows clients to map resources to kind, and map kind and version // to interfaces for manipulating those objects. It is primarily intended for // consumers of Kubernetes compatible REST APIs as defined in docs/api-conventions.md. +// +// The Kubernetes API provides versioned resources and object kinds which are scoped +// to API groups. In other words, kinds and resources should not be assumed to be +// unique across groups. +// +// TODO(caesarxuchao): Add proper multi-group support so that kinds & resources are +// scoped to groups. See http://issues.k8s.io/12413 and http://issues.k8s.io/10009. type RESTMapper interface { VersionAndKindForResource(resource string) (defaultVersion, kind string, err error) + // TODO(caesarxuchao): Remove GroupForResource when multi-group support is in (since + // group will be part of the version). GroupForResource(resource string) (string, error) RESTMapping(kind string, versions ...string) (*RESTMapping, error) AliasesForResource(resource string) ([]string, bool)