...
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 "k8s.io/kubernetes/pkg/apis/rbac"
25 "k8s.io/kubernetes/pkg/registry/rbac/clusterrole"
26 )
27
28
29 type REST struct {
30 *genericregistry.Store
31 }
32
33
34 func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, error) {
35 store := &genericregistry.Store{
36 NewFunc: func() runtime.Object { return &rbac.ClusterRole{} },
37 NewListFunc: func() runtime.Object { return &rbac.ClusterRoleList{} },
38 DefaultQualifiedResource: rbac.Resource("clusterroles"),
39 SingularQualifiedResource: rbac.Resource("clusterrole"),
40
41 CreateStrategy: clusterrole.Strategy,
42 UpdateStrategy: clusterrole.Strategy,
43 DeleteStrategy: clusterrole.Strategy,
44
45
46 TableConvertor: rest.NewDefaultTableConvertor(rbac.Resource("clusterroles")),
47 }
48 options := &generic.StoreOptions{RESTOptions: optsGetter}
49 if err := store.CompleteWithOptions(options); err != nil {
50 return nil, err
51 }
52
53 return &REST{store}, nil
54 }
55
View as plain text