code.cloudfoundry.org/cli@v7.1.0+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  }