interceptors

package
v0.20.9 Latest Latest
Warning

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

Go to latest
Published: Aug 22, 2021 License: Apache-2.0, BSD-3-Clause, MIT Imports: 27 Imported by: 1

Documentation

Index

Constants

View Source
const (
	BrokerCreateNotificationInterceptorName = "BrokerNotificationsCreateInterceptorProvider"
	BrokerUpdateNotificationInterceptorName = "BrokerNotificationsUpdateInterceptorProvider"
	BrokerDeleteNotificationInterceptorName = "BrokerNotificationsDeleteInterceptorProvider"
)
View Source
const (
	CreateBrokerPublicPlanInterceptorName = "CreateBrokerPublicPlansInterceptor"
	UpdateBrokerPublicPlanInterceptorName = "UpdateBrokerPublicPlansInterceptor"
)
View Source
const (
	ServiceInstanceCreateInterceptorName = "ServiceInstanceCreateInterceptor"
	ServiceBindingCreateInterceptorName  = "ServiceBindingCreateInterceptor"
)
View Source
const (
	ServiceInstanceCreateInterceptorProviderName = "ServiceInstanceCreateInterceptorProvider"
	OperatedByLabelKey                           = "operated_by"
)
View Source
const (
	UniqueInstanceNameCreateInterceptorName = "UniqueInstanceNameCreateInterceptor"
	UniqueInstanceNameUpdateInterceptorName = "UniqueInstanceNameUpdateInterceptor"
)
View Source
const BrokerCreateCatalogInterceptorName = "BrokerCreateCatalogInterceptor"
View Source
const BrokerDeleteCatalogInterceptorName = "BrokerDeleteCatalogInterceptor"
View Source
const BrokerUpdateCatalogInterceptorName = "BrokerUpdateCatalogInterceptor"
View Source
const CascadeOperationCreateInterceptorProviderName = "CascadeOperationCreateInterceptorProvider"
View Source
const OperationSanitizerInterceptorName = "OperationSanitizerInterceptor"
View Source
const OperationsCreateInterceptorName = "OperationsCreateInterceptor"
View Source
const ServiceBindingCreateInterceptorProviderName = "ServiceBindingCreateInterceptorProvider"
View Source
const ServiceBindingDeleteInterceptorProviderName = "ServiceBindingDeleteInterceptorProvider"
View Source
const ServiceInstanceDeleteInterceptorProviderName = "ServiceInstanceDeleteInterceptorProvider"
View Source
const ServiceInstanceUpdateInterceptorProviderName = "ServiceInstanceUpdateInterceptorProvider"
View Source
const (
	UniqueBindingNameCreateInterceptorName = "UniqueBindingNameCreateInterceptor"
)
View Source
const VirtualResourceCascadeOperationCreateInterceptorProviderName = "VirtualResourceCascadeOperationCreateInterceptorProvider"

Variables

This section is empty.

Functions

func CreateNotification added in v0.3.3

func CreateNotification(ctx context.Context, repository storage.Repository, op types.NotificationOperation, resource types.ObjectType, platformID string, payload *Payload) error

func NewOSBBindingTenantLabelingInterceptor added in v0.13.4

func NewOSBBindingTenantLabelingInterceptor(tenantIdentifier string) *osbTenantLabelingInterceptor

func NewOSBServiceInstanceTenantLabelingInterceptor added in v0.13.4

func NewOSBServiceInstanceTenantLabelingInterceptor(tenantIdentifier string) *osbTenantLabelingInterceptor

Types

type BaseSMAAPInterceptorProvider added in v0.10.0

type BaseSMAAPInterceptorProvider struct {
	OSBClientCreateFunc osbc.CreateFunc
	Repository          *storage.InterceptableTransactionalRepository
	TenantKey           string
	PollingInterval     time.Duration
}

type BrokerAdditional added in v0.3.0

type BrokerAdditional struct {
	Services []*types.ServiceOffering `json:"services,omitempty"`
}

func (BrokerAdditional) Validate added in v0.3.0

func (ba BrokerAdditional) Validate() error

type BrokerCreateCatalogInterceptorProvider added in v0.3.0

type BrokerCreateCatalogInterceptorProvider struct {
	CatalogFetcher func(ctx context.Context, broker *types.ServiceBroker) ([]byte, error)
}

func (*BrokerCreateCatalogInterceptorProvider) Name added in v0.3.0

