osb

package
v0.13.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2020 License: Apache-2.0, BSD-3-Clause, MIT Imports: 27 Imported by: 1

Documentation

Overview

Package osb contains logic for building the Service Manager OSB API

Index

Constants

View Source
const (
	// BrokerIDPathParam is a service broker ID path parameter
	BrokerIDPathParam   = "brokerID"
	InstanceIDPathParam = "instance_id"
)
View Source
const CatalogFilterByVisibilityPluginName = "CatalogFilterByVisibilityPlugin"
View Source
const CheckInstanceOwnerhipPluginName = "CheckInstanceOwnershipPlugin"
View Source
const CheckPlatformIDPluginName = "CheckPlatformIDPlugin"
View Source
const CheckVisibilityPluginName = "CheckVisibilityPlugin"
View Source
const (
	// StoreServiceInstancePluginName is the plugin name
	StoreServiceInstancePluginName = "StoreServiceInstancePlugin"
)

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 ExtractPlatformFromContext added in v0.11.0

func ExtractPlatformFromContext(ctx context.Context) (*types.Platform, error)

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

Types

type BrokerFetcherFunc added in v0.3.3

type BrokerFetcherFunc func(ctx context.Context, brokerID string) (*types.ServiceBroker, error)

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 (c *CatalogFilterByVisibilityPlugin) FetchCatalog(req *web.Request, next web.Handler) (*web.Response, error)

func (*CatalogFilterByVisibilityPlugin) Name added in v0.9.6

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 Response added in v0.9.0

type Response struct {
	DashboardURL   string `json:"dashboard_url"`
	OperationData  string `json:"operation"`
	Error          string `json:"error"`
	Description    string `json:"description"`
	InstanceUsable bool   `json:"instance_usable"`
}

type StoreServiceInstancePlugin added in v0.9.0

type StoreServiceInstancePlugin struct {
	Repository storage.TransactionalRepository
}

StoreServiceInstancePlugin represents a plugin that stores service instances on OSB requests

func NewStoreServiceInstancesPlugin added in v0.9.0

func NewStoreServiceInstancesPlugin(repository storage.TransactionalRepository) *StoreServiceInstancePlugin

NewStoreServiceInstancesPlugin creates a plugin that stores service instances on OSB requests

func (*StoreServiceInstancePlugin) Deprovision added in v0.9.0

func (ssi *StoreServiceInstancePlugin) Deprovision(request *web.Request, next web.Handler) (*web.Response, error)

func (*StoreServiceInstancePlugin) Name added in v0.9.0

func (*StoreServiceInstancePlugin) PollInstance added in v0.9.0

func (ssi *StoreServiceInstancePlugin) PollInstance(request *web.Request, next web.Handler) (*web.Response, error)

func (*StoreServiceInstancePlugin) Provision added in v0.9.0

func (ssi *StoreServiceInstancePlugin) Provision(request *web.Request, next web.Handler) (*web.Response, error)

func (*StoreServiceInstancePlugin) UpdateService added in v0.9.0

func (ssi *StoreServiceInstancePlugin) UpdateService(request *web.Request, next web.Handler) (*web.Response, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL