github.com/lukasheimann/cloudfoundrycli@v7.1.0+incompatible/actor/v7action/service_broker.go (about)

     1  package v7action
     2  
     3  import (
     4  	"code.cloudfoundry.org/cli/actor/actionerror"
     5  	"code.cloudfoundry.org/cli/api/cloudcontroller/ccv3"
     6  	"code.cloudfoundry.org/cli/resources"
     7  )
     8  
     9  func (actor Actor) GetServiceBrokers() ([]resources.ServiceBroker, Warnings, error) {
    10  	serviceBrokers, warnings, err := actor.CloudControllerClient.GetServiceBrokers()
    11  	if err != nil {
    12  		return nil, Warnings(warnings), err
    13  	}
    14  
    15  	return serviceBrokers, Warnings(warnings), nil
    16  }
    17  
    18  func (actor Actor) GetServiceBrokerByName(serviceBrokerName string) (resources.ServiceBroker, Warnings, error) {
    19  	query := []ccv3.Query{
    20  		{
    21  			Key:    ccv3.NameFilter,
    22  			Values: []string{serviceBrokerName},
    23  		},
    24  	}
    25  	serviceBrokers, warnings, err := actor.CloudControllerClient.GetServiceBrokers(query...)
    26  	if err != nil {
    27  		return resources.ServiceBroker{}, Warnings(warnings), err
    28  	}
    29  
    30  	if len(serviceBrokers) == 0 {
    31  		return resources.ServiceBroker{}, Warnings(warnings), actionerror.ServiceBrokerNotFoundError{Name: serviceBrokerName}
    32  	}
    33  
    34  	return serviceBrokers[0], Warnings(warnings), nil
    35  }
    36  
    37  func (actor Actor) CreateServiceBroker(model resources.ServiceBroker) (Warnings, error) {
    38  	allWarnings := Warnings{}
    39  
    40  	jobURL, warnings, err := actor.CloudControllerClient.CreateServiceBroker(model)
    41  	allWarnings = append(allWarnings, warnings...)
    42  	if err != nil {
    43  		return allWarnings, err
    44  	}
    45  
    46  	warnings, err = actor.CloudControllerClient.PollJob(jobURL)
    47  	allWarnings = append(allWarnings, warnings...)
    48  	return allWarnings, err
    49  }
    50  
    51  func (actor Actor) UpdateServiceBroker(serviceBrokerGUID string, model resources.ServiceBroker) (Warnings, error) {
    52  	allWarnings := Warnings{}
    53  
    54  	jobURL, warnings, err := actor.CloudControllerClient.UpdateServiceBroker(serviceBrokerGUID, model)
    55  	allWarnings = append(allWarnings, warnings...)
    56  	if err != nil {
    57  		return allWarnings, err
    58  	}
    59  
    60  	warnings, err = actor.CloudControllerClient.PollJob(jobURL)
    61  	allWarnings = append(allWarnings, warnings...)
    62  	return allWarnings, err
    63  }
    64  
    65  func (actor Actor) DeleteServiceBroker(serviceBrokerGUID string) (Warnings, error) {
    66  	allWarnings := Warnings{}
    67  
    68  	jobURL, warnings, err := actor.CloudControllerClient.DeleteServiceBroker(serviceBrokerGUID)
    69  	allWarnings = append(allWarnings, warnings...)
    70  	if err != nil {
    71  		return allWarnings, err
    72  	}
    73  
    74  	warnings, err = actor.CloudControllerClient.PollJob(jobURL)
    75  	allWarnings = append(allWarnings, warnings...)
    76  
    77  	return allWarnings, err
    78  }