func (*BrokerCreateCatalogInterceptorProvider) Provide added in v0.3.0

type BrokerDeleteCatalogInterceptorProvider added in v0.3.0

type BrokerDeleteCatalogInterceptorProvider struct {
	CatalogLoader func(ctx context.Context, brokerID string, repository storage.Repository) (*types.ServiceOfferings, error)
}

BrokerDeleteCatalogInterceptorProvider provides a broker interceptor for delete operations

func (*BrokerDeleteCatalogInterceptorProvider) Name added in v0.3.0

func (*BrokerDeleteCatalogInterceptorProvider) Provide added in v0.3.0

type BrokerNotificationsCreateInterceptorProvider added in v0.3.0

type BrokerNotificationsCreateInterceptorProvider struct {
	NotificationsKeepFor time.Duration
	TenantKey            string
}

func (*BrokerNotificationsCreateInterceptorProvider) Name added in v0.3.0

func (*BrokerNotificationsCreateInterceptorProvider) Provide added in v0.3.0

type BrokerNotificationsDeleteInterceptorProvider added in v0.3.0

type BrokerNotificationsDeleteInterceptorProvider struct {
	NotificationsKeepFor time.Duration
	TenantKey            string
}

func (*BrokerNotificationsDeleteInterceptorProvider) Name added in v0.3.0

func (*BrokerNotificationsDeleteInterceptorProvider) Provide added in v0.3.0

type BrokerNotificationsUpdateInterceptorProvider added in v0.3.0

type BrokerNotificationsUpdateInterceptorProvider struct {
	NotificationsKeepFor time.Duration
	TenantKey            string
}

func (*BrokerNotificationsUpdateInterceptorProvider) Name added in v0.3.0

func (*BrokerNotificationsUpdateInterceptorProvider) Provide added in v0.3.0

type BrokerUpdateCatalogInterceptorProvider added in v0.3.0

type BrokerUpdateCatalogInterceptorProvider struct {
	CatalogFetcher func(ctx context.Context, broker *types.ServiceBroker) ([]byte, error)
	CatalogLoader  func(ctx context.Context, brokerID string, repository storage.Repository) (*types.ServiceOfferings, error)
}

BrokerUpdateCatalogInterceptorProvider provides a broker interceptor for update operations

func (*BrokerUpdateCatalogInterceptorProvider) Name added in v0.3.0

func (*BrokerUpdateCatalogInterceptorProvider) Provide added in v0.3.0

type CascadeOperationCreateInterceptorProvider added in v0.14.0

type CascadeOperationCreateInterceptorProvider struct {
}

func (*CascadeOperationCreateInterceptorProvider) Name added in v0.14.0

func (*CascadeOperationCreateInterceptorProvider) Provide added in v0.14.0

type GeneratePlatformCredentialsInterceptorProvider added in v0.10.0

type GeneratePlatformCredentialsInterceptorProvider struct {
}

func (*GeneratePlatformCredentialsInterceptorProvider) Name added in v0.10.0

func (*GeneratePlatformCredentialsInterceptorProvider) Provide added in v0.10.0

type NotificationsInterceptor added in v0.3.0

type NotificationsInterceptor struct {
	PlatformIDsProviderFunc func(ctx context.Context, object types.Object, repository storage.Repository) ([]string, error)
	AdditionalDetailsFunc   func(ctx context.Context, objects types.ObjectList, repository storage.Repository) (objectDetails, error)
	DeletePostConditionFunc func(ctx context.Context, object types.Object, repository storage.Repository, platformID string) error
}

func NewBrokerNotificationsInterceptor added in v0.3.0

func NewBrokerNotificationsInterceptor(tenantKey string, notificationsKeepFor time.Duration) *NotificationsInterceptor

func NewVisibilityNotificationsInterceptor added in v0.3.0

func NewVisibilityNotificationsInterceptor() *NotificationsInterceptor

func (*NotificationsInterceptor) OnTxCreate added in v0.3.0

func (*NotificationsInterceptor) OnTxDelete added in v0.3.0

func (*NotificationsInterceptor) OnTxUpdate added in v0.3.0

type ObjectPayload added in v0.3.0

type ObjectPayload struct {
	Resource   types.Object        `json:"resource,omitempty"`
	Additional util.InputValidator `json:"additional,omitempty"`
}

