Skip to content

Commit

Permalink
Add godoc to ServiceBroker interface. Also rearrange methods to match…
Browse files Browse the repository at this point in the history
… grouping in OpenAPI spec
  • Loading branch information
fitzoh committed Oct 27, 2018
1 parent 9ed104e commit e2a818b
Showing 1 changed file with 39 additions and 3 deletions.
42 changes: 39 additions & 3 deletions service_broker.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,20 +22,56 @@ import (
"net/http"
)

//Each method of the ServiceBroker interface maps to an individual endpoint of the Open Service Broker API.
//
//The specification is available here: https://github.com/openservicebrokerapi/servicebroker/blob/v2.14/spec.md
//
//The OpenAPI documentation is available here: http://petstore.swagger.io/?url=https://raw.githubusercontent.com/openservicebrokerapi/servicebroker/v2.14/openapi.yaml
type ServiceBroker interface {
//Catalog
//
//get the catalog of services that the service broker offers
// GET /v2/catalog
Services(ctx context.Context) ([]Service, error)

//ServiceInstances
//
//provision a service instance
// PUT /v2/service_instances/{instance_id}
Provision(ctx context.Context, instanceID string, details ProvisionDetails, asyncAllowed bool) (ProvisionedServiceSpec, error)

//deprovision a service instance
// DELETE /v2/service_instances/{instance_id}
Deprovision(ctx context.Context, instanceID string, details DeprovisionDetails, asyncAllowed bool) (DeprovisionServiceSpec, error)

//gets a service instnace
// GET /v2/service_instances/{instance_id}
GetInstance(ctx context.Context, instanceID string) (GetInstanceDetailsSpec, error)

//updates a service instance
// PATCH /v2/service_instances/{instance_id}
Update(ctx context.Context, instanceID string, details UpdateDetails, asyncAllowed bool) (UpdateServiceSpec, error)

//last requested operation state for service instance
// GET /v2/service_instances/{instance_id}/last_operation
LastOperation(ctx context.Context, instanceID string, details PollDetails) (LastOperation, error)

//ServiceBindings
//
//generation of a service binding
//`PUT /v2/service_instances/{instance_id}/service_bindings/{binding_id}`
Bind(ctx context.Context, instanceID, bindingID string, details BindDetails, asyncAllowed bool) (Binding, error)

//deprovision of a service binding
//`DELETE /v2/service_instances/{instance_id}/service_bindings/{binding_id}`
Unbind(ctx context.Context, instanceID, bindingID string, details UnbindDetails, asyncAllowed bool) (UnbindSpec, error)
GetBinding(ctx context.Context, instanceID, bindingID string) (GetBindingSpec, error)

Update(ctx context.Context, instanceID string, details UpdateDetails, asyncAllowed bool) (UpdateServiceSpec, error)
//gets a service binding
//`GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}`
GetBinding(ctx context.Context, instanceID, bindingID string) (GetBindingSpec, error)

LastOperation(ctx context.Context, instanceID string, details PollDetails) (LastOperation, error)
//last requested operation state for service binding
//`GET /v2/service_instances/{instance_id}/service_bindings/{binding_id}/last_operation`
LastBindingOperation(ctx context.Context, instanceID, bindingID string, details PollDetails) (LastOperation, error)
}

Expand Down

0 comments on commit e2a818b

Please sign in to comment.