Documentation ¶
Overview ¶
Package osb contains logic for building the Service Manager OSB API
Index ¶
- Constants
- func CatalogFetcher(doRequestWithClient util.DoRequestWithClientFunc, brokerAPIVersion string) func(ctx context.Context, broker *types.ServiceBroker) ([]byte, error)
- func DeleteSignatureField(rawContext json.RawMessage) ([]byte, error)
- func ExtractPlatformFromContext(ctx context.Context) (*types.Platform, error)
- func Get(doRequestWithClient util.DoRequestWithClientFunc, brokerAPIVersion string, ...) ([]byte, error)
- func NewBrokerClientProvider(skipSsl bool, timeout int) osbc.CreateFunc
- func NewCheckInstanceOwnershipPlugin(repository storage.Repository, tenantIdentifier string) *checkInstanceOwnershipPlugin
- func NewCheckPlatformIDPlugin(repository storage.Repository) *checkPlatformIDPlugin
- func NewCheckVisibilityPlugin(repository storage.Repository) *checkVisibilityPlugin
- func NewInstanceSharingPlugin(repository storage.TransactionalRepository, tenantIdentifier string) *instanceSharingPlugin
- func NewPlatformTerminationPlugin(repository storage.Repository) *platformTerminationPlugin
- func NewStorePlugin(repository storage.TransactionalRepository) *storePlugin
- type BrokerFetcherFunc
- type CatalogFilterByVisibilityPlugin
- type ContextSignaturePlugin
- func (s *ContextSignaturePlugin) Bind(req *web.Request, next web.Handler) (*web.Response, error)
- func (s *ContextSignaturePlugin) Name() string
- func (s *ContextSignaturePlugin) Provision(req *web.Request, next web.Handler) (*web.Response, error)
- func (s *ContextSignaturePlugin) UpdateService(req *web.Request, next web.Handler) (*web.Response, error)
- type ContextSigner
- type Controller
- type OperationCategory
Constants ¶
const ( ContextSignaturePluginName = "ContextSignaturePlugin" ServiceInstanceIDFieldName = "service_instance_id" )
const ( // BrokerIDPathParam is a service broker ID path parameter BrokerIDPathParam = "brokerID" InstanceIDPathParam = "instance_id" BindingIDPathParam = "binding_id" )
const ( // OSBStorePluginName is the plugin name OSBStorePluginName = "OSBStorePluginName" PreserveInstanceKey = "preserve_service_instance_key" )
const ( READY entityOperation = "ready" ROLLBACK entityOperation = "rollback" DELETE entityOperation = "delete" NONE entityOperation = "none" )
const CatalogFilterByVisibilityPluginName = "CatalogFilterByVisibilityPlugin"
const CheckInstanceOwnerhipPluginName = "CheckInstanceOwnershipPlugin"
const CheckPlatformIDPluginName = "CheckPlatformIDPlugin"
const CheckVisibilityPluginName = "CheckVisibilityPlugin"
const InstanceSharingPluginName = "ReferenceInstancePlugin"
const PlatformTerminationPluginName = "PlatformTerminationPlugin"
Variables ¶
This section is empty.
Functions ¶
func CatalogFetcher ¶ added in v0.1.6
func CatalogFetcher(doRequestWithClient util.DoRequestWithClientFunc, brokerAPIVersion string) func(ctx context.Context, broker *types.ServiceBroker) ([]byte, error)
CatalogFetcher creates a broker catalog fetcher that uses the provided request function to call the specified broker's catalog endpoint
func DeleteSignatureField ¶ added in v0.21.3
func DeleteSignatureField(rawContext json.RawMessage) ([]byte, error)
func ExtractPlatformFromContext ¶ added in v0.11.0
func NewBrokerClientProvider ¶ added in v0.10.0
func NewBrokerClientProvider(skipSsl bool, timeout int) osbc.CreateFunc
NewBrokerClientProvider provides a function which constructs an OSB client based on a provided configuration
func NewCheckInstanceOwnershipPlugin ¶ added in v0.10.0
func NewCheckInstanceOwnershipPlugin(repository storage.Repository, tenantIdentifier string) *checkInstanceOwnershipPlugin
NewCheckInstanceOwnershipPlugin creates new plugin that checks the owner of the instance
func NewCheckPlatformIDPlugin ¶ added in v0.9.6
func NewCheckPlatformIDPlugin(repository storage.Repository) *checkPlatformIDPlugin
NewCheckPlatformIDPlugin creates new plugin that checks the platform_id of the instance
func NewCheckVisibilityPlugin ¶ added in v0.9.6
func NewCheckVisibilityPlugin(repository storage.Repository) *checkVisibilityPlugin
NewCheckVisibilityPlugin creates new plugin that checks if a plan is visible to the user on provision request
func NewInstanceSharingPlugin ¶ added in v0.19.5
func NewInstanceSharingPlugin(repository storage.TransactionalRepository, tenantIdentifier string) *instanceSharingPlugin
NewInstanceSharingPlugin creates new plugin that handles the instance sharing flows on osb
func NewPlatformTerminationPlugin ¶ added in v0.16.11
func NewPlatformTerminationPlugin(repository storage.Repository) *platformTerminationPlugin
NewPlatformTerminationPlugin creates new plugin that checks the platform deletion status
func NewStorePlugin ¶ added in v0.13.4
func NewStorePlugin(repository storage.TransactionalRepository) *storePlugin
NewStorePlugin creates a plugin that stores service instances on OSB requests
Types ¶
type BrokerFetcherFunc ¶ added in v0.3.3
BrokerFetcherFunc is implemented by OSB proxy providers
type CatalogFilterByVisibilityPlugin ¶ added in v0.9.6
type CatalogFilterByVisibilityPlugin struct {
// contains filtered or unexported fields
}
func NewCatalogFilterByVisibilityPlugin ¶ added in v0.9.6
func NewCatalogFilterByVisibilityPlugin(repository storage.Repository) *CatalogFilterByVisibilityPlugin
func (*CatalogFilterByVisibilityPlugin) FetchCatalog ¶ added in v0.9.6
func (*CatalogFilterByVisibilityPlugin) Name ¶ added in v0.9.6
func (c *CatalogFilterByVisibilityPlugin) Name() string
type ContextSignaturePlugin ¶ added in v0.21.3
type ContextSignaturePlugin struct {
// contains filtered or unexported fields
}
func NewCtxSignaturePlugin ¶ added in v0.21.3
func NewCtxSignaturePlugin(contextSigner *ContextSigner) *ContextSignaturePlugin
func (*ContextSignaturePlugin) Name ¶ added in v0.21.3
func (s *ContextSignaturePlugin) Name() string
func (*ContextSignaturePlugin) UpdateService ¶ added in v0.21.3
type ContextSigner ¶ added in v0.21.3
type ContextSigner struct { ContextPrivateKey string // contains filtered or unexported fields }
type Controller ¶ added in v0.3.3
type Controller struct {
BrokerFetcher BrokerFetcherFunc
}
Controller implements api.Controller by providing OSB API logic
func (*Controller) Routes ¶ added in v0.3.3
func (c *Controller) Routes() []web.Route
Routes implements api.Controller.Routes by providing the routes for the OSB API
type OperationCategory ¶ added in v0.19.5
type OperationCategory string
Source Files ¶
- catalog_fetcher.go
- catalog_filter_by_visibility_plugin.go
- check_instance_owner_plugin.go
- check_instance_visibility_plugin.go
- check_platform_id_plugin.go
- client.go
- context_signature_plugin.go
- instance_sharing_plugin.go
- osb.go
- osb_controller.go
- osb_store_plugin.go
- platform_termination_plugin.go
- utils.go