Documentation
¶
Index ¶
- Constants
- func AllCapabilities() map[string]map[string]CapabilitySpec
- func CapabilitiesFor(integration string) map[string]CapabilitySpec
- func RegisterCapability(integration, name string, spec CapabilitySpec)
- type CallRule
- type CallerConfig
- type CapabilityConfig
- type CapabilitySpec
- type RequestConstraint
Constants ¶
View Source
const DangerouslyAllowFullAccess = "dangerously_allow_full_access"
View Source
const GlobalIntegration = "*"
Variables ¶
This section is empty.
Functions ¶
func AllCapabilities ¶
func AllCapabilities() map[string]map[string]CapabilitySpec
ListCapabilities exposes capability names for CLI usage.
func CapabilitiesFor ¶
func CapabilitiesFor(integration string) map[string]CapabilitySpec
func RegisterCapability ¶
func RegisterCapability(integration, name string, spec CapabilitySpec)
Types ¶
type CallRule ¶
type CallRule struct {
Path string `json:"path" yaml:"path"`
Methods map[string]RequestConstraint `json:"methods" yaml:"methods,omitempty"`
Segments []string `json:"-" yaml:"-"`
}
CallRule ties a path pattern to method-specific constraints.
type CallerConfig ¶
type CallerConfig struct {
ID string `json:"id" yaml:"id"`
Capabilities []CapabilityConfig `json:"capabilities,omitempty" yaml:"capabilities,omitempty"`
Rules []CallRule `json:"rules" yaml:"rules,omitempty"`
}
func ExpandCapabilities ¶
func ExpandCapabilities(integration string, callers []CallerConfig) []CallerConfig
expandCapabilities converts declared capabilities into explicit allow rules.
type CapabilityConfig ¶
type CapabilityConfig struct {
Name string `json:"name"`
Params map[string]interface{} `json:"params"`
}
CapabilityConfig defines a named capability and optional parameters.
type CapabilitySpec ¶
type CapabilitySpec struct {
Params []string
Generate func(map[string]interface{}) ([]CallRule, error)
}
CapabilitySpec converts capability params into call rules.
type RequestConstraint ¶
type RequestConstraint struct {
Headers map[string][]string `json:"headers" yaml:"headers,omitempty"`
Query map[string][]string `json:"query" yaml:"query,omitempty"`
Body map[string]interface{} `json:"body" yaml:"body,omitempty"`
}
RequestConstraint lists required headers and body parameters.
Click to show internal directories.
Click to hide internal directories.