...
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 networkingapi "k8s.io/kubernetes/pkg/apis/networking"
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/networking/networkpolicy"
29 )
30
31
32 type REST struct {
33 *genericregistry.Store
34 }
35
36
37 func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, error) {
38 store := &genericregistry.Store{
39 NewFunc: func() runtime.Object { return &networkingapi.NetworkPolicy{} },
40 NewListFunc: func() runtime.Object { return &networkingapi.NetworkPolicyList{} },
41 DefaultQualifiedResource: networkingapi.Resource("networkpolicies"),
42 SingularQualifiedResource: networkingapi.Resource("networkpolicy"),
43
44 CreateStrategy: networkpolicy.Strategy,
45 UpdateStrategy: networkpolicy.Strategy,
46 DeleteStrategy: networkpolicy.Strategy,
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
58
59 var _ rest.ShortNamesProvider = &REST{}
60
61
62 func (r *REST) ShortNames() []string {
63 return []string{"netpol"}
64 }
65
View as plain text