...
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/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/ipaddress"
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 &networking.IPAddress{} },
40 NewListFunc: func() runtime.Object { return &networking.IPAddressList{} },
41 DefaultQualifiedResource: networking.Resource("ipaddresses"),
42 SingularQualifiedResource: networking.Resource("ipaddress"),
43
44 CreateStrategy: ipaddress.Strategy,
45 UpdateStrategy: ipaddress.Strategy,
46 DeleteStrategy: ipaddress.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 return &REST{store}, nil
55 }
56
57
58 var _ rest.ShortNamesProvider = &REST{}
59
60
61 func (r *REST) ShortNames() []string {
62 return []string{"ip"}
63 }
64
View as plain text