...
1
16
17 package storage
18
19 import (
20 "k8s.io/apimachinery/pkg/runtime"
21 "k8s.io/apiserver/pkg/registry/generic"
22 genericregistry "k8s.io/apiserver/pkg/registry/generic/registry"
23 "k8s.io/apiserver/pkg/registry/rest"
24 api "k8s.io/kubernetes/pkg/apis/core"
25 "k8s.io/kubernetes/pkg/printers"
26 printersinternal "k8s.io/kubernetes/pkg/printers/internalversion"
27 printerstorage "k8s.io/kubernetes/pkg/printers/storage"
28 "k8s.io/kubernetes/pkg/registry/core/configmap"
29 )
30
31
32 type REST struct {
33 *genericregistry.Store
34 }
35
36
37 func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, error) {
38 store := &genericregistry.Store{
39 NewFunc: func() runtime.Object { return &api.ConfigMap{} },
40 NewListFunc: func() runtime.Object { return &api.ConfigMapList{} },
41 PredicateFunc: configmap.Matcher,
42 DefaultQualifiedResource: api.Resource("configmaps"),
43 SingularQualifiedResource: api.Resource("configmap"),
44
45 CreateStrategy: configmap.Strategy,
46 UpdateStrategy: configmap.Strategy,
47 DeleteStrategy: configmap.Strategy,
48
49 TableConvertor: printerstorage.TableConvertor{TableGenerator: printers.NewTableGenerator().With(printersinternal.AddHandlers)},
50 }
51 options := &generic.StoreOptions{
52 RESTOptions: optsGetter,
53 AttrFunc: configmap.GetAttrs,
54 }
55 if err := store.CompleteWithOptions(options); err != nil {
56 return nil, err
57 }
58 return &REST{store}, nil
59 }
60
61
62 var _ rest.ShortNamesProvider = &REST{}
63
64
65 func (r *REST) ShortNames() []string {
66 return []string{"cm"}
67 }
68
View as plain text