code: func (e shortcutExpander) expandResourceShortcut(resource schema.GroupVersionResource) schema.GroupVersionResource {
  	// get the shortcut mappings and return on first match.
  	if allResources, shortcutResources, err := e.getShortcutMappings(); err == nil {
  		// avoid expanding if there's an exact match to a full resource name
  		for _, apiResources := range allResources {
  			gv, err := schema.ParseGroupVersion(apiResources.GroupVersion)
  			if err != nil {
  				continue
  			}
  			if len(resource.Group) != 0 && resource.Group != gv.Group {
  				continue
  			}
  			for _, apiRes := range apiResources.APIResources {
  				if resource.Resource == apiRes.Name {
  					return resource
  				}
  				if resource.Resource == apiRes.SingularName {
  					return resource
  				}
  			}
  		}
  
  		for _, item := range shortcutResources {
  			if len(resource.Group) != 0 && resource.Group != item.ShortForm.Group {
  				continue
  			}
  			if resource.Resource == item.ShortForm.Resource {
  				resource.Resource = item.LongForm.Resource
  				resource.Group = item.LongForm.Group
  				return resource
  			}
  		}
  
  		// we didn't find exact match so match on group prefixing. This allows autoscal to match autoscaling
  		if len(resource.Group) == 0 {
  			return resource
  		}
  		for _, item := range shortcutResources {
  			if !strings.HasPrefix(item.ShortForm.Group, resource.Group) {
  				continue
  			}
  			if resource.Resource == item.ShortForm.Resource {
  				resource.Resource = item.LongForm.Resource
  				resource.Group = item.LongForm.Group
  				return resource
  			}
  		}
  	}
  
  	return resource
  }
docs: // expandResourceShortcut will return the expanded version of resource
  // (something that a pkg/api/meta.RESTMapper can understand), if it is
  // indeed a shortcut. If no match has been found, we will match on group prefixing.
  // Lastly we will return resource unmodified.