// NewREST returns a registry which will store ThirdPartyResourceData in the given helper func NewREST(s storage.Interface, storageDecorator generic.StorageDecorator, group, kind string) *REST { prefix := "/ThirdPartyResourceData/" + group + "/" + strings.ToLower(kind) + "s" // We explicitly do NOT do any decoration here yet. storageInterface := s store := &etcdgeneric.Etcd{ NewFunc: func() runtime.Object { return &extensions.ThirdPartyResourceData{} }, NewListFunc: func() runtime.Object { return &extensions.ThirdPartyResourceDataList{} }, KeyRootFunc: func(ctx api.Context) string { return etcdgeneric.NamespaceKeyRootFunc(ctx, prefix) }, KeyFunc: func(ctx api.Context, id string) (string, error) { return etcdgeneric.NamespaceKeyFunc(ctx, prefix, id) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*extensions.ThirdPartyResourceData).Name, nil }, PredicateFunc: func(label labels.Selector, field fields.Selector) generic.Matcher { return thirdpartyresourcedata.Matcher(label, field) }, EndpointName: "thirdpartyresourcedata", CreateStrategy: thirdpartyresourcedata.Strategy, UpdateStrategy: thirdpartyresourcedata.Strategy, Storage: storageInterface, } return &REST{store} }
// NewREST returns a registry which will store ThirdPartyResourceData in the given helper func NewREST(opts generic.RESTOptions, group, kind string) *REST { prefix := "/ThirdPartyResourceData/" + group + "/" + strings.ToLower(kind) + "s" // We explicitly do NOT do any decoration here yet. storageInterface := opts.Storage store := &etcdgeneric.Etcd{ NewFunc: func() runtime.Object { return &extensions.ThirdPartyResourceData{} }, NewListFunc: func() runtime.Object { return &extensions.ThirdPartyResourceDataList{} }, KeyRootFunc: func(ctx api.Context) string { return etcdgeneric.NamespaceKeyRootFunc(ctx, prefix) }, KeyFunc: func(ctx api.Context, id string) (string, error) { return etcdgeneric.NamespaceKeyFunc(ctx, prefix, id) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*extensions.ThirdPartyResourceData).Name, nil }, PredicateFunc: func(label labels.Selector, field fields.Selector) generic.Matcher { return thirdpartyresourcedata.Matcher(label, field) }, QualifiedResource: extensions.Resource("thirdpartyresourcedatas"), DeleteCollectionWorkers: opts.DeleteCollectionWorkers, CreateStrategy: thirdpartyresourcedata.Strategy, UpdateStrategy: thirdpartyresourcedata.Strategy, DeleteStrategy: thirdpartyresourcedata.Strategy, Storage: storageInterface, } return &REST{ Etcd: store, kind: kind, } }