...
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/resource"
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/resource/resourceclass"
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 &resource.ResourceClass{} },
39 NewListFunc: func() runtime.Object { return &resource.ResourceClassList{} },
40 DefaultQualifiedResource: resource.Resource("resourceclasses"),
41 SingularQualifiedResource: resource.Resource("resourceclass"),
42
43 CreateStrategy: resourceclass.Strategy,
44 UpdateStrategy: resourceclass.Strategy,
45 DeleteStrategy: resourceclass.Strategy,
46 ReturnDeletedObject: true,
47
48 TableConvertor: printerstorage.TableConvertor{TableGenerator: printers.NewTableGenerator().With(printersinternal.AddHandlers)},
49 }
50 options := &generic.StoreOptions{RESTOptions: optsGetter}
51 if err := store.CompleteWithOptions(options); err != nil {
52 return nil, err
53 }
54
55 return &REST{store}, nil
56 }
57
View as plain text