type OperationSanitizerInterceptorProvider added in v0.19.1

type OperationSanitizerInterceptorProvider struct {
}

func (*OperationSanitizerInterceptorProvider) Name added in v0.19.1

func (*OperationSanitizerInterceptorProvider) Provide added in v0.19.1

type OperationsCreateInsterceptorProvider added in v0.9.8

type OperationsCreateInsterceptorProvider struct {
	TenantIdentifier string
}

func (*OperationsCreateInsterceptorProvider) Name added in v0.9.8

func (*OperationsCreateInsterceptorProvider) Provide added in v0.9.8

type Payload added in v0.3.0

type Payload struct {
	New          *ObjectPayload     `json:"new,omitempty"`
	Old          *ObjectPayload     `json:"old,omitempty"`
	LabelChanges types.LabelChanges `json:"label_changes,omitempty"`
}

type PublicPlanCreateInterceptorProvider

type PublicPlanCreateInterceptorProvider struct {
	IsCatalogPlanPublicFunc publicPlanProcessor
	SupportedPlatformsFunc  supportedPlatformsProcessor
	TenantKey               string
}

func (*PublicPlanCreateInterceptorProvider) Name

func (*PublicPlanCreateInterceptorProvider) Provide

type PublicPlanUpdateInterceptorProvider

type PublicPlanUpdateInterceptorProvider struct {
	IsCatalogPlanPublicFunc publicPlanProcessor
	SupportedPlatformsFunc  supportedPlatformsProcessor
	TenantKey               string
}

func (*PublicPlanUpdateInterceptorProvider) Name

func (*PublicPlanUpdateInterceptorProvider) Provide

type RegeneratePlatformCredentialsInterceptorProvider added in v0.16.10

type RegeneratePlatformCredentialsInterceptorProvider struct {
}

func (*RegeneratePlatformCredentialsInterceptorProvider) Name added in v0.16.10

func (*RegeneratePlatformCredentialsInterceptorProvider) Provide added in v0.16.10

type ServiceBindingCreateInterceptorProvider added in v0.10.0

type ServiceBindingCreateInterceptorProvider struct {
	*BaseSMAAPInterceptorProvider
}

ServiceBindingCreateInterceptorProvider provides an interceptor that notifies the actual broker about instance creation

func (*ServiceBindingCreateInterceptorProvider) Name added in v0.10.0

func (*ServiceBindingCreateInterceptorProvider) Provide added in v0.10.0

type ServiceBindingDeleteInterceptorProvider added in v0.10.0

type ServiceBindingDeleteInterceptorProvider struct {
	*BaseSMAAPInterceptorProvider
}

ServiceBindingDeleteInterceptorProvider provides an interceptor that notifies the actual broker about instance deletion

func (*ServiceBindingDeleteInterceptorProvider) Name added in v0.10.0

func (*ServiceBindingDeleteInterceptorProvider) Provide added in v0.10.0

type ServiceBindingInterceptor added in v0.10.0

type ServiceBindingInterceptor struct {
	// contains filtered or unexported fields
}

func (*ServiceBindingInterceptor) AroundTxCreate added in v0.10.0

func (*ServiceBindingInterceptor) AroundTxDelete added in v0.10.0

type ServiceInstanceCreateInterceptorProvider added in v0.10.0

type ServiceInstanceCreateInterceptorProvider struct {
	*BaseSMAAPInterceptorProvider
}

ServiceInstanceCreateInterceptorProvider provides an interceptor that notifies the actual broker about instance creation

func (*ServiceInstanceCreateInterceptorProvider) Name added in v0.10.0

func (*ServiceInstanceCreateInterceptorProvider) Provide added in v0.10.0

type ServiceInstanceDeleteInterceptorProvider added in v0.10.0

type ServiceInstanceDeleteInterceptorProvider struct {
	*BaseSMAAPInterceptorProvider
}

ServiceInstanceDeleteInterceptorProvider provides an interceptor that notifies the actual broker about instance deletion

func (*ServiceInstanceDeleteInterceptorProvider) Name added in v0.10.0

func (*ServiceInstanceDeleteInterceptorProvider) Provide added in v0.10.0

type ServiceInstanceInterceptor added in v0.10.0

type ServiceInstanceInterceptor struct {
	// contains filtered or unexported fields
}

func (*ServiceInstanceInterceptor) AroundTxCreate added in v0.10.0

