Merge pull request #113542 from ardaguclu/fix-shortname-disperancy
Set singular names for core types to pass to discovery
This commit is contained in:
@@ -58,6 +58,12 @@ func (rs *REST) New() runtime.Object {
|
||||
return &api.ComponentStatus{}
|
||||
}
|
||||
|
||||
var _ rest.SingularNameProvider = &REST{}
|
||||
|
||||
func (rs *REST) GetSingularName() string {
|
||||
return "componentstatus"
|
||||
}
|
||||
|
||||
// Destroy cleans up resources on shutdown.
|
||||
func (r *REST) Destroy() {
|
||||
// Given no underlying store, we don't destroy anything
|
||||
|
@@ -37,10 +37,11 @@ type REST struct {
|
||||
// NewREST returns a RESTStorage object that will work with ConfigMap objects.
|
||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, error) {
|
||||
store := &genericregistry.Store{
|
||||
NewFunc: func() runtime.Object { return &api.ConfigMap{} },
|
||||
NewListFunc: func() runtime.Object { return &api.ConfigMapList{} },
|
||||
PredicateFunc: configmap.Matcher,
|
||||
DefaultQualifiedResource: api.Resource("configmaps"),
|
||||
NewFunc: func() runtime.Object { return &api.ConfigMap{} },
|
||||
NewListFunc: func() runtime.Object { return &api.ConfigMapList{} },
|
||||
PredicateFunc: configmap.Matcher,
|
||||
DefaultQualifiedResource: api.Resource("configmaps"),
|
||||
SingularQualifiedResource: api.Resource("configmap"),
|
||||
|
||||
CreateStrategy: configmap.Strategy,
|
||||
UpdateStrategy: configmap.Strategy,
|
||||
|
@@ -36,9 +36,10 @@ type REST struct {
|
||||
// NewREST returns a RESTStorage object that will work against endpoints.
|
||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, error) {
|
||||
store := &genericregistry.Store{
|
||||
NewFunc: func() runtime.Object { return &api.Endpoints{} },
|
||||
NewListFunc: func() runtime.Object { return &api.EndpointsList{} },
|
||||
DefaultQualifiedResource: api.Resource("endpoints"),
|
||||
NewFunc: func() runtime.Object { return &api.Endpoints{} },
|
||||
NewListFunc: func() runtime.Object { return &api.EndpointsList{} },
|
||||
DefaultQualifiedResource: api.Resource("endpoints"),
|
||||
SingularQualifiedResource: api.Resource("endpoints"),
|
||||
|
||||
CreateStrategy: endpoint.Strategy,
|
||||
UpdateStrategy: endpoint.Strategy,
|
||||
|
@@ -42,7 +42,8 @@ func NewREST(optsGetter generic.RESTOptionsGetter, ttl uint64) (*REST, error) {
|
||||
TTLFunc: func(runtime.Object, uint64, bool) (uint64, error) {
|
||||
return ttl, nil
|
||||
},
|
||||
DefaultQualifiedResource: api.Resource("events"),
|
||||
DefaultQualifiedResource: api.Resource("events"),
|
||||
SingularQualifiedResource: api.Resource("event"),
|
||||
|
||||
CreateStrategy: event.Strategy,
|
||||
UpdateStrategy: event.Strategy,
|
||||
|
@@ -33,9 +33,10 @@ type REST struct {
|
||||
// NewREST returns a RESTStorage object that will work against limit ranges.
|
||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, error) {
|
||||
store := &genericregistry.Store{
|
||||
NewFunc: func() runtime.Object { return &api.LimitRange{} },
|
||||
NewListFunc: func() runtime.Object { return &api.LimitRangeList{} },
|
||||
DefaultQualifiedResource: api.Resource("limitranges"),
|
||||
NewFunc: func() runtime.Object { return &api.LimitRange{} },
|
||||
NewListFunc: func() runtime.Object { return &api.LimitRangeList{} },
|
||||
DefaultQualifiedResource: api.Resource("limitranges"),
|
||||
SingularQualifiedResource: api.Resource("limitrange"),
|
||||
|
||||
CreateStrategy: limitrange.Strategy,
|
||||
UpdateStrategy: limitrange.Strategy,
|
||||
|
@@ -59,10 +59,11 @@ type FinalizeREST struct {
|
||||
// NewREST returns a RESTStorage object that will work against namespaces.
|
||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST, *FinalizeREST, error) {
|
||||
store := &genericregistry.Store{
|
||||
NewFunc: func() runtime.Object { return &api.Namespace{} },
|
||||
NewListFunc: func() runtime.Object { return &api.NamespaceList{} },
|
||||
PredicateFunc: namespace.MatchNamespace,
|
||||
DefaultQualifiedResource: api.Resource("namespaces"),
|
||||
NewFunc: func() runtime.Object { return &api.Namespace{} },
|
||||
NewListFunc: func() runtime.Object { return &api.NamespaceList{} },
|
||||
PredicateFunc: namespace.MatchNamespace,
|
||||
DefaultQualifiedResource: api.Resource("namespaces"),
|
||||
SingularQualifiedResource: api.Resource("namespace"),
|
||||
|
||||
CreateStrategy: namespace.Strategy,
|
||||
UpdateStrategy: namespace.Strategy,
|
||||
@@ -94,6 +95,12 @@ func (r *REST) NamespaceScoped() bool {
|
||||
return r.store.NamespaceScoped()
|
||||
}
|
||||
|
||||
var _ rest.SingularNameProvider = &REST{}
|
||||
|
||||
func (r *REST) GetSingularName() string {
|
||||
return r.store.GetSingularName()
|
||||
}
|
||||
|
||||
func (r *REST) New() runtime.Object {
|
||||
return r.store.New()
|
||||
}
|
||||
|
@@ -96,10 +96,11 @@ func (r *StatusREST) ConvertToTable(ctx context.Context, object runtime.Object,
|
||||
// NewStorage returns a NodeStorage object that will work against nodes.
|
||||
func NewStorage(optsGetter generic.RESTOptionsGetter, kubeletClientConfig client.KubeletClientConfig, proxyTransport http.RoundTripper) (*NodeStorage, error) {
|
||||
store := &genericregistry.Store{
|
||||
NewFunc: func() runtime.Object { return &api.Node{} },
|
||||
NewListFunc: func() runtime.Object { return &api.NodeList{} },
|
||||
PredicateFunc: node.MatchNode,
|
||||
DefaultQualifiedResource: api.Resource("nodes"),
|
||||
NewFunc: func() runtime.Object { return &api.Node{} },
|
||||
NewListFunc: func() runtime.Object { return &api.NodeList{} },
|
||||
PredicateFunc: node.MatchNode,
|
||||
DefaultQualifiedResource: api.Resource("nodes"),
|
||||
SingularQualifiedResource: api.Resource("node"),
|
||||
|
||||
CreateStrategy: node.Strategy,
|
||||
UpdateStrategy: node.Strategy,
|
||||
|
@@ -40,10 +40,11 @@ type REST struct {
|
||||
// NewREST returns a RESTStorage object that will work against persistent volumes.
|
||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST, error) {
|
||||
store := &genericregistry.Store{
|
||||
NewFunc: func() runtime.Object { return &api.PersistentVolume{} },
|
||||
NewListFunc: func() runtime.Object { return &api.PersistentVolumeList{} },
|
||||
PredicateFunc: persistentvolume.MatchPersistentVolumes,
|
||||
DefaultQualifiedResource: api.Resource("persistentvolumes"),
|
||||
NewFunc: func() runtime.Object { return &api.PersistentVolume{} },
|
||||
NewListFunc: func() runtime.Object { return &api.PersistentVolumeList{} },
|
||||
PredicateFunc: persistentvolume.MatchPersistentVolumes,
|
||||
DefaultQualifiedResource: api.Resource("persistentvolumes"),
|
||||
SingularQualifiedResource: api.Resource("persistentvolume"),
|
||||
|
||||
CreateStrategy: persistentvolume.Strategy,
|
||||
UpdateStrategy: persistentvolume.Strategy,
|
||||
|
@@ -41,10 +41,11 @@ type REST struct {
|
||||
// NewREST returns a RESTStorage object that will work against persistent volume claims.
|
||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST, error) {
|
||||
store := &genericregistry.Store{
|
||||
NewFunc: func() runtime.Object { return &api.PersistentVolumeClaim{} },
|
||||
NewListFunc: func() runtime.Object { return &api.PersistentVolumeClaimList{} },
|
||||
PredicateFunc: persistentvolumeclaim.MatchPersistentVolumeClaim,
|
||||
DefaultQualifiedResource: api.Resource("persistentvolumeclaims"),
|
||||
NewFunc: func() runtime.Object { return &api.PersistentVolumeClaim{} },
|
||||
NewListFunc: func() runtime.Object { return &api.PersistentVolumeClaimList{} },
|
||||
PredicateFunc: persistentvolumeclaim.MatchPersistentVolumeClaim,
|
||||
DefaultQualifiedResource: api.Resource("persistentvolumeclaims"),
|
||||
SingularQualifiedResource: api.Resource("persistentvolumeclaim"),
|
||||
|
||||
CreateStrategy: persistentvolumeclaim.Strategy,
|
||||
UpdateStrategy: persistentvolumeclaim.Strategy,
|
||||
|
@@ -73,10 +73,11 @@ type REST struct {
|
||||
func NewStorage(optsGetter generic.RESTOptionsGetter, k client.ConnectionInfoGetter, proxyTransport http.RoundTripper, podDisruptionBudgetClient policyclient.PodDisruptionBudgetsGetter) (PodStorage, error) {
|
||||
|
||||
store := &genericregistry.Store{
|
||||
NewFunc: func() runtime.Object { return &api.Pod{} },
|
||||
NewListFunc: func() runtime.Object { return &api.PodList{} },
|
||||
PredicateFunc: registrypod.MatchPod,
|
||||
DefaultQualifiedResource: api.Resource("pods"),
|
||||
NewFunc: func() runtime.Object { return &api.Pod{} },
|
||||
NewListFunc: func() runtime.Object { return &api.PodList{} },
|
||||
PredicateFunc: registrypod.MatchPod,
|
||||
DefaultQualifiedResource: api.Resource("pods"),
|
||||
SingularQualifiedResource: api.Resource("pod"),
|
||||
|
||||
CreateStrategy: registrypod.Strategy,
|
||||
UpdateStrategy: registrypod.Strategy,
|
||||
@@ -288,6 +289,10 @@ func (r *LegacyBindingREST) Create(ctx context.Context, obj runtime.Object, crea
|
||||
return r.bindingRest.Create(ctx, metadata.GetName(), obj, createValidation, options)
|
||||
}
|
||||
|
||||
func (r *LegacyBindingREST) GetSingularName() string {
|
||||
return "binding"
|
||||
}
|
||||
|
||||
// StatusREST implements the REST endpoint for changing the status of a pod.
|
||||
type StatusREST struct {
|
||||
store *genericregistry.Store
|
||||
|
@@ -35,9 +35,10 @@ type REST struct {
|
||||
// NewREST returns a RESTStorage object that will work against pod templates.
|
||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, error) {
|
||||
store := &genericregistry.Store{
|
||||
NewFunc: func() runtime.Object { return &api.PodTemplate{} },
|
||||
NewListFunc: func() runtime.Object { return &api.PodTemplateList{} },
|
||||
DefaultQualifiedResource: api.Resource("podtemplates"),
|
||||
NewFunc: func() runtime.Object { return &api.PodTemplate{} },
|
||||
NewListFunc: func() runtime.Object { return &api.PodTemplateList{} },
|
||||
DefaultQualifiedResource: api.Resource("podtemplates"),
|
||||
SingularQualifiedResource: api.Resource("podtemplate"),
|
||||
|
||||
CreateStrategy: podtemplate.Strategy,
|
||||
UpdateStrategy: podtemplate.Strategy,
|
||||
|
@@ -82,10 +82,11 @@ type REST struct {
|
||||
// NewREST returns a RESTStorage object that will work against replication controllers.
|
||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST, error) {
|
||||
store := &genericregistry.Store{
|
||||
NewFunc: func() runtime.Object { return &api.ReplicationController{} },
|
||||
NewListFunc: func() runtime.Object { return &api.ReplicationControllerList{} },
|
||||
PredicateFunc: replicationcontroller.MatchController,
|
||||
DefaultQualifiedResource: api.Resource("replicationcontrollers"),
|
||||
NewFunc: func() runtime.Object { return &api.ReplicationController{} },
|
||||
NewListFunc: func() runtime.Object { return &api.ReplicationControllerList{} },
|
||||
PredicateFunc: replicationcontroller.MatchController,
|
||||
DefaultQualifiedResource: api.Resource("replicationcontrollers"),
|
||||
SingularQualifiedResource: api.Resource("replicationcontroller"),
|
||||
|
||||
CreateStrategy: replicationcontroller.Strategy,
|
||||
UpdateStrategy: replicationcontroller.Strategy,
|
||||
|
@@ -40,9 +40,10 @@ type REST struct {
|
||||
// NewREST returns a RESTStorage object that will work against resource quotas.
|
||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST, error) {
|
||||
store := &genericregistry.Store{
|
||||
NewFunc: func() runtime.Object { return &api.ResourceQuota{} },
|
||||
NewListFunc: func() runtime.Object { return &api.ResourceQuotaList{} },
|
||||
DefaultQualifiedResource: api.Resource("resourcequotas"),
|
||||
NewFunc: func() runtime.Object { return &api.ResourceQuota{} },
|
||||
NewListFunc: func() runtime.Object { return &api.ResourceQuotaList{} },
|
||||
DefaultQualifiedResource: api.Resource("resourcequotas"),
|
||||
SingularQualifiedResource: api.Resource("resourcequota"),
|
||||
|
||||
CreateStrategy: resourcequota.Strategy,
|
||||
UpdateStrategy: resourcequota.Strategy,
|
||||
|
@@ -36,10 +36,11 @@ type REST struct {
|
||||
// NewREST returns a RESTStorage object that will work against secrets.
|
||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, error) {
|
||||
store := &genericregistry.Store{
|
||||
NewFunc: func() runtime.Object { return &api.Secret{} },
|
||||
NewListFunc: func() runtime.Object { return &api.SecretList{} },
|
||||
PredicateFunc: secret.Matcher,
|
||||
DefaultQualifiedResource: api.Resource("secrets"),
|
||||
NewFunc: func() runtime.Object { return &api.Secret{} },
|
||||
NewListFunc: func() runtime.Object { return &api.SecretList{} },
|
||||
PredicateFunc: secret.Matcher,
|
||||
DefaultQualifiedResource: api.Resource("secrets"),
|
||||
SingularQualifiedResource: api.Resource("secret"),
|
||||
|
||||
CreateStrategy: secret.Strategy,
|
||||
UpdateStrategy: secret.Strategy,
|
||||
|
@@ -86,10 +86,11 @@ func NewREST(
|
||||
proxyTransport http.RoundTripper) (*REST, *StatusREST, *svcreg.ProxyREST, error) {
|
||||
|
||||
store := &genericregistry.Store{
|
||||
NewFunc: func() runtime.Object { return &api.Service{} },
|
||||
NewListFunc: func() runtime.Object { return &api.ServiceList{} },
|
||||
DefaultQualifiedResource: api.Resource("services"),
|
||||
ReturnDeletedObject: true,
|
||||
NewFunc: func() runtime.Object { return &api.Service{} },
|
||||
NewListFunc: func() runtime.Object { return &api.ServiceList{} },
|
||||
DefaultQualifiedResource: api.Resource("services"),
|
||||
SingularQualifiedResource: api.Resource("service"),
|
||||
ReturnDeletedObject: true,
|
||||
|
||||
CreateStrategy: svcreg.Strategy,
|
||||
UpdateStrategy: svcreg.Strategy,
|
||||
|
@@ -41,9 +41,10 @@ type REST struct {
|
||||
// NewREST returns a RESTStorage object that will work against service accounts.
|
||||
func NewREST(optsGetter generic.RESTOptionsGetter, issuer token.TokenGenerator, auds authenticator.Audiences, max time.Duration, podStorage, secretStorage *genericregistry.Store, extendExpiration bool) (*REST, error) {
|
||||
store := &genericregistry.Store{
|
||||
NewFunc: func() runtime.Object { return &api.ServiceAccount{} },
|
||||
NewListFunc: func() runtime.Object { return &api.ServiceAccountList{} },
|
||||
DefaultQualifiedResource: api.Resource("serviceaccounts"),
|
||||
NewFunc: func() runtime.Object { return &api.ServiceAccount{} },
|
||||
NewListFunc: func() runtime.Object { return &api.ServiceAccountList{} },
|
||||
DefaultQualifiedResource: api.Resource("serviceaccounts"),
|
||||
SingularQualifiedResource: api.Resource("serviceaccount"),
|
||||
|
||||
CreateStrategy: serviceaccount.Strategy,
|
||||
UpdateStrategy: serviceaccount.Strategy,
|
||||
|
Reference in New Issue
Block a user