...
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/kubernetes/pkg/apis/node"
24 "k8s.io/kubernetes/pkg/printers"
25 printersinternal "k8s.io/kubernetes/pkg/printers/internalversion"
26 printerstorage "k8s.io/kubernetes/pkg/printers/storage"
27 "k8s.io/kubernetes/pkg/registry/node/runtimeclass"
28 )
29
30
31 type REST struct {
32 *genericregistry.Store
33 }
34
35
36 func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, error) {
37 store := &genericregistry.Store{
38 NewFunc: func() runtime.Object { return &node.RuntimeClass{} },
39 NewListFunc: func() runtime.Object { return &node.RuntimeClassList{} },
40 ObjectNameFunc: func(obj runtime.Object) (string, error) {
41 return obj.(*node.RuntimeClass).Name, nil
42 },
43 DefaultQualifiedResource: node.Resource("runtimeclasses"),
44 SingularQualifiedResource: node.Resource("runtimeclass"),
45
46 CreateStrategy: runtimeclass.Strategy,
47 UpdateStrategy: runtimeclass.Strategy,
48 DeleteStrategy: runtimeclass.Strategy,
49
50 TableConvertor: printerstorage.TableConvertor{TableGenerator: printers.NewTableGenerator().With(printersinternal.AddHandlers)},
51 }
52 options := &generic.StoreOptions{RESTOptions: optsGetter}
53 if err := store.CompleteWithOptions(options); err != nil {
54 return nil, err
55 }
56 return &REST{store}, nil
57 }
58
View as plain text