Merge pull request #23023 from caesarxuchao/minor-fix-aliases

Auto commit by PR queue bot
This commit is contained in:
k8s-merge-robot 2016-03-16 10:35:36 -07:00
commit c412dcba7f

View File

@ -80,6 +80,9 @@ type DefaultRESTMapper struct {
pluralToSingular map[unversioned.GroupVersionResource]unversioned.GroupVersionResource pluralToSingular map[unversioned.GroupVersionResource]unversioned.GroupVersionResource
interfacesFunc VersionInterfacesFunc interfacesFunc VersionInterfacesFunc
// aliasToResource is used for mapping aliases to resources
aliasToResource map[string][]string
} }
func (m *DefaultRESTMapper) String() string { func (m *DefaultRESTMapper) String() string {
@ -103,6 +106,7 @@ func NewDefaultRESTMapper(defaultGroupVersions []unversioned.GroupVersion, f Ver
kindToScope := make(map[unversioned.GroupVersionKind]RESTScope) kindToScope := make(map[unversioned.GroupVersionKind]RESTScope)
singularToPlural := make(map[unversioned.GroupVersionResource]unversioned.GroupVersionResource) singularToPlural := make(map[unversioned.GroupVersionResource]unversioned.GroupVersionResource)
pluralToSingular := make(map[unversioned.GroupVersionResource]unversioned.GroupVersionResource) pluralToSingular := make(map[unversioned.GroupVersionResource]unversioned.GroupVersionResource)
aliasToResource := make(map[string][]string)
// TODO: verify name mappings work correctly when versions differ // TODO: verify name mappings work correctly when versions differ
return &DefaultRESTMapper{ return &DefaultRESTMapper{
@ -112,6 +116,7 @@ func NewDefaultRESTMapper(defaultGroupVersions []unversioned.GroupVersion, f Ver
defaultGroupVersions: defaultGroupVersions, defaultGroupVersions: defaultGroupVersions,
singularToPlural: singularToPlural, singularToPlural: singularToPlural,
pluralToSingular: pluralToSingular, pluralToSingular: pluralToSingular,
aliasToResource: aliasToResource,
interfacesFunc: f, interfacesFunc: f,
} }
} }
@ -488,20 +493,17 @@ func (m *DefaultRESTMapper) RESTMapping(gk unversioned.GroupKind, versions ...st
return retVal, nil return retVal, nil
} }
// aliasToResource is used for mapping aliases to resources
var aliasToResource = map[string][]string{}
// AddResourceAlias maps aliases to resources // AddResourceAlias maps aliases to resources
func (m *DefaultRESTMapper) AddResourceAlias(alias string, resources ...string) { func (m *DefaultRESTMapper) AddResourceAlias(alias string, resources ...string) {
if len(resources) == 0 { if len(resources) == 0 {
return return
} }
aliasToResource[alias] = resources m.aliasToResource[alias] = resources
} }
// AliasesForResource returns whether a resource has an alias or not // AliasesForResource returns whether a resource has an alias or not
func (m *DefaultRESTMapper) AliasesForResource(alias string) ([]string, bool) { func (m *DefaultRESTMapper) AliasesForResource(alias string) ([]string, bool) {
if res, ok := aliasToResource[alias]; ok { if res, ok := m.aliasToResource[alias]; ok {
return res, true return res, true
} }
return nil, false return nil, false