github.com/franc20/ayesa_sap@v7.0.0-beta.28.0.20200124003224-302d4d52fa6c+incompatible/actor/v2action/service_broker.go (about) 1 package v2action 2 3 import ( 4 "code.cloudfoundry.org/cli/actor/actionerror" 5 "code.cloudfoundry.org/cli/api/cloudcontroller/ccv2" 6 "code.cloudfoundry.org/cli/api/cloudcontroller/ccv2/constant" 7 ) 8 9 type ServiceBroker ccv2.ServiceBroker 10 11 // CreateServiceBroker returns a ServiceBroker and any warnings or errors. 12 func (actor Actor) CreateServiceBroker(serviceBrokerName, username, password, brokerURI, spaceGUID string) (ServiceBroker, Warnings, error) { 13 serviceBroker, warnings, err := actor.CloudControllerClient.CreateServiceBroker(serviceBrokerName, username, password, brokerURI, spaceGUID) 14 return ServiceBroker(serviceBroker), Warnings(warnings), err 15 } 16 17 // GetServiceBrokers returns all ServiceBrokers and any warnings or errors. 18 func (actor Actor) GetServiceBrokers() ([]ServiceBroker, Warnings, error) { 19 brokers, warnings, err := actor.CloudControllerClient.GetServiceBrokers() 20 if err != nil { 21 return nil, Warnings(warnings), err 22 } 23 24 var brokersToReturn []ServiceBroker 25 for _, b := range brokers { 26 brokersToReturn = append(brokersToReturn, ServiceBroker(b)) 27 } 28 29 return brokersToReturn, Warnings(warnings), nil 30 } 31 32 // GetServiceBrokerByName returns a ServiceBroker and any warnings or errors. 33 func (actor Actor) GetServiceBrokerByName(brokerName string) (ServiceBroker, Warnings, error) { 34 serviceBrokers, warnings, err := actor.CloudControllerClient.GetServiceBrokers(ccv2.Filter{ 35 Type: constant.NameFilter, 36 Operator: constant.EqualOperator, 37 Values: []string{brokerName}, 38 }) 39 40 if err != nil { 41 return ServiceBroker{}, Warnings(warnings), err 42 } 43 44 if len(serviceBrokers) == 0 { 45 return ServiceBroker{}, Warnings(warnings), actionerror.ServiceBrokerNotFoundError{Name: brokerName} 46 } 47 48 return ServiceBroker(serviceBrokers[0]), Warnings(warnings), err 49 }