config

package
v0.15.3 Latest Latest
Warning

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

Go to latest
Published: Mar 27, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Password    string          `yaml:"password"`
	Targets     []string        `yaml:"targets,omitempty"`
	Devices     []*DeviceConfig `yaml:"devices,omitempty"`
	Features    FeatureConfig   `yaml:"features,omitempty"`
	LSEnabled   bool            `yaml:"logical_systems,omitempty"`
	IfDescReStr string          `yaml:"interface_description_regex,omitempty"`
	IfDescReg   *regexp.Regexp  `yaml:"-"`
}

Config represents the configuration for the exporter

func Load

func Load(reader io.Reader, dynamicIfaceLabels bool) (*Config, error)

Load loads a config from reader

func New

func New() *Config

New creates a new config

func (*Config) FeaturesForDevice

func (c *Config) FeaturesForDevice(host string) *FeatureConfig

FeaturesForDevice gets the feature set configured for a device

func (*Config) FindDeviceConfig

func (c *Config) FindDeviceConfig(host string) *DeviceConfig

type DeviceConfig

type DeviceConfig struct {
	Host          string         `yaml:"host"`
	Username      string         `yaml:"username,omitempty"`
	Password      string         `yaml:"password,omitempty"`
	KeyFile       string         `yaml:"key_file,omitempty"`
	KeyPassphrase string         `yaml:"key_passphrase,omitempty"`
	Features      *FeatureConfig `yaml:"features,omitempty"`
	IfDescRegStr  string         `yaml:"interface_description_regex,omitempty"`
	IfDescReg     *regexp.Regexp `yaml:"-"`
	IsHostPattern bool           `yaml:"host_pattern,omitempty"`
	HostPattern   *regexp.Regexp
}

DeviceConfig is the config representation of 1 device

type FeatureConfig

type FeatureConfig struct {
	Alarm               bool `yaml:"alarm,omitempty"`
	NTP                 bool `yaml:"ntp,omitempty"`
	Environment         bool `yaml:"environment,omitempty"`
	BFD                 bool `yaml:"bfd,omitempty"`
	BGP                 bool `yaml:"bgp,omitempty"`
	DOT1X               bool `yaml:"dot1x,omitempty"`
	OSPF                bool `yaml:"ospf,omitempty"`
	ISIS                bool `yaml:"isis,omitempty"`
	NAT                 bool `yaml:"nat,omitempty"`
	NAT2                bool `yaml:"nat2,omitempty"`
	L2Circuit           bool `yaml:"l2circuit,omitempty"`
	L2Vpn               bool `yaml:"l2vpn,omitempty"`
	LACP                bool `yaml:"lacp,omitempty"`
	LDP                 bool `yaml:"ldp,omitempty"`
	LLDP                bool `yaml:"lldp,omitempty"`
	Routes              bool `yaml:"routes,omitempty"`
	RoutingEngine       bool `yaml:"routing_engine,omitempty"`
	Firewall            bool `yaml:"firewall,omitempty"`
	Interfaces          bool `yaml:"interfaces,omitempty"`
	InterfaceDiagnostic bool `yaml:"interface_diagnostic,omitempty"`
	InterfaceQueue      bool `yaml:"interface_queue,omitempty"`
	Storage             bool `yaml:"storage,omitempty"`
	Accounting          bool `yaml:"accounting,omitempty"`
	IPSec               bool `yaml:"ipsec,omitempty"`
	Cluster             bool `yaml:"cluster,omitempty"`
	Security            bool `yaml:"security,omitempty"`
	SecurityIKE         bool `yaml:"security_ike,omitempty"`
	SecurityPolicies    bool `yaml:"security_policies,omitempty"`
	FPC                 bool `yaml:"fpc,omitempty"`
	RPKI                bool `yaml:"rpki,omitempty"`
	RPM                 bool `yaml:"rpm,omitempty"`
	Satellite           bool `yaml:"satellite,omitempty"`
	System              bool `yaml:"system,omitempty"`
	Power               bool `yaml:"power,omitempty"`
	MAC                 bool `yaml:"mac,omitempty"`
	MPLSLSP             bool `yaml:"mpls_lsp,omitempty"`
	VPWS                bool `yaml:"vpws,omitempty"`
	VRRP                bool `yaml:"vrrp,omitempty"`
	License             bool `yaml:"license,omitempty"`
	Subscriber          bool `yaml:"subscriber,omitempty"`
	MACSec              bool `yaml:"macsec,omitempty"`
	ARP                 bool `yaml:"arp,omitempty"`
	Poe                 bool `yaml:"poe,omitempty"`
	DDOSProtection      bool `yaml:"ddos_protection,omitempty"`
	KRT                 bool `yaml:"krt,omitempty"`
	TWAMP               bool `yaml:"twamp,omitempty"`
	SystemStatistics    bool `yaml:"system_statistics,omitempty"`
}

FeatureConfig is the list of collectors enabled or disabled

Jump to

Keyboard shortcuts

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