Documentation ¶
Index ¶
- Constants
- func NewLabelingFilters(labelName, labelKey string, basePaths []string, ...) []web.Filter
- func NewMultitenancyFilters(labelKey string, extractTenantFunc func(request *web.Request) (string, error)) ([]web.Filter, error)
- func NewOIDCAuthnFilter(ctx context.Context, tokenIssuer, clientID string) (*filters.AuthenticationFilter, error)
- func NewRecoveryMiddleware() mux.MiddlewareFunc
- func NewServiceBindingVisibilityFilter(repository storage.Repository, tenantIdentifier string) *serviceBindingVisibilityFilter
- func NewServiceInstanceTransferFilter(repository storage.Repository, enableInstanceTransfer bool) *serviceInstanceTransferFilter
- func NewServiceInstanceVisibilityFilter(repository storage.Repository, ...) *serviceInstanceVisibilityFilter
- func TenantLabelingFilterName() string
- type CheckBrokerCredentialsFilter
- type InstanceVisibilityMetadata
- type LabelingFilter
- type Logging
- type PatchOnlyLabelsFilter
- type PlanFilterByVisibility
- type PlatformAwareVisibilityFilter
- type PlatformIDInstanceValidationFilter
- type ProtectedLabelsFilter
- type ProtectedSMPlatformFilter
- type SelectionCriteria
- type ServiceBindingStripFilter
- type ServiceInstanceStripFilter
- type ServicesFilterByVisibility
- type SupportedEncodingsFilter
Constants ¶
const BearerAuthnFilterName string = "BearerAuthnFilter"
BearerAuthnFilterName is the name of the bearer authentication filter
const (
CheckBrokerCredentialsFilterName = "CheckBrokerCredentialsFilter"
)
const (
// CriteriaFilterName is the name of the criteria filter
CriteriaFilterName = "CriteriaFilter"
)
const LabelCriteriaFilterNameSuffix = "CriteriaFilter"
const LabelName = "Tenant"
sm-dev adopt and add new config properties in the dev en
const (
// LoggingFilterName is the name of the logging filter
LoggingFilterName = "LoggingFilter"
)
const PatchOnlyLabelsFilterName = "PatchOnlyLabelsFilter"
const PlanVisibilityFilterName = "PlanFilterByVisibility"
const PlatformAwareVisibilityFilterName = "PlatformAwareVisibilityFilter"
const (
PlatformIDInstanceValidationFilterName = "PlatformIDInstanceValidationFilter"
)
const ProtectedLabelsFilterName = "ProtectedLabelsFilter"
const ProtectedSMPlatformFilterName = "ProtectedSMPlatformFilter"
const ResourceLabelingFilterNameSuffix = "LabelingFilter"
const ServiceBindingStripFilterName = "ServiceBindingStripFilter"
const ServiceBindingVisibilityFilterName = "ServiceBindingVisibilityFilter"
const ServiceInstanceStripFilterName = "ServiceInstanceStripFilter"
const ServiceInstanceTransferFilterName = "ServiceInstanceTransferFilter"
const ServiceInstanceVisibilityFilterName = "ServiceInstanceVisibilityFilter"
const ServicesVisibilityFilterName = "ServicesFilterByVisibility"
const (
SupportedEncodingsFilterName = "SupportedEncodingsFilter"
)
Variables ¶
This section is empty.
Functions ¶
func NewLabelingFilters ¶ added in v0.13.0
func NewLabelingFilters(labelName, labelKey string, basePaths []string, extractValueFunc func(request *web.Request) (string, error)) []web.Filter
NewLabelingFilters returns set of filters which applies resource labeling rules
func NewMultitenancyFilters ¶ added in v0.4.1
func NewMultitenancyFilters(labelKey string, extractTenantFunc func(request *web.Request) (string, error)) ([]web.Filter, error)
NewMultitenancyFilters returns set of filters which applies multitenancy rules
func NewOIDCAuthnFilter ¶ added in v0.3.3
func NewOIDCAuthnFilter(ctx context.Context, tokenIssuer, clientID string) (*filters.AuthenticationFilter, error)
NewOIDCAuthnFilter returns a web.Filter for Bearer authentication
func NewRecoveryMiddleware ¶
func NewRecoveryMiddleware() mux.MiddlewareFunc
NewRecoveryMiddleware returns a standard mux middleware that provides panic recovery
func NewServiceBindingVisibilityFilter ¶ added in v0.10.0
func NewServiceBindingVisibilityFilter(repository storage.Repository, tenantIdentifier string) *serviceBindingVisibilityFilter
NewServiceBindingVisibilityFilter creates a new serviceInstanceVisibilityFilter filter
func NewServiceInstanceTransferFilter ¶ added in v0.13.0
func NewServiceInstanceTransferFilter(repository storage.Repository, enableInstanceTransfer bool) *serviceInstanceTransferFilter
func NewServiceInstanceVisibilityFilter ¶ added in v0.10.0
func NewServiceInstanceVisibilityFilter(repository storage.Repository, getInstanceVisibilityMetadata func(req *web.Request, repository storage.Repository) (*InstanceVisibilityMetadata, error)) *serviceInstanceVisibilityFilter
NewServiceInstanceVisibilityFilter creates a new serviceInstanceVisibilityFilter filter
func TenantLabelingFilterName ¶ added in v0.4.1
func TenantLabelingFilterName() string
TenantLabelingFilterName returns the name of the filter that is adding the tenant label to tenant-scoped resources
Types ¶
type CheckBrokerCredentialsFilter ¶ added in v0.9.10
type CheckBrokerCredentialsFilter struct { }
CheckBrokerCredentialsFilter checks patch request for the broker basic credentials
func (*CheckBrokerCredentialsFilter) FilterMatchers ¶ added in v0.9.10
func (*CheckBrokerCredentialsFilter) FilterMatchers() []web.FilterMatcher
func (*CheckBrokerCredentialsFilter) Name ¶ added in v0.9.10
func (*CheckBrokerCredentialsFilter) Name() string
type InstanceVisibilityMetadata ¶ added in v0.11.0
type InstanceVisibilityMetadata struct { PlatformID string PlatformType string LabelKey string LabelValue string }
InstanceVisibilityMetadata contains metadata required for visibility checks during instance creation
type LabelingFilter ¶ added in v0.13.0
type LabelingFilter struct { // LabelKey is the key of the label LabelKey string ExtractValue func(request *web.Request) (string, error) LabelingFunc func(request *web.Request, labelKey, labelValue string) error FilterName string BasePaths []string Methods []string }
LabelingFilter applies labeling on the resources based on extracted values
func (*LabelingFilter) FilterMatchers ¶ added in v0.13.0
func (f *LabelingFilter) FilterMatchers() []web.FilterMatcher
FilterMatchers implements web.Filter.FilterMatchers and specifies that the filter should run on configured method
func (*LabelingFilter) Name ¶ added in v0.13.0
func (f *LabelingFilter) Name() string
Name implements web.Named and returns the filter name
type Logging ¶
type Logging struct { }
Logging is filter that configures logging per request.
func (*Logging) FilterMatchers ¶
func (*Logging) FilterMatchers() []web.FilterMatcher
FilterMatchers implements the web.Filter interface and returns the conditions on which the filter should be executed.
type PatchOnlyLabelsFilter ¶ added in v0.3.3
type PatchOnlyLabelsFilter struct { }
PatchOnlyLabelsFilter checks patch request for service offerings and plans include only label changes
func (*PatchOnlyLabelsFilter) FilterMatchers ¶ added in v0.3.3
func (*PatchOnlyLabelsFilter) FilterMatchers() []web.FilterMatcher
func (*PatchOnlyLabelsFilter) Name ¶ added in v0.3.3
func (*PatchOnlyLabelsFilter) Name() string
type PlanFilterByVisibility ¶ added in v0.6.0
type PlanFilterByVisibility struct {
// contains filtered or unexported fields
}
func NewPlansFilterByVisibility ¶ added in v0.6.0
func NewPlansFilterByVisibility(repository storage.Repository) *PlanFilterByVisibility
func (*PlanFilterByVisibility) FilterMatchers ¶ added in v0.6.0
func (vf *PlanFilterByVisibility) FilterMatchers() []web.FilterMatcher
func (*PlanFilterByVisibility) Name ¶ added in v0.6.0
func (vf *PlanFilterByVisibility) Name() string
type PlatformAwareVisibilityFilter ¶ added in v0.2.0
type PlatformAwareVisibilityFilter struct { }
func (*PlatformAwareVisibilityFilter) FilterMatchers ¶ added in v0.2.0
func (*PlatformAwareVisibilityFilter) FilterMatchers() []web.FilterMatcher
func (*PlatformAwareVisibilityFilter) Name ¶ added in v0.2.0
func (*PlatformAwareVisibilityFilter) Name() string
type PlatformIDInstanceValidationFilter ¶ added in v0.13.0
type PlatformIDInstanceValidationFilter struct { }
PlatformIDInstanceValidationFilter ensures that if a platform is provided for provisioning request that it's the SM Platform. It also limits Patch and Delete requests to instances created in the SM platform. In addition PATCH requests that transfer instances to SM platform are also allowed.
func (*PlatformIDInstanceValidationFilter) FilterMatchers ¶ added in v0.13.0
func (*PlatformIDInstanceValidationFilter) FilterMatchers() []web.FilterMatcher
func (*PlatformIDInstanceValidationFilter) Name ¶ added in v0.13.0
func (*PlatformIDInstanceValidationFilter) Name() string
type ProtectedLabelsFilter ¶ added in v0.4.1
type ProtectedLabelsFilter struct {
// contains filtered or unexported fields
}
ProtectedLabelsFilter checks for forbidden labels being modified/added
func NewProtectedLabelsFilter ¶ added in v0.4.1
func NewProtectedLabelsFilter(forbiddenLabels []string) *ProtectedLabelsFilter
NewProtectedLabelsFilter creates new filter for forbidden labels
func (*ProtectedLabelsFilter) FilterMatchers ¶ added in v0.4.1
func (flo *ProtectedLabelsFilter) FilterMatchers() []web.FilterMatcher
func (*ProtectedLabelsFilter) Name ¶ added in v0.4.1
func (flo *ProtectedLabelsFilter) Name() string
type ProtectedSMPlatformFilter ¶ added in v0.10.0
type ProtectedSMPlatformFilter struct { }
ProtectedSMPlatformFilter disallows patching and deleting of the service manager platform
func (*ProtectedSMPlatformFilter) FilterMatchers ¶ added in v0.10.0
func (f *ProtectedSMPlatformFilter) FilterMatchers() []web.FilterMatcher
func (*ProtectedSMPlatformFilter) Name ¶ added in v0.10.0
func (f *ProtectedSMPlatformFilter) Name() string
type SelectionCriteria ¶ added in v0.1.8
type SelectionCriteria struct { }
SelectionCriteria is filter that configures selection criteria per request.
func (*SelectionCriteria) FilterMatchers ¶ added in v0.1.8
func (*SelectionCriteria) FilterMatchers() []web.FilterMatcher
FilterMatchers implements the web.Filter interface and returns the conditions on which the filter should be executed.
func (*SelectionCriteria) Name ¶ added in v0.1.8
func (*SelectionCriteria) Name() string
Name implements the web.Filter interface and returns the identifier of the filter.
type ServiceBindingStripFilter ¶ added in v0.10.0
type ServiceBindingStripFilter struct { }
ServiceBindingStripFilter checks post request body for unmodifiable properties
func (*ServiceBindingStripFilter) FilterMatchers ¶ added in v0.10.0
func (*ServiceBindingStripFilter) FilterMatchers() []web.FilterMatcher
func (*ServiceBindingStripFilter) Name ¶ added in v0.10.0
func (*ServiceBindingStripFilter) Name() string
type ServiceInstanceStripFilter ¶ added in v0.10.0
type ServiceInstanceStripFilter struct { }
ServiceInstanceStripFilter checks post/patch request body for unmodifiable properties
func (*ServiceInstanceStripFilter) FilterMatchers ¶ added in v0.10.0
func (*ServiceInstanceStripFilter) FilterMatchers() []web.FilterMatcher
func (*ServiceInstanceStripFilter) Name ¶ added in v0.10.0
func (*ServiceInstanceStripFilter) Name() string
type ServicesFilterByVisibility ¶ added in v0.6.0
type ServicesFilterByVisibility struct {
// contains filtered or unexported fields
}
func NewServicesFilterByVisibility ¶ added in v0.6.0
func NewServicesFilterByVisibility(repository storage.Repository) *ServicesFilterByVisibility
func (*ServicesFilterByVisibility) FilterMatchers ¶ added in v0.6.0
func (vf *ServicesFilterByVisibility) FilterMatchers() []web.FilterMatcher
func (*ServicesFilterByVisibility) Name ¶ added in v0.6.0
func (vf *ServicesFilterByVisibility) Name() string
type SupportedEncodingsFilter ¶ added in v0.11.0
type SupportedEncodingsFilter struct { }
func (*SupportedEncodingsFilter) FilterMatchers ¶ added in v0.11.0
func (*SupportedEncodingsFilter) FilterMatchers() []web.FilterMatcher
func (*SupportedEncodingsFilter) Name ¶ added in v0.11.0
func (*SupportedEncodingsFilter) Name() string
Source Files ¶
- checkBrokerCredentials.go
- check_binding_visibility_filter.go
- check_instance_transfer_filter.go
- check_instance_visibility_filter.go
- helpers.go
- labeling_filter.go
- logging.go
- oidc_authentication.go
- patch_labels_only.go
- plans_filter_by_visibility.go
- platform_id_instance_validation_filter.go
- protected_labels.go
- protected_sm_platform_filter.go
- recovery.go
- selection_criteria.go
- service_binding_strip_filter.go
- service_instance_strip_filter.go
- services_filter_by_visibility.go
- supported_encodings_filter.go
- tenant_filter.go
- visibility_filtering_middleware.go
- visibility_for_platform.go