// NewREST returns a new REST. func NewREST(s storage.Interface, oClient *oclient.Client) *REST { prefix := "/servicebrokers" store := &etcdgeneric.Etcd{ NewFunc: func() runtime.Object { return &servicebrokerapi.ServiceBroker{} }, NewListFunc: func() runtime.Object { return &servicebrokerapi.ServiceBrokerList{} }, KeyRootFunc: func(ctx kapi.Context) string { return prefix }, KeyFunc: func(ctx kapi.Context, name string) (string, error) { return etcdgeneric.NoNamespaceKeyFunc(ctx, prefix, name) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*servicebrokerapi.ServiceBroker).Name, nil }, PredicateFunc: func(label labels.Selector, field fields.Selector) generic.Matcher { return servicebroker.Matcher(label, field) }, QualifiedResource: servicebrokerapi.Resource("servicebroker"), CreateStrategy: servicebroker.SbStrategy, UpdateStrategy: servicebroker.SbStrategy, ReturnDeletedObject: false, Storage: s, } return &REST{ store: store, bsClient: oClient.BackingServices(backingserviceapi.BSNS), bsiClient: oClient.BackingServiceInstances(kapi.NamespaceAll), } }
// NewREST returns a new REST. func NewREST(s storage.Interface, oClient *oclient.Client) *REST { prefix := "/backingservices" store := &etcdgeneric.Etcd{ NewFunc: func() runtime.Object { return &api.BackingService{} }, NewListFunc: func() runtime.Object { return &api.BackingServiceList{} }, //KeyRootFunc: func(ctx kapi.Context) string { // return prefix //}, //KeyFunc: func(ctx kapi.Context, name string) (string, error) { // return etcdgeneric.NoNamespaceKeyFunc(ctx, prefix, name) //}, KeyRootFunc: func(ctx kapi.Context) string { return etcdgeneric.NamespaceKeyRootFunc(ctx, prefix) }, KeyFunc: func(ctx kapi.Context, name string) (string, error) { return etcdgeneric.NamespaceKeyFunc(ctx, prefix, name) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*api.BackingService).Name, nil }, PredicateFunc: func(label labels.Selector, field fields.Selector) generic.Matcher { return backingservice.Matcher(label, field) }, QualifiedResource: api.Resource("backingservice"), CreateStrategy: backingservice.BsStrategy, UpdateStrategy: backingservice.BsStrategy, ReturnDeletedObject: false, Storage: s, } return &REST{store: store, bsiClient: oClient.BackingServiceInstances(kapi.NamespaceAll)} }
func ValidationApplicationItemName(namespace string, items applicationapi.ItemList, oClient *oclient.Client, kClient *kclient.Client) (bool, string) { for _, item := range items { switch item.Kind { case "ServiceBroker": if _, err := oClient.ServiceBrokers().Get(item.Name); err != nil { if kerrors.IsNotFound(err) { return false, fmt.Sprintf("resource %s=%s no found.", item.Kind, item.Name) } } case "BackingServiceInstance": if _, err := oClient.BackingServiceInstances(namespace).Get(item.Name); err != nil { if kerrors.IsNotFound(err) { return false, fmt.Sprintf("resource %s=%s no found.", item.Kind, item.Name) } } case "Build": if _, err := oClient.Builds(namespace).Get(item.Name); err != nil { if kerrors.IsNotFound(err) { return false, fmt.Sprintf("resource %s=%s no found.", item.Kind, item.Name) } } case "BuildConfig": if _, err := oClient.BuildConfigs(namespace).Get(item.Name); err != nil { if kerrors.IsNotFound(err) { return false, fmt.Sprintf("resource %s=%s no found.", item.Kind, item.Name) } } case "DeploymentConfig": if _, err := oClient.DeploymentConfigs(namespace).Get(item.Name); err != nil { if kerrors.IsNotFound(err) { return false, fmt.Sprintf("resource %s=%s no found.", item.Kind, item.Name) } } case "ImageStream": if _, err := oClient.ImageStreams(namespace).Get(item.Name); err != nil { if kerrors.IsNotFound(err) { return false, fmt.Sprintf("resource %s=%s no found.", item.Kind, item.Name) } } case "ReplicationController": if _, err := kClient.ReplicationControllers(namespace).Get(item.Name); err != nil { if kerrors.IsNotFound(err) { return false, fmt.Sprintf("resource %s=%s no found.", item.Kind, item.Name) } } case "Node": if _, err := kClient.Nodes().Get(item.Name); err != nil { if kerrors.IsNotFound(err) { return false, fmt.Sprintf("resource %s=%s no found.", item.Kind, item.Name) } } case "Pod": if _, err := kClient.Pods(namespace).Get(item.Name); err != nil { if kerrors.IsNotFound(err) { return false, fmt.Sprintf("resource %s=%s no found.", item.Kind, item.Name) } } case "Service": if _, err := kClient.Services(namespace).Get(item.Name); err != nil { if kerrors.IsNotFound(err) { return false, fmt.Sprintf("resource %s=%s no found.", item.Kind, item.Name) } } } } return true, "" }