Documentation
¶
Overview ¶
Package broker implements the github.com/pivotal-cf/brokerapi/domain.ServiceBroker interface
Index ¶
- Variables
- type BrokerConfig
- type CredStore
- type NoopCredStore
- type ServiceBroker
- func (broker *ServiceBroker) Bind(ctx context.Context, instanceID, bindingID string, details domain.BindDetails, ...) (domain.Binding, error)
- func (broker *ServiceBroker) Deprovision(ctx context.Context, instanceID string, details domain.DeprovisionDetails, ...) (domain.DeprovisionServiceSpec, error)
- func (broker *ServiceBroker) GetBinding(ctx context.Context, instanceID, bindingID string, ...) (domain.GetBindingSpec, error)
- func (broker *ServiceBroker) GetInstance(ctx context.Context, instanceID string, details domain.FetchInstanceDetails) (domain.GetInstanceDetailsSpec, error)
- func (broker *ServiceBroker) LastBindingOperation(ctx context.Context, instanceID, bindingID string, details domain.PollDetails) (domain.LastOperation, error)
- func (broker *ServiceBroker) LastOperation(ctx context.Context, instanceID string, details domain.PollDetails) (domain.LastOperation, error)
- func (broker *ServiceBroker) Provision(ctx context.Context, instanceID string, details domain.ProvisionDetails, ...) (domain.ProvisionedServiceSpec, error)
- func (broker *ServiceBroker) Services(_ context.Context) ([]domain.Service, error)
- func (broker *ServiceBroker) Unbind(ctx context.Context, instanceID, bindingID string, ...) (domain.UnbindSpec, error)
- func (broker *ServiceBroker) Update(ctx context.Context, instanceID string, details domain.UpdateDetails, ...) (domain.UpdateServiceSpec, error)
- type Storage
- type TFDeploymentGUID
Constants ¶
This section is empty.
Variables ¶
var ( ErrBadRequest = apiresponses.NewFailureResponse(errors.New(badRequestMsg), http.StatusBadRequest, badRequestKey) ErrInvalidUserInput = apiresponses.NewFailureResponse(errors.New(invalidUserInputMsg), http.StatusBadRequest, invalidUserInputKey) ErrNonUpdatableParameter = apiresponses.NewFailureResponse(errors.New(nonUpdateableParameterMsg), http.StatusBadRequest, nonUpdatableParameterKey) ErrNotFound = apiresponses.NewFailureResponse(errors.New(notFoundMsg), http.StatusNotFound, notFoundKey) ErrConcurrencyError = apiresponses.NewFailureResponse(errors.New(concurrencyErrorMsg), http.StatusUnprocessableEntity, concurrencyErrorKey) )
Functions ¶
This section is empty.
Types ¶
type BrokerConfig ¶
type BrokerConfig struct {
Registry broker.BrokerRegistry
CredStore CredStore
}
func NewBrokerConfigFromEnv ¶
func NewBrokerConfigFromEnv(logger lager.Logger) (*BrokerConfig, error)
type NoopCredStore ¶ added in v2.5.12
type NoopCredStore struct{}
type ServiceBroker ¶
ServiceBroker is a brokerapi.ServiceBroker that can be used to generate an OSB compatible service broker.
func New ¶
func New(cfg *BrokerConfig, store Storage, logger lager.Logger) (*ServiceBroker, error)
New creates a ServiceBroker. Exactly one of ServiceBroker or error will be nil when returned.
func (*ServiceBroker) Bind ¶
func (broker *ServiceBroker) Bind(ctx context.Context, instanceID, bindingID string, details domain.BindDetails, _ bool) (domain.Binding, error)
Bind creates an account with credentials to access an instance of a service. It is bound to the `PUT /v2/service_instances/:instance_id/service_bindings/:binding_id` endpoint and can be called using the `cf bind-service` command.
func (*ServiceBroker) Deprovision ¶
func (broker *ServiceBroker) Deprovision(ctx context.Context, instanceID string, details domain.DeprovisionDetails, clientSupportsAsync bool) (domain.DeprovisionServiceSpec, error)
Deprovision destroys an existing instance of a service. It is bound to the `DELETE /v2/service_instances/:instance_id` endpoint and can be called using the `cf delete-service` command. If a deprovision is asynchronous, the returned DeprovisionServiceSpec will contain the operation ID for tracking its progress.
func (*ServiceBroker) GetBinding ¶
func (broker *ServiceBroker) GetBinding(ctx context.Context, instanceID, bindingID string, details domain.FetchBindingDetails) (domain.GetBindingSpec, error)
GetBinding fetches an existing service binding. GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}
func (*ServiceBroker) GetInstance ¶
func (broker *ServiceBroker) GetInstance(ctx context.Context, instanceID string, details domain.FetchInstanceDetails) (domain.GetInstanceDetailsSpec, error)
GetInstance fetches information about a service instance GET /v2/service_instances/{instance_id}
func (*ServiceBroker) LastBindingOperation ¶
func (broker *ServiceBroker) LastBindingOperation(ctx context.Context, instanceID, bindingID string, details domain.PollDetails) (domain.LastOperation, error)
LastBindingOperation fetches last operation state for a service binding. GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}/last_operation
NOTE: This functionality is not implemented.
func (*ServiceBroker) LastOperation ¶
func (broker *ServiceBroker) LastOperation(ctx context.Context, instanceID string, details domain.PollDetails) (domain.LastOperation, error)
LastOperation fetches last operation state for a service instance. It is bound to the `GET /v2/service_instances/:instance_id/last_operation` endpoint. It is called by `cf create-service` or `cf delete-service` if the operation was asynchronous.
func (*ServiceBroker) Provision ¶
func (broker *ServiceBroker) Provision(ctx context.Context, instanceID string, details domain.ProvisionDetails, clientSupportsAsync bool) (domain.ProvisionedServiceSpec, error)
Provision creates a new instance of a service. It is bound to the `PUT /v2/service_instances/:instance_id` endpoint and can be called using the `cf create-service` command.
func (*ServiceBroker) Services ¶
Services lists services in the broker's catalog. It is called through the `GET /v2/catalog` endpoint or the `cf marketplace` command.
func (*ServiceBroker) Unbind ¶
func (broker *ServiceBroker) Unbind(ctx context.Context, instanceID, bindingID string, details domain.UnbindDetails, _ bool) (domain.UnbindSpec, error)
Unbind destroys an account and credentials with access to an instance of a service. It is bound to the `DELETE /v2/service_instances/:instance_id/service_bindings/:binding_id` endpoint and can be called using the `cf unbind-service` command.
func (*ServiceBroker) Update ¶
func (broker *ServiceBroker) Update(ctx context.Context, instanceID string, details domain.UpdateDetails, asyncAllowed bool) (domain.UpdateServiceSpec, error)
Update a service instance plan. This functionality is not implemented and will return an error indicating that plan changes are not supported.
type Storage ¶
type Storage interface {
broker.ServiceProviderStorage
CreateServiceBindingCredentials(binding storage.ServiceBindingCredentials) error
GetServiceBindingCredentials(bindingID, serviceInstanceID string) (storage.ServiceBindingCredentials, error)
ExistsServiceBindingCredentials(bindingID, serviceInstanceID string) (bool, error)
DeleteServiceBindingCredentials(bindingID, serviceInstanceID string) error
StoreBindRequestDetails(bindRequestDetails storage.BindRequestDetails) error
GetBindRequestDetails(bindingID, instanceID string) (storage.JSONObject, error)
DeleteBindRequestDetails(bindingID, instanceID string) error
StoreProvisionRequestDetails(serviceInstanceID string, details storage.JSONObject) error
GetProvisionRequestDetails(serviceInstanceID string) (storage.JSONObject, error)
DeleteProvisionRequestDetails(serviceInstanceID string) error
StoreServiceInstanceDetails(d storage.ServiceInstanceDetails) error
GetServiceInstanceDetails(guid string) (storage.ServiceInstanceDetails, error)
ExistsServiceInstanceDetails(guid string) (bool, error)
DeleteServiceInstanceDetails(guid string) error
}
type TFDeploymentGUID ¶
type TFDeploymentGUID string
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
|
Package decider works out whether a service instance update is an Upgrade or and Update
|
Package decider works out whether a service instance update is an Upgrade or and Update |