...
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/event"
29 )
30
31
32 type REST struct {
33 *genericregistry.Store
34 }
35
36
37 func NewREST(optsGetter generic.RESTOptionsGetter, ttl uint64) (*REST, error) {
38 store := &genericregistry.Store{
39 NewFunc: func() runtime.Object { return &api.Event{} },
40 NewListFunc: func() runtime.Object { return &api.EventList{} },
41 PredicateFunc: event.Matcher,
42 TTLFunc: func(runtime.Object, uint64, bool) (uint64, error) {
43 return ttl, nil
44 },
45 DefaultQualifiedResource: api.Resource("events"),
46 SingularQualifiedResource: api.Resource("event"),
47
48 CreateStrategy: event.Strategy,
49 UpdateStrategy: event.Strategy,
50 DeleteStrategy: event.Strategy,
51
52 TableConvertor: printerstorage.TableConvertor{TableGenerator: printers.NewTableGenerator().With(printersinternal.AddHandlers)},
53 }
54 options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: event.GetAttrs}
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{"ev"}
67 }
68
View as plain text