Versions in this module Expand all Collapse all v0 v0.0.1 Jan 1, 2026 Changes in this version + type CachedDetectionResult struct + DetectedAt time.Time + ExpiresAt time.Time + Result *DetectionResult + type CatalogDefault struct + Manufacturer string + Platform string + type CheckConfig struct + OID string + Port int + Retries int + Timeout string + Type string + type CollectItem struct + Fallback []FallbackItem + Method string + Name string + Output string + Required bool + SNMPConfig *SNMPItemConfig + SSHConfig *SSHItemConfig + Target string + Timeout string + Type string + type CollectStrategy struct + Collect []CollectItem + Conditions []Condition + Name string + Priority int + type CollectedData map[string]string + type Condition struct + Available bool + Protocol string + type ConfigMatcher struct + func NewConfigMatcher(templatePath string, pipelineService *ps.PipelineService) (*ConfigMatcher, error) + func (cm *ConfigMatcher) Match(manufacturer, platform, version, catalog string) (*structs.DeviceConfig, error) + type ConfigMatcherConfig struct + DefaultConfigs map[string]string + Name string + Strategies []MatchingStrategy + VersionMappings []VersionMapping + type ConnectivityCheckConfig struct + Name string + Protocols []ProtocolConfig + Timeout string + type ConnectivityChecker struct + func NewConnectivityChecker(templatePath string) (*ConnectivityChecker, error) + func (cc *ConnectivityChecker) Check(req *DetectionRequest) (map[string]bool, error) + type DetectionCache struct + func NewDetectionCache(ttl time.Duration) *DetectionCache + func (dc *DetectionCache) CleanExpired() + func (dc *DetectionCache) Clear() + func (dc *DetectionCache) Get(ip string) (*DetectionResult, bool) + func (dc *DetectionCache) Remove(ip string) + func (dc *DetectionCache) Set(ip string, result *DetectionResult) + type DetectionRequest struct + IP string + SNMPCommunity string + SSHCredentials *SSHCredentials + TelnetCredentials *TelnetCredentials + type DetectionResult struct + Catalog string + Confidence float64 + DetectedAt time.Time + DeviceConfig *structs.DeviceConfig + Errors []error + Manufacturer string + Platform string + Version string + type DetectionRule struct + Catalog string + Manufacturer string + Name string + Patterns []Pattern + Platform string + Priority int + Score float64 + VersionExtract *VersionExtractRule + type DeviceDetector struct + func NewDeviceDetector(templatePath string) (*DeviceDetector, error) + func (dd *DeviceDetector) Detect(req *DetectionRequest) (*DetectionResult, error) + func (dd *DeviceDetector) VerifyDetection(req *DetectionRequest, result *DetectionResult) error + type DeviceInfoCollectConfig struct + Name string + Retries int + Strategies []CollectStrategy + Timeout string + type FallbackItem struct + Target string + type FallbackPath struct + PathTemplate string + type InfoCollector struct + func NewInfoCollector(templatePath string) (*InfoCollector, error) + func (ic *InfoCollector) Collect(req *DetectionRequest, protocols map[string]bool) (CollectedData, error) + type MatchConfig struct + Catalog string + Manufacturer string + Platform string + Version string + type MatchingStrategy struct + CatalogDefaults map[string]CatalogDefault + DefaultPlatforms map[string]string + Fallback []FallbackPath + Match MatchConfig + Name string + PathTemplate string + Priority int + type Pattern struct + Confidence float64 + Regex string + Required bool + Source string + type ProtocolConfig struct + Check CheckConfig + Enabled bool + Name string + Priority int + type ProtocolResult struct + Available bool + Error error + Protocol string + type RuleLoader struct + func NewRuleLoader(templatePath string) (*RuleLoader, error) + func (rl *RuleLoader) GetMatchedRule(collectedData CollectedData) *DetectionRule + func (rl *RuleLoader) GetRules() []DetectionRule + func (rl *RuleLoader) LoadRules() error + func (rl *RuleLoader) MatchRules(collectedData CollectedData) (*DetectionResult, error) + type SNMPItemConfig struct + ClassifierPositions []int + IndexPositions []int + PrefixMap map[string]string + type SSHCredentials struct + Password string + Port int + PrivateKey string + Username string + type SSHItemConfig struct + Port int + Timeout string + type TelnetCredentials struct + Password string + Port int + Username string + type VersionExtractRule struct + Groups []string + Regex string + Source string + type VersionExtractor struct + func NewVersionExtractor() *VersionExtractor + func (ve *VersionExtractor) Extract(collectedData CollectedData, rule *DetectionRule) string + type VersionMapping struct + Pattern string + Template string