Merge pull request #6573 from kargakis/setup-resource-aliases

Support setting up aliases for groups of resources
This commit is contained in:
Clayton Coleman
2015-04-17 11:16:30 -04:00
7 changed files with 86 additions and 0 deletions

View File

@@ -147,4 +147,5 @@ type RESTMapping struct {
type RESTMapper interface {
VersionAndKindForResource(resource string) (defaultVersion, kind string, err error)
RESTMapping(kind string, versions ...string) (*RESTMapping, error)
AliasesForResource(resource string) ([]string, bool)
}

View File

@@ -226,3 +226,22 @@ func (m *DefaultRESTMapper) RESTMapping(kind string, versions ...string) (*RESTM
MetadataAccessor: interfaces.MetadataAccessor,
}, nil
}
// aliasToResource is used for mapping aliases to resources
var aliasToResource = map[string][]string{}
// AddResourceAlias maps aliases to resources
func (m *DefaultRESTMapper) AddResourceAlias(alias string, resources ...string) {
if len(resources) == 0 {
return
}
aliasToResource[alias] = resources
}
// AliasesForResource returns whether a resource has an alias or not
func (m *DefaultRESTMapper) AliasesForResource(alias string) ([]string, bool) {
if res, ok := aliasToResource[alias]; ok {
return res, true
}
return nil, false
}