...
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 api "k8s.io/kubernetes/pkg/apis/core"
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/core/secret"
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 &api.Secret{} },
39 NewListFunc: func() runtime.Object { return &api.SecretList{} },
40 PredicateFunc: secret.Matcher,
41 DefaultQualifiedResource: api.Resource("secrets"),
42 SingularQualifiedResource: api.Resource("secret"),
43
44 CreateStrategy: secret.Strategy,
45 UpdateStrategy: secret.Strategy,
46 DeleteStrategy: secret.Strategy,
47
48 TableConvertor: printerstorage.TableConvertor{TableGenerator: printers.NewTableGenerator().With(printersinternal.AddHandlers)},
49 }
50 options := &generic.StoreOptions{
51 RESTOptions: optsGetter,
52 AttrFunc: secret.GetAttrs,
53 }
54 if err := store.CompleteWithOptions(options); err != nil {
55 return nil, err
56 }
57 return &REST{store}, nil
58 }
59
View as plain text