Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BrokerClient ¶
type BrokerClient interface { // GetBrokers obtains the registered brokers in the platform GetBrokers(ctx context.Context) ([]*ServiceBroker, error) // GetBrokerByName returns the broker from the platform with the specified name GetBrokerByName(ctx context.Context, name string) (*ServiceBroker, error) // CreateBroker registers a new broker at the platform CreateBroker(ctx context.Context, r *CreateServiceBrokerRequest) (*ServiceBroker, error) // DeleteBroker unregisters a broker from the platform DeleteBroker(ctx context.Context, r *DeleteServiceBrokerRequest) error // UpdateBroker updates a broker registration at the platform UpdateBroker(ctx context.Context, r *UpdateServiceBrokerRequest) (*ServiceBroker, error) }
BrokerClient provides the logic for calling into the underlying platform and performing platform specific operations
type CatalogFetcher ¶
type CatalogFetcher interface { // Fetch contains the logic for platform specific catalog fetching for the provided service broker Fetch(ctx context.Context, serviceBroker *ServiceBroker) error }
CatalogFetcher provides a way to add a hook for platform specific way of refetching the service broker catalog on each run of the registration task. If the platform that this proxy represents already handles that, you don't have to implement this interface
type Client ¶
type Client interface { // Broker returns a BrokerClient which handles platform specific broker operations Broker() BrokerClient // Visibility returns a VisibilityClient which handles platform specific service visibility operations Visibility() VisibilityClient // CatalogFetcher returns a CatalogFetcher which handles platform specific fetching of service catalogs CatalogFetcher() CatalogFetcher }
Client is an interface for service related operations on a platform. If a platform does not support some operations they should return nil for the specific client.
type CreateServiceBrokerRequest ¶
type CreateServiceBrokerRequest struct { Name string `json:"name"` BrokerURL string `json:"broker_url"` }
CreateServiceBrokerRequest type used for requests by the platform client
type DeleteServiceBrokerRequest ¶
DeleteServiceBrokerRequest type used for requests by the platform client
type ModifyPlanAccessRequest ¶
type ModifyPlanAccessRequest struct { BrokerName string `json:"broker_name"` CatalogPlanID string `json:"catalog_plan_id"` Labels types.Labels `json:"labels"` }
ModifyPlanAccessRequest type used for requests by the platform client
type ServiceBroker ¶
type ServiceBroker struct { GUID string `json:"guid"` Name string `json:"name"` BrokerURL string `json:"broker_url"` }
ServiceBroker type for responses from the platform client
type ServiceBrokerList ¶
type ServiceBrokerList struct {
ServiceBrokers []ServiceBroker `json:"service_brokers"`
}
ServiceBrokerList type for responses from the platform client
type UpdateServiceBrokerRequest ¶
type UpdateServiceBrokerRequest struct { GUID string `json:"guid"` Name string `json:"name"` BrokerURL string `json:"broker_url"` }
UpdateServiceBrokerRequest type used for requests by the platform client
type Visibility ¶
type Visibility struct { Public bool CatalogPlanID string PlatformBrokerName string Labels map[string]string }
Visibility generic visibility entity
type VisibilityClient ¶
type VisibilityClient interface { // GetVisibilitiesByBrokers get currently available visibilities in the platform for specific broker names GetVisibilitiesByBrokers(context.Context, []string) ([]*Visibility, error) // VisibilityScopeLabelKey returns a specific label key which should be used when converting SM visibilities to platform.Visibilities VisibilityScopeLabelKey() string // EnableAccessForPlan enables the access for the specified plan EnableAccessForPlan(ctx context.Context, request *ModifyPlanAccessRequest) error // DisableAccessForPlan disables the access for the specified plan DisableAccessForPlan(ctx context.Context, request *ModifyPlanAccessRequest) error }
VisibilityClient interface for platform clients to implement if they support platform specific service and plan visibilities