Documentation ¶
Index ¶
- type ModelPlugin
- type ModelPluginInfo
- func (p *ModelPluginInfo) Capabilities(ctx context.Context) *gnmi.CapabilityResponse
- func (p *ModelPluginInfo) GetInfo() *ModelPluginInfo
- func (p *ModelPluginInfo) GetPathValues(ctx context.Context, pathPrefix string, jsonData []byte) ([]*configapi.PathValue, error)
- func (p *ModelPluginInfo) Validate(ctx context.Context, jsonData []byte) error
- type PluginRegistry
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ModelPlugin ¶
type ModelPlugin interface { // GetInfo returns the model plugin info GetInfo() *ModelPluginInfo // Capabilities returns the model plugin gNMI capabilities response Capabilities(ctx context.Context) *gnmi.CapabilityResponse // Validate validates the specified JSON configuration against the plugin's schema Validate(ctx context.Context, jsonData []byte) error // GetPathValues extracts typed path values from the specified configuration change JSON GetPathValues(ctx context.Context, pathPrefix string, jsonData []byte) ([]*configapi.PathValue, error) }
ModelPlugin defines the expected behaviour of a model plugin
type ModelPluginInfo ¶ added in v0.10.16
type ModelPluginInfo struct { // The ID is used to identify and index the plugin. // Since the final value (comprised of ModelInfoResponse.ModelInfo.Name and ModelInfoResponse.ModelInfo.Version) // is discovered only after the plugin has been loaded and // a temporary one is generated if the plugin fails to load. // The ID is then used to lookup the plugin when a gNMI Set request is received, // and it is learned via the gNMI Extension 101 and 102 ID string Endpoint string Info api.ModelInfo Client api.ModelPluginServiceClient ReadOnlyPaths path.ReadOnlyPathMap ReadWritePaths path.ReadWritePathMap // Status indicates whether a plugin was correctly loaded Status modelPluginStatus // Error is an optional field populated only if the plugin failed to be correctly discovered Error string }
ModelPluginInfo is a record of information compiled from the configuration model plugin
func (*ModelPluginInfo) Capabilities ¶ added in v0.10.16
func (p *ModelPluginInfo) Capabilities(ctx context.Context) *gnmi.CapabilityResponse
Capabilities returns the model plugin gNMI capabilities response
func (*ModelPluginInfo) GetInfo ¶ added in v0.10.16
func (p *ModelPluginInfo) GetInfo() *ModelPluginInfo
GetInfo returns the model plugin info
func (*ModelPluginInfo) GetPathValues ¶ added in v0.10.16
func (p *ModelPluginInfo) GetPathValues(ctx context.Context, pathPrefix string, jsonData []byte) ([]*configapi.PathValue, error)
GetPathValues extracts typed path values from the specified configuration change JSON
type PluginRegistry ¶
type PluginRegistry interface { // Start the plugin registry Start() // Stop the plugin registry Stop() // GetPlugin returns the plugin with the specified ID GetPlugin(model configapi.TargetType, version configapi.TargetVersion) (ModelPlugin, bool) // GetPlugins returns list of all registered plugins GetPlugins() []ModelPlugin }
PluginRegistry is a set of available configuration model plugins
func NewPluginRegistry ¶
func NewPluginRegistry(endpoints ...string) PluginRegistry
NewPluginRegistry creates a plugin registry that will search the specified gRPC ports to look for model plugins
Click to show internal directories.
Click to hide internal directories.