Merge pull request #113542 from ardaguclu/fix-shortname-disperancy

Set singular names for core types to pass to discovery
This commit is contained in:
Kubernetes Prow Robot
2023-01-03 09:29:43 -08:00
committed by GitHub
81 changed files with 586 additions and 188 deletions

View File

@@ -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

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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()
}

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,