...
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/admissionregistration"
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/admissionregistration/mutatingwebhookconfiguration"
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 &admissionregistration.MutatingWebhookConfiguration{} },
40 NewListFunc: func() runtime.Object { return &admissionregistration.MutatingWebhookConfigurationList{} },
41 ObjectNameFunc: func(obj runtime.Object) (string, error) {
42 return obj.(*admissionregistration.MutatingWebhookConfiguration).Name, nil
43 },
44 DefaultQualifiedResource: admissionregistration.Resource("mutatingwebhookconfigurations"),
45 SingularQualifiedResource: admissionregistration.Resource("mutatingwebhookconfiguration"),
46
47 CreateStrategy: mutatingwebhookconfiguration.Strategy,
48 UpdateStrategy: mutatingwebhookconfiguration.Strategy,
49 DeleteStrategy: mutatingwebhookconfiguration.Strategy,
50
51 TableConvertor: printerstorage.TableConvertor{TableGenerator: printers.NewTableGenerator().With(printersinternal.AddHandlers)},
52 }
53 options := &generic.StoreOptions{RESTOptions: optsGetter}
54 if err := store.CompleteWithOptions(options); err != nil {
55 return nil, err
56 }
57 return &REST{store}, nil
58 }
59
60
61 var _ rest.CategoriesProvider = &REST{}
62
63
64 func (r *REST) Categories() []string {
65 return []string{"api-extensions"}
66 }
67
View as plain text