// NewREST returns a RESTStorage object that will work against RoleBinding objects. func NewREST(opts generic.RESTOptions) *REST { prefix := "/rolebindings" newListFunc := func() runtime.Object { return &rbac.RoleBindingList{} } storageInterface := opts.Decorator( opts.Storage, cachesize.GetWatchCacheSizeByResource(cachesize.RoleBindings), &rbac.RoleBinding{}, prefix, rolebinding.Strategy, newListFunc, ) store := ®istry.Store{ NewFunc: func() runtime.Object { return &rbac.RoleBinding{} }, NewListFunc: newListFunc, KeyRootFunc: func(ctx api.Context) string { return registry.NamespaceKeyRootFunc(ctx, prefix) }, KeyFunc: func(ctx api.Context, id string) (string, error) { return registry.NamespaceKeyFunc(ctx, prefix, id) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*rbac.RoleBinding).Name, nil }, PredicateFunc: func(label labels.Selector, field fields.Selector) generic.Matcher { return rolebinding.Matcher(label, field) }, QualifiedResource: rbac.Resource("rolebindings"), DeleteCollectionWorkers: opts.DeleteCollectionWorkers, CreateStrategy: rolebinding.Strategy, UpdateStrategy: rolebinding.Strategy, DeleteStrategy: rolebinding.Strategy, Storage: storageInterface, } return &REST{store} }
limitations under the License. */ // Package policybased implements a standard storage for ClusterRole that prevents privilege escalation. package policybased import ( "github.com/ttysteale/kubernetes-api/api" "github.com/ttysteale/kubernetes-api/api/errors" "github.com/ttysteale/kubernetes-api/api/rest" "github.com/ttysteale/kubernetes-api/apis/rbac" "github.com/ttysteale/kubernetes-api/apis/rbac/validation" "github.com/ttysteale/kubernetes-api/runtime" ) var groupResource = rbac.Resource("clusterroles") type Storage struct { rest.StandardStorage ruleResolver validation.AuthorizationRuleResolver // user which skips privilege escalation checks superUser string } func NewStorage(s rest.StandardStorage, ruleResolver validation.AuthorizationRuleResolver, superUser string) *Storage { return &Storage{s, ruleResolver, superUser} } func (s *Storage) Create(ctx api.Context, obj runtime.Object) (runtime.Object, error) {
limitations under the License. */ // Package policybased implements a standard storage for RoleBinding that prevents privilege escalation. package policybased import ( "github.com/ttysteale/kubernetes-api/api" "github.com/ttysteale/kubernetes-api/api/errors" "github.com/ttysteale/kubernetes-api/api/rest" "github.com/ttysteale/kubernetes-api/apis/rbac" "github.com/ttysteale/kubernetes-api/apis/rbac/validation" "github.com/ttysteale/kubernetes-api/runtime" ) var groupResource = rbac.Resource("rolebindings") type Storage struct { rest.StandardStorage ruleResolver validation.AuthorizationRuleResolver // user which skips privilege escalation checks superUser string } func NewStorage(s rest.StandardStorage, ruleResolver validation.AuthorizationRuleResolver, superUser string) *Storage { return &Storage{s, ruleResolver, superUser} } func (s *Storage) Create(ctx api.Context, obj runtime.Object) (runtime.Object, error) {
limitations under the License. */ // Package policybased implements a standard storage for ClusterRoleBinding that prevents privilege escalation. package policybased import ( "github.com/ttysteale/kubernetes-api/api" "github.com/ttysteale/kubernetes-api/api/errors" "github.com/ttysteale/kubernetes-api/api/rest" "github.com/ttysteale/kubernetes-api/apis/rbac" "github.com/ttysteale/kubernetes-api/apis/rbac/validation" "github.com/ttysteale/kubernetes-api/runtime" ) var groupResource = rbac.Resource("clusterrolebindings") type Storage struct { rest.StandardStorage ruleResolver validation.AuthorizationRuleResolver // user which skips privilege escalation checks superUser string } func NewStorage(s rest.StandardStorage, ruleResolver validation.AuthorizationRuleResolver, superUser string) *Storage { return &Storage{s, ruleResolver, superUser} } func (s *Storage) Create(ctx api.Context, obj runtime.Object) (runtime.Object, error) {