func (*ServiceInstanceInterceptor) AroundTxDelete added in v0.10.0

func (*ServiceInstanceInterceptor) AroundTxUpdate added in v0.10.0

type ServiceInstanceUpdateInterceptorProvider added in v0.10.0

type ServiceInstanceUpdateInterceptorProvider struct {
	*BaseSMAAPInterceptorProvider
}

ServiceInstanceUpdateInterceptorProvider provides an interceptor that notifies the actual broker about instance updates

func (*ServiceInstanceUpdateInterceptorProvider) Name added in v0.10.0

func (*ServiceInstanceUpdateInterceptorProvider) Provide added in v0.10.0

type UniqueBindingNameCreateInterceptorProvider added in v0.10.0

type UniqueBindingNameCreateInterceptorProvider struct {
	Repository storage.TransactionalRepository
}

UniqueBindingNameCreateInterceptorProvider provides an interceptor that forbids creation of bindings with the same name in a given tenant

func (*UniqueBindingNameCreateInterceptorProvider) Name added in v0.10.0

func (*UniqueBindingNameCreateInterceptorProvider) Provide added in v0.10.0

type UniqueInstanceNameCreateInterceptorProvider added in v0.10.0

type UniqueInstanceNameCreateInterceptorProvider struct {
	TenantIdentifier string
	Repository       storage.TransactionalRepository
}

UniqueInstanceNameCreateInterceptorProvider provides an interceptor that forbids creation of instances with the same name in a given tenant

func (*UniqueInstanceNameCreateInterceptorProvider) Name added in v0.10.0

func (*UniqueInstanceNameCreateInterceptorProvider) Provide added in v0.10.0

type UniqueInstanceNameUpdateInterceptorProvider added in v0.10.0

type UniqueInstanceNameUpdateInterceptorProvider struct {
	TenantIdentifier string
	Repository       storage.TransactionalRepository
}

UniqueInstanceNameUpdateInterceptorProvider provides an interceptor that forbids updating an instance name that breaks uniqueness in a given tenant

func (*UniqueInstanceNameUpdateInterceptorProvider) Name added in v0.10.0

func (*UniqueInstanceNameUpdateInterceptorProvider) Provide added in v0.10.0

type VirtualResourceCascadeOperationCreateInterceptor added in v0.16.11

type VirtualResourceCascadeOperationCreateInterceptor struct {
	TenantIdentifier string
}

func (*VirtualResourceCascadeOperationCreateInterceptor) OnTxCreate added in v0.16.11

type VirtualResourceCascadeOperationCreateInterceptorProvider added in v0.16.11

type VirtualResourceCascadeOperationCreateInterceptorProvider struct {
	TenantIdentifier string
}

func (*VirtualResourceCascadeOperationCreateInterceptorProvider) Name added in v0.16.11

func (*VirtualResourceCascadeOperationCreateInterceptorProvider) Provide added in v0.16.11

type VisibilityAdditional added in v0.3.0

type VisibilityAdditional struct {
	BrokerID    string             `json:"broker_id"`
	BrokerName  string             `json:"broker_name"`
	ServicePlan *types.ServicePlan `json:"service_plan,omitempty"`
}

func (VisibilityAdditional) Validate added in v0.3.0

func (va VisibilityAdditional) Validate() error

type VisibilityCreateNotificationsInterceptorProvider added in v0.3.0

type VisibilityCreateNotificationsInterceptorProvider struct {
}

func (*VisibilityCreateNotificationsInterceptorProvider) Name added in v0.3.0

func (*VisibilityCreateNotificationsInterceptorProvider) Provide added in v0.3.0

type VisibilityDeleteNotificationsInterceptorProvider added in v0.3.0

type VisibilityDeleteNotificationsInterceptorProvider struct {
}

func (*VisibilityDeleteNotificationsInterceptorProvider) Name added in v0.3.0

func (*VisibilityDeleteNotificationsInterceptorProvider) Provide added in v0.3.0

type VisibilityUpdateNotificationsInterceptorProvider added in v0.3.0

type VisibilityUpdateNotificationsInterceptorProvider struct {
}

func (*VisibilityUpdateNotificationsInterceptorProvider) Name added in v0.3.0

func (*VisibilityUpdateNotificationsInterceptorProvider) Provide added in v0.3.0

Jump to

Keyboard shortcuts

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