Documentation ¶
Index ¶
- Variables
- func IsValidScanInterval(scanInterval string) bool
- type Detector
- type ElementList
- type EnumValue
- type Event
- type EventParam
- type ForeignSourceDef
- type LogMsg
- type Mask
- type MaskElement
- type MetaData
- type MetaDataList
- type MonitoringLocation
- type MonitoringLocationList
- type NumericAttribute
- type OnmsAlarm
- type OnmsAlarmList
- type OnmsAssetRecord
- type OnmsCategory
- type OnmsCategoryList
- type OnmsEvent
- type OnmsEventList
- type OnmsEventParam
- type OnmsIPInterface
- type OnmsIPInterfaceList
- type OnmsInfo
- type OnmsInfoDatetimeFormat
- type OnmsMonitoredService
- type OnmsMonitoredServiceList
- type OnmsNode
- type OnmsNodeList
- type OnmsOutage
- type OnmsOutageList
- type OnmsServiceType
- type OnmsSnmpInterface
- type OnmsSnmpInterfaceList
- type Parameter
- type Plugin
- type PluginList
- type PluginParam
- type Policy
- type Profile
- type ProfilesConfig
- type Requisition
- type RequisitionAsset
- type RequisitionCategory
- type RequisitionInterface
- func (intf *RequisitionInterface) AddMetaData(key string, value string)
- func (intf *RequisitionInterface) AddService(svc *RequisitionMonitoredService)
- func (intf *RequisitionInterface) DeleteMetaData(key string)
- func (intf *RequisitionInterface) GetService(serviceName string) *RequisitionMonitoredService
- func (intf *RequisitionInterface) Merge(source RequisitionInterface) error
- func (intf *RequisitionInterface) SetMetaData(key string, value string)
- func (intf *RequisitionInterface) Validate() error
- type RequisitionMetaData
- type RequisitionMonitoredService
- type RequisitionNode
- func (n *RequisitionNode) AddInterface(intf *RequisitionInterface)
- func (n *RequisitionNode) AddMetaData(key string, value string)
- func (n *RequisitionNode) DeleteMetaData(key string)
- func (n *RequisitionNode) GetInterface(ipAddress string) *RequisitionInterface
- func (n *RequisitionNode) Merge(source RequisitionNode) error
- func (n *RequisitionNode) SetMetaData(key string, value string)
- func (n *RequisitionNode) Validate() error
- type RequisitionStats
- type RequisitionsList
- type RequisitionsStats
- type Resource
- type ResourceList
- type SNMP
- type ScheduledInterface
- type ScheduledNode
- type ScheduledOutage
- type ScheduledOutageList
- type ScheduledTime
- type SnmpInfo
- type Time
- func (t Time) MarshalJSON() ([]byte, error)
- func (t Time) MarshalXML(e *xml.Encoder, start xml.StartElement) error
- func (t Time) MarshalYAML() ([]byte, error)
- func (t *Time) UnmarshalJSON(data []byte) error
- func (t *Time) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
- func (t *Time) UnmarshalYAML(data []byte) error
Constants ¶
This section is empty.
Variables ¶
var ( // Severities list of valid event severities Severities = EnumValue{ Enum: []string{"Indeterminate", "Normal", "Warning", "Minor", "Major", "Critical"}, } // Destinations for logMsg Destinations = EnumValue{ Enum: []string{"logndisplay", "displayonly", "logonly", "suppress", "donotpersist"}, } )
var AllowFqdnOnRequisitionedInterfaces = true
AllowFqdnOnRequisitionedInterfaces when this is true, if the content of an IP Address is a FQDN it will be translated into a valid IPv4
var SNMPAuthProtocols = &EnumValue{ Enum: []string{"MD5", "SHA"}, }
SNMPAuthProtocols the Authentication Protocols enumeration
var SNMPPrivProtocols = &EnumValue{ Enum: []string{"DES", "AES", "AES192", "AES256"}, }
SNMPPrivProtocols the Private Protocols enumeration
var SNMPVersions = &EnumValue{ Enum: []string{"v1", "v2c", "v3"}, Default: "v2c", }
SNMPVersions the SNMP version enumeration
var ScheduledTypes = EnumValue{ Enum: []string{"specific", "daily", "weekly", "monthly"}, }
ScheduledTypes list of valid scheduled outage types
var WeekDays = EnumValue{ Enum: []string{"monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"}, }
WeekDays list of valid week days
Functions ¶
func IsValidScanInterval ¶
IsValidScanInterval checks if a given scan-interval is valid
Types ¶
type Detector ¶
type Detector struct { XMLName xml.Name `xml:"detector" json:"-" yaml:"-"` Name string `xml:"name,attr" json:"name" yaml:"name"` Class string `xml:"class,attr" json:"class" yaml:"class"` Parameters []Parameter `xml:"parameter,omitempty" json:"parameter,omitempty" yaml:"parameters,omitempty"` }
Detector a provisioning detector
type ElementList ¶
type ElementList struct { Count int `json:"count" yaml:"count"` Element []string `json:"element" yaml:"element"` }
ElementList a list of elements/strings
type EnumValue ¶
EnumValue a enumaration array of strings
func (EnumValue) EnumAsString ¶
EnumAsString gets a CSV with all the values on the enum
type Event ¶
type Event struct { SnmpMask *Mask `json:"mask,omitempty" yaml:"mask,omitempty"` Snmp *SNMP `json:"snmp,omitempty" yaml:"snmp,omitempty"` LogMessage *LogMsg `json:"logmsg,omitempty" yaml:"logmsg,omitempty"` UEI string `json:"uei" yaml:"uei"` Source string `json:"source" yaml:"source"` Time string `json:"time,omitempty" yaml:"time,omitempty"` Host string `json:"host,omitempty" yaml:"host,omitempty"` MasterStation string `json:"master-station,omitempty" yaml:"masterStation,omitempty"` NodeID int64 `json:"nodeid,omitempty" yaml:"nodeID,omitempty"` Interface string `json:"interface,omitempty" yaml:"interface,omitempty"` Service string `json:"service,omitempty" yaml:"service,omitempty"` IfIndex int `json:"ifIndex,omitempty" yaml:"ifIndex,omitempty"` SnmpHost string `json:"snmphost,omitempty" yaml:"snmpHost,omitempty"` Parameters []EventParam `json:"parms,omitempty" yaml:"parameters,omitempty"` Description string `json:"descr,omitempty" yaml:"description,omitempty"` Severity string `json:"severity,omitempty" yaml:"severity,omitempty"` PathOutage string `json:"pathoutage,omitempty" yaml:"pathOutage,omitempty"` OperInstruct string `json:"operinstruct,omitempty" yaml:"operInstruct,omitempty"` }
Event an event object Time uses a string format. Example: "Saturday, July 13, 2019 2:13:43 PM GMT"
func (*Event) AddParameter ¶
AddParameter adds a new parameter to the event
type EventParam ¶
type EventParam struct { Name string `json:"parmName" yaml:"name"` Value string `json:"value" yaml:"value"` }
EventParam an event parameter object
type ForeignSourceDef ¶
type ForeignSourceDef struct { XMLName xml.Name `xml:"foreign-source" json:"-" yaml:"-"` Name string `xml:"name,attr" json:"name" yaml:"name"` DateStamp *Time `xml:"date-stamp,attr,omitempty" json:"date-stamp,omitempty" yaml:"dateStamp,omitempty"` ScanInterval string `xml:"scan-interval" json:"scan-interval" yaml:"scanInterval"` Detectors []Detector `xml:"detectors>detector" json:"detectors,omitempty" yaml:"detectors,omitempty"` Policies []Policy `xml:"policies>policy" json:"policies,omitempty" yaml:"policies,omitempty"` }
ForeignSourceDef a foreign source definition
func (ForeignSourceDef) GetDetector ¶
func (fs ForeignSourceDef) GetDetector(detectorID string) (*Detector, error)
GetDetector gets a detector by its name or class
func (ForeignSourceDef) GetPolicy ¶
func (fs ForeignSourceDef) GetPolicy(policyID string) (*Policy, error)
GetPolicy gets a policy by its name or class
func (*ForeignSourceDef) Validate ¶
func (fs *ForeignSourceDef) Validate() error
Validate returns an error if the node definition is invalid
type LogMsg ¶
type LogMsg struct { Message string `json:"value" yaml:"message"` Notify bool `json:"notify" yaml:"notify"` Destination string `json:"dest" yaml:"destination"` }
LogMsg the event log message
type Mask ¶
type Mask struct {
Elements []MaskElement `json:"maskelement,omitempty" yaml:"maskElement,omitempty"`
}
Mask an event mask object
type MaskElement ¶
type MaskElement struct { Name string `json:"mename" yaml:"mename"` Values []string `json:"mevalue" yaml:"mevalue"` }
MaskElement an event mask element object
type MetaData ¶
type MetaData struct { XMLName xml.Name `xml:"meta-data" json:"-" yaml:"-"` Key string `xml:"key" json:"key" yaml:"key"` Value string `xml:"value" json:"value" yaml:"value"` Context string `xml:"context" json:"context" yaml:"context"` }
MetaData a meta-data entry
type MetaDataList ¶
type MetaDataList struct { XMLName xml.Name `xml:"meta-data-list" json:"-" yaml:"-"` Count int `xml:"count,attr" json:"count" yaml:"count"` TotalCount int `xml:"totalCount,attr" json:"totalCount" yaml:"totalCount"` Offset int `xml:"offset,attr" json:"offset" yaml:"offset"` Metadata []MetaData `xml:"meta-data" json:"metaData" yaml:"metadata"` }
MetaDataList a list of metadata
type MonitoringLocation ¶
type MonitoringLocation struct { Tags []string `json:"tags,omitempty" yaml:"tags,omitempty"` GeoLocation string `json:"geolocation,omitempty" yaml:"geoLocation,omitempty"` Latitude float64 `json:"latitude,omitempty" yaml:"latitude,omitempty"` Longitude float64 `json:"longitude,omitempty" yaml:"longitude,omitempty"` LocationName string `json:"location-name,omitempty" yaml:"name,omitempty"` Priority int `json:"priority,omitempty" yaml:"priority,omitempty"` MonitoringArea string `json:"monitoring-area,omitempty" yaml:"monitoringArea,omitempty"` PollingPackageNames []string `json:"polling-package-names,omitempty" yaml:"pollingPackageNames,omitempty"` CollectionPackageNames []string `json:"collection-package-names,omitempty" yaml:"collectionPackageNames,omitempty"` }
MonitoringLocation an OpenNMS Location
type MonitoringLocationList ¶
type MonitoringLocationList struct { Count int `json:"count" yaml:"count"` TotalCount int `json:"totalCount" yaml:"totalCount"` Offset int `json:"offset" yaml:"offset"` Locations []MonitoringLocation `json:"location" yaml:"locations"` }
MonitoringLocationList a list of monitoring locations
type NumericAttribute ¶
type NumericAttribute struct { Name string `json:"name" yaml:"-"` RelativePath string `json:"relativePath,omitempty" yaml:"relativePath,omitempty"` RrdFile string `json:"rrdFile" yaml:"rrdFile"` }
NumericAttribute a numeric attribute
type OnmsAlarm ¶
type OnmsAlarm struct { // Inherit from Events ID int `json:"id" yaml:"id"` UEI string `json:"uei" yaml:"uei"` EventTime *Time `json:"time,omitempty" yaml:"time,omitempty"` EventHost string `json:"host,omitempty" yaml:"host,omitempty"` EventSource string `json:"source,omitempty" yaml:"source,omitempty"` CreateTime *Time `json:"createTime,omitempty" yaml:"createTime,omitempty"` SnmpHost string `json:"snmpHost,omitempty" yaml:"snmpHost,omitempty"` Snmp string `json:"snmp,omitempty" yaml:"snmp,omitempty"` NodeID int `json:"nodeId,omitempty" yaml:"nodeId,omitempty"` NodeLabel string `json:"nodeLabel,omitempty" yaml:"nodeLabel,omitempty"` IPAddress string `json:"ipAddress,omitempty" yaml:"ipAddress,omitempty"` ServiceType OnmsServiceType `json:"serviceType,omitempty" yaml:"serviceType,omitempty"` IfIndex int `json:"ifIndex,omitempty" yaml:"ifIndex,omitempty"` Severity string `json:"severity,omitempty" yaml:"severity,omitempty"` Log string `json:"log,omitempty" yaml:"log,omitempty"` LogGroup string `json:"logGroup,omitempty" yaml:"logGroup,omitempty"` LogMessage string `json:"logMessage,omitempty" yaml:"logMessage,omitempty"` Display string `json:"display,omitempty" yaml:"display,omitempty"` Description string `json:"description,omitempty" yaml:"description,omitempty"` PathOutage string `json:"pathOutage,omitempty" yaml:"pathOutage,omitempty"` Correlation string `json:"correlation,omitempty" yaml:"correlation,omitempty"` SuppressedCount int `json:"suppressedCount,omitempty" yaml:"suppressedCount,omitempty"` OperatorInstructions string `json:"operatorInstructions,omitempty" yaml:"operatorInstructions,omitempty"` OperatorAction string `json:"operatorAction,omitempty" yaml:"operatorAction,omitempty"` AutoAction string `json:"autoAction,omitempty" yaml:"autoAction,omitempty"` Parameters []OnmsEventParam `json:"parameters,omitempty" yaml:"parameters,omitempty"` // Alarm fields ReductionKey string `json:"reductionKey,omitempty" yaml:"reductionKey,omitempty"` ClearKey string `json:"clearKey,omitempty" yaml:"clearKey,omitempty"` Type int `json:"type,omitempty" yaml:"type,omitempty"` Count int `json:"count,omitempty" yaml:"count,omitempty"` TroubleTicketID string `json:"troubleTicket,omitempty" yaml:"troubleTicket,omitempty"` TroubleTicketState int `json:"troubleTicketState" yaml:"troubleTicketState"` TroubleTicketLink string `json:"troubleTicketLink,omitempty" yaml:"troubleTicketLink,omitempty"` SuppressedUntil *Time `json:"suppressedUntil,omitempty" yaml:"suppressedUntil,omitempty"` SuppressedBy string `json:"suppressedBy,omitempty" yaml:"suppressedBy,omitempty"` SuppressedTime *Time `json:"suppressedTime,omitempty" yaml:"suppressedTime,omitempty"` AckID int `json:"ackId,omitempty" yaml:"ackId,omitempty"` AckUser string `json:"ackUser,omitempty" yaml:"ackUser,omitempty"` AckTime *Time `json:"ackTime,omitempty" yaml:"ackTime,omitempty"` ApplicationDN string `json:"applicationDN,omitempty" yaml:"applicationDN,omitempty"` ManagedObjectInstance string `json:"managedObjectInstance,omitempty" yaml:"managedObjectInstance,omitempty"` ManagedObjectType string `json:"managedObjectType,omitempty" yaml:"managedObjectType,omitempty"` OssPrimaryKey string `json:"ossPrimaryKey,omitempty" yaml:"ossPrimaryKey,omitempty"` X733AlarmType string `json:"x733AlarmType,omitempty" yaml:"x733AlarmType,omitempty"` X733ProbableCause int `json:"x733ProbableCause,omitempty" yaml:"x733ProbableCause,omitempty"` QosAlarmState string `json:"qosAlarmState,omitempty" yaml:"qosAlarmState,omitempty"` FirstAutomationTime *Time `json:"firstAutomationTime,omitempty" yaml:"firstAutomationTime,omitempty"` LastAutomationTime *Time `json:"lastAutomationTime,omitempty" yaml:"lastAutomationTime,omitempty"` FirstEventTime *Time `json:"firstEventTime,omitempty" yaml:"firstEventTime,omitempty"` LastEventTime *Time `json:"lastEventTime,omitempty" yaml:"lastEventTime,omitempty"` LastEvent *OnmsEvent `json:"lastEvent,omitempty" yaml:"-"` }
OnmsAlarm OpenNMS alarm entity
type OnmsAlarmList ¶
type OnmsAlarmList struct { Count int `json:"count" yaml:"count"` TotalCount int `json:"totalCount" yaml:"totalCount"` Offset int `json:"offset" yaml:"offset"` Alarms []OnmsAlarm `json:"alarm" yaml:"alarms"` }
OnmsAlarmList a list of alarms
type OnmsAssetRecord ¶
type OnmsAssetRecord struct { XMLName xml.Name `xml:"assetRecord" json:"-" yaml:"-"` ID int `xml:"id,attr,omitempty" json:"id,omitempty" yaml:"id,omitempty"` // Identification Description string `xml:"description,omitempty" json:"description,omitempty" yaml:"description,omitempty"` Category string `xml:"category,omitempty" json:"category,omitempty" yaml:"category,omitempty"` Manufacturer string `xml:"manufacturer,omitempty" json:"manufacturer,omitempty" yaml:"manufacturer,omitempty"` ModelNumber string `xml:"modelNumber,omitempty" json:"modelNumber,omitempty" yaml:"modelNumber,omitempty"` SerialNumber string `xml:"serialNumber,omitempty" json:"serialNumber,omitempty" yaml:"serialNumber,omitempty"` AssetNumber string `xml:"assetNumber,omitempty" json:"assetNumber,omitempty" yaml:"assetNumber,omitempty"` DateInstalled *Time `xml:"dateInstalled,omitempty" json:"dateInstalled,omitempty" yaml:"dateInstalled,omitempty"` OperatingSystem string `xml:"operatingSystem,omitempty" json:"operatingSystem,omitempty" yaml:"operatingSystem,omitempty"` // Location State string `xml:"state,omitempty" json:"state,omitempty" yaml:"state,omitempty"` Region string `xml:"region,omitempty" json:"region,omitempty" yaml:"region,omitempty"` Address1 string `xml:"address1,omitempty" json:"address1,omitempty" yaml:"address1,omitempty"` Address2 string `xml:"address2,omitempty" json:"address2,omitempty" yaml:"address2,omitempty"` City string `xml:"city,omitempty" json:"city,omitempty" yaml:"city,omitempty"` ZIP string `xml:"zip,omitempty" json:"zip,omitempty" yaml:"zip,omitempty"` Country string `xml:"country,omitempty" json:"country,omitempty" yaml:"country,omitempty"` Longitude float32 `xml:"longitude,omitempty" json:"longitude,omitempty" yaml:"longitude,omitempty"` Latitude float32 `xml:"latitude,omitempty" json:"latitude,omitempty" yaml:"latitude,omitempty"` Division string `xml:"division,omitempty" json:"division,omitempty" yaml:"division,omitempty"` Department string `xml:"department,omitempty" json:"department,omitempty" yaml:"department,omitempty"` Building string `xml:"building,omitempty" json:"building,omitempty" yaml:"building,omitempty"` Floor string `xml:"floor,omitempty" json:"floor,omitempty" yaml:"floor,omitempty"` Room string `xml:"room,omitempty" json:"room,omitempty" yaml:"room,omitempty"` Rack string `xml:"rack,omitempty" json:"rack,omitempty" yaml:"rack,omitempty"` RackUnitHeight string `xml:"rackunitheight,omitempty" json:"rackunitheight,omitempty" yaml:"rackUnitHeight,omitempty"` Slot string `xml:"slot,omitempty" json:"slot,omitempty" yaml:"slot,omitempty"` Port string `xml:"port,omitempty" json:"port,omitempty" yaml:"port,omitempty"` CircuitID string `xml:"circuitId,omitempty" json:"circuitId,omitempty" yaml:"circuitId,omitempty"` Admin string `xml:"admin,omitempty" json:"admin,omitempty" yaml:"admin,omitempty"` // Vendor Vendor string `xml:"vendor,omitempty" json:"vendor,omitempty" yaml:"vendor,omitempty"` VendorPhone string `xml:"vendorPhone,omitempty" json:"vendorPhone,omitempty" yaml:"vendorPhone,omitempty"` VendorFax string `xml:"vendorFax,omitempty" json:"vendorFax,omitempty" yaml:"vendorFax,omitempty"` VendorAssetNumber string `xml:"vendorAssetNumber,omitempty" json:"vendorAssetNumber,omitempty" yaml:"vendorAssetNumber,omitempty"` SupportPhone string `xml:"supportPhone,omitempty" json:"supportPhone,omitempty" yaml:"supportPhone,omitempty"` Lease string `xml:"lease,omitempty" json:"lease,omitempty" yaml:"lease,omitempty"` LeaseExpires *Time `xml:"leaseExpires,omitempty" json:"leaseExpires,omitempty" yaml:"leaseExpires,omitempty"` MaintContract string `xml:"maintcontract,omitempty" json:"maintcontract,omitempty" yaml:"maintcontract,omitempty"` MaintContractNumber string `xml:"maintContractNumber,omitempty" json:"maintContractNumber,omitempty" yaml:"maintContractNumber,omitempty"` MaintContractExpiration *Time `xml:"maintContractExpiration,omitempty" json:"maintContractExpiration,omitempty" yaml:"maintContractExpiration,omitempty"` // Hardware CPU string `xml:"cpu,omitempty" json:"cpu,omitempty" yaml:"cpu,omitempty"` RAM string `xml:"ram,omitempty" json:"ram,omitempty" yaml:"ram,omitempty"` AdditionalHardware string `xml:"additionalhardware,omitempty" json:"additionalhardware,omitempty" yaml:"additionalHardware,omitempty"` NumPowerSupplies string `xml:"numpowersupplies,omitempty" json:"numpowersupplies,omitempty" yaml:"numPowerSupplies,omitempty"` InputPower string `xml:"inputpower,omitempty" json:"inputpower,omitempty" yaml:"inputPower,omitempty"` StorageCtrl string `xml:"storagectrl,omitempty" json:"storagectrl,omitempty" yaml:"storageCtrl,omitempty"` HDD1 string `xml:"hdd1,omitempty" json:"hdd1,omitempty" yaml:"hdd1,omitempty"` HDD2 string `xml:"hdd2,omitempty" json:"hdd2,omitempty" yaml:"hdd2,omitempty"` HDD3 string `xml:"hdd3,omitempty" json:"hdd3,omitempty" yaml:"hdd3,omitempty"` HDD4 string `xml:"hdd4,omitempty" json:"hdd4,omitempty" yaml:"hdd4,omitempty"` HDD5 string `xml:"hdd5,omitempty" json:"hdd5,omitempty" yaml:"hdd5,omitempty"` HDD6 string `xml:"hdd6,omitempty" json:"hdd6,omitempty" yaml:"hdd6,omitempty"` // Authentiation Username string `xml:"username,omitempty" json:"username,omitempty" yaml:"username,omitempty"` Password string `xml:"password,omitempty" json:"password,omitempty" yaml:"password,omitempty"` Enable string `xml:"enable,omitempty" json:"enable,omitempty" yaml:"enable,omitempty"` AutoEnable string `xml:"autoenable,omitempty" json:"autoenable,omitempty" yaml:"autoEnable,omitempty"` Connection string `xml:"connection,omitempty" json:"connection,omitempty" yaml:"connection,omitempty"` SnmpCommunity string `xml:"snmpcommunity,omitempty" json:"snmpcommunity,omitempty" yaml:"snmpCommunity,omitempty"` // Categories DisplayCategory string `xml:"displayCategory,omitempty" json:"displayCategory,omitempty" yaml:"displayCategory,omitempty"` NotifyCategory string `xml:"notifyCategory,omitempty" json:"notifyCategory,omitempty" yaml:"notifyCategory,omitempty"` PollerCategory string `xml:"pollerCategory,omitempty" json:"pollerCategory,omitempty" yaml:"pollerCategory,omitempty"` ThresholdCategory string `xml:"thresholdCategory,omitempty" json:"thresholdCategory,omitempty" yaml:"thresholdCategory,omitempty"` // VMWare VmwareManagedObjectID string `xml:"vmwareManagedObjectId,omitempty" json:"vmwareManagedObjectId,omitempty" yaml:"vmwareManagedObjectId,omitempty"` VmwareManagedEntityType string `xml:"vmwareManagedEntityType,omitempty" json:"vmwareManagedEntityType,omitempty" yaml:"vmwareManagedEntityType,omitempty"` VmwareManagementServer string `xml:"vmwareManagementServer,omitempty" json:"vmwareManagementServer,omitempty" yaml:"vmwareManagementServer,omitempty"` VmwareState string `xml:"vmwareState,omitempty" json:"vmwareState,omitempty" yaml:"vmwareState,omitempty"` VmwareTopologyInfo string `xml:"vmwareTopologyInfo,omitempty" json:"vmwareTopologyInfo,omitempty" yaml:"vmwareTopologyInfo,omitempty"` // General Comment string `xml:"comment,omitempty" json:"comment,omitempty" yaml:"comment,omitempty"` LastModifiedBy string `xml:"lastModifiedBy,omitempty" json:"lastModifiedBy,omitempty" yaml:"lastModifiedBy,omitempty"` LastModifiedDate *Time `xml:"lastModifiedDate,omitempty" json:"lastModifiedDate,omitempty" yaml:"lastModifiedDate,omitempty"` ManagedObjectType string `xml:"managedObjectType,omitempty" json:"managedObjectType,omitempty" yaml:"managedObjectType,omitempty"` ManagedObjectInstance string `xml:"managedObjectInstance,omitempty" json:"managedObjectInstance,omitempty" yaml:"managedObjectInstance,omitempty"` }
OnmsAssetRecord an entity that represents an OpenNMS asset record
type OnmsCategory ¶
type OnmsCategory struct { XMLName xml.Name `xml:"category" json:"-" yaml:"-"` ID int `xml:"id,attr,omitempty" json:"id,omitempty" yaml:"id,omitempty"` Name string `xml:"name,attr" json:"name" yaml:"name"` Groups []string `xml:"groups,omitempty" json:"groups,omitempty" yaml:"groups,omitempty"` }
OnmsCategory an entity that represents an OpenNMS category
type OnmsCategoryList ¶
type OnmsCategoryList struct { XMLName xml.Name `xml:"categories" json:"-" yaml:"-"` Count int `xml:"count,attr" json:"count" yaml:"count"` TotalCount int `xml:"totalCount,attr" json:"totalCount" yaml:"totalCount"` Offset int `xml:"offset,attr" json:"offset" yaml:"offset"` Categories []OnmsCategory `xml:"category" json:"category" yaml:"categories"` }
OnmsCategoryList a list of metadata
type OnmsEvent ¶
type OnmsEvent struct { ID int `json:"id" yaml:"id"` UEI string `json:"uei" yaml:"uei"` EventTime *Time `json:"time,omitempty" yaml:"time,omitempty"` EventHost string `json:"host,omitempty" yaml:"host,omitempty"` EventSource string `json:"source,omitempty" yaml:"source,omitempty"` CreateTime *Time `json:"createTime,omitempty" yaml:"createTime,omitempty"` SnmpHost string `json:"snmpHost,omitempty" yaml:"snmpHost,omitempty"` Snmp string `json:"snmp,omitempty" yaml:"snmp,omitempty"` NodeID int `json:"nodeId,omitempty" yaml:"nodeId,omitempty"` NodeLabel string `json:"nodeLabel,omitempty" yaml:"nodeLabel,omitempty"` IPAddress string `json:"ipAddress,omitempty" yaml:"ipAddress,omitempty"` ServiceType OnmsServiceType `json:"serviceType,omitempty" yaml:"serviceType,omitempty"` IfIndex int `json:"ifIndex,omitempty" yaml:"ifIndex,omitempty"` Severity string `json:"severity,omitempty" yaml:"severity,omitempty"` Log string `json:"log,omitempty" yaml:"log,omitempty"` LogGroup string `json:"logGroup,omitempty" yaml:"logGroup,omitempty"` LogMessage string `json:"logMessage,omitempty" yaml:"logMessage,omitempty"` Display string `json:"display,omitempty" yaml:"display,omitempty"` Description string `json:"description,omitempty" yaml:"description,omitempty"` PathOutage string `json:"pathOutage,omitempty" yaml:"pathOutage,omitempty"` Correlation string `json:"correlation,omitempty" yaml:"correlation,omitempty"` SuppressedCount int `json:"suppressedCount,omitempty" yaml:"suppressedCount,omitempty"` OperatorInstructions string `json:"operatorInstructions,omitempty" yaml:"operatorInstructions,omitempty"` OperatorAction string `json:"operatorAction,omitempty" yaml:"operatorAction,omitempty"` AutoAction string `json:"autoAction,omitempty" yaml:"autoAction,omitempty"` Parameters []OnmsEventParam `json:"parameters,omitempty" yaml:"parameters,omitempty"` }
OnmsEvent OpenNMS event entity
type OnmsEventList ¶
type OnmsEventList struct { Count int `json:"count" yaml:"count"` TotalCount int `json:"totalCount" yaml:"totalCount"` Offset int `json:"offset" yaml:"offset"` Events []OnmsEvent `json:"event" yaml:"events"` }
OnmsEventList a list of events
type OnmsEventParam ¶
OnmsEventParam parameters of an OnmsEvent entity
type OnmsIPInterface ¶
type OnmsIPInterface struct { XMLName xml.Name `xml:"ipInterface" json:"-" yaml:"-"` ID string `xml:"id,attr,omitempty" json:"id,omitempty" yaml:"id,omitempty"` // The JSON returns a string instead of an integer NodeID int `xml:"nodeId,omitempty" json:"nodeId,omitempty" yaml:"-,omitempty"` IsManaged string `xml:"isManaged,attr,omitempty" json:"isManaged,omitempty" yaml:"isManaged,omitempty"` IPAddress string `xml:"ipAddress" json:"ipAddress" yaml:"ipAddress"` MonitoredServiceCount int `xml:"monitoredServiceCount,attr,omitempty" json:"monitoredServiceCount,omitempty" yaml:"monitoredServiceCount,omitempty"` IfIndex int `xml:"ifIndex,attr,omitempty" json:"ifIndex,omitempty" yaml:"ifIndex,omitempty"` HostName string `xml:"hostName,omitempty" json:"hostName,omitempty" yaml:"hostName,omitempty"` SnmpPrimary string `xml:"snmpPrimary,attr,omitempty" json:"snmpPrimary,omitempty" yaml:"snmpPrimary,omitempty"` LastPoll *Time `xml:"lastCapsdPoll,omitempty" json:"lastCapsdPoll,omitempty" yaml:"lastPoll,omitempty"` SNMPInterface *OnmsSnmpInterface `xml:"snmpInterface,omitempty" json:"snmpInterface,omitempty" yaml:"snmpInterface,omitempty"` IsDown bool `xml:"isDown,attr,omitempty" json:"isDown,omitempty" yaml:"isDown,omitempty"` HasFlows bool `xml:"hasFlows,attr,omitempty" json:"hasFlows,omitempty" yaml:"hasFlows,omitempty"` // DEPRECATED LastIngressFlow *Time `xml:"lastIngressFlow,attr,omitempty" json:"lastIngressFlow,omitempty" yaml:"lastIngressFlow,omitempty"` LastEgressFlow *Time `xml:"lastEgressFlow,attr,omitempty" json:"lastEgressFlow,omitempty" yaml:"lastEgressFlow,omitempty"` Services []OnmsMonitoredService `xml:"services,attr,omitempty" json:"services,omitempty" yaml:"services,omitempty"` Meta []MetaData `xml:"metaData,attr,omitempty" json:"metaData,omitempty" yaml:"metaData,omitempty"` }
OnmsIPInterface an entity that represents an OpenNMS IP Interface
func (*OnmsIPInterface) ExtractBasic ¶
func (obj *OnmsIPInterface) ExtractBasic() *OnmsIPInterface
ExtractBasic extracts core attributes only
func (*OnmsIPInterface) Validate ¶
func (obj *OnmsIPInterface) Validate() error
Validate verify structure and apply defaults when needed
type OnmsIPInterfaceList ¶
type OnmsIPInterfaceList struct { XMLName xml.Name `xml:"ipInterfaces" json:"-" yaml:"-"` Count int `xml:"count,attr" json:"count" yaml:"count"` TotalCount int `xml:"totalCount,attr" json:"totalCount" yaml:"totalCount"` Offset int `xml:"offset,attr" json:"offset" yaml:"offset"` Interfaces []OnmsIPInterface `xml:"ipInterface" json:"ipInterface" yaml:"interfaces"` }
OnmsIPInterfaceList a list of nodes
type OnmsInfo ¶
type OnmsInfo struct { DisplayVersion string `json:"displayVersion" yaml:"displayVersion"` Version string `json:"version" yaml:"version"` PackageName string `json:"packageName" yaml:"packageName"` PackageDescription string `json:"packageDescription" yaml:"packageDescription"` DatetimeFormat *OnmsInfoDatetimeFormat `json:"datetimeformatConfig" yaml:"datetimeFormat"` }
OnmsInfo provides information about the OpenNMS server
type OnmsInfoDatetimeFormat ¶
type OnmsInfoDatetimeFormat struct { ZoneID string `json:"zoneId" yaml:"zoneId"` Format string `json:"datetimeformat" yaml:"format"` }
OnmsInfoDatetimeFormat provides information about the time format
type OnmsMonitoredService ¶
type OnmsMonitoredService struct { XMLName xml.Name `xml:"service" json:"-" yaml:"-"` ID int `xml:"id,attr,omitempty" json:"id,omitempty" yaml:"id,omitempty"` ServiceType *OnmsServiceType `xml:"serviceType" json:"serviceType" yaml:"serviceType"` Notify string `xml:"notify,omitempty" json:"notify,omitempty" yaml:"notify,omitempty"` Qualifier string `xml:"qualifier,omitempty" json:"qualifier,omitempty" yaml:"qualifier,omitempty"` Status string `xml:"status,attr,omitempty" json:"status,omitempty" yaml:"status,omitempty"` StatusLong string `xml:"statusLong,attr,omitempty" json:"statusLong,omitempty" yaml:"statusLong,omitempty"` LastGood *Time `xml:"lastGood,omitempty" json:"lastGood,omitempty" yaml:"lastGood,omitempty"` LastFail *Time `xml:"lastFail,omitempty" json:"lastFail,omitempty" yaml:"lastFail,omitempty"` Source string `xml:"source,attr,omitempty" json:"source,omitempty" yaml:"source,omitempty"` IsDown bool `xml:"down,attr,omitempty" json:"down,omitempty" yaml:"isDown,omitempty"` Meta []MetaData `xml:"metaData,attr,omitempty" json:"metaData,omitempty" yaml:"metaData,omitempty"` }
OnmsMonitoredService an entity that represents an OpenNMS Monitored Service
func (*OnmsMonitoredService) Validate ¶
func (obj *OnmsMonitoredService) Validate() error
Validate verify structure and apply defaults when needed
type OnmsMonitoredServiceList ¶
type OnmsMonitoredServiceList struct { XMLName xml.Name `xml:"services" json:"-" yaml:"-"` Count int `xml:"count,attr" json:"count" yaml:"count"` TotalCount int `xml:"totalCount,attr" json:"totalCount" yaml:"totalCount"` Offset int `xml:"offset,attr" json:"offset" yaml:"offset"` Services []OnmsMonitoredService `xml:"service" json:"service" yaml:"services"` }
OnmsMonitoredServiceList a list of nodes
type OnmsNode ¶
type OnmsNode struct { XMLName xml.Name `xml:"node" json:"-" yaml:"-"` ID string `xml:"id,attr,omitempty" json:"id,omitempty" yaml:"id,omitempty"` // The JSON returns a string instead of an integer Type string `xml:"type,attr,omitempty" json:"type,omitempty" yaml:"type,omitempty"` Label string `xml:"label,attr,omitempty" json:"label,omitempty" yaml:"label,omitempty"` LabelSource string `xml:"labelSource,omitempty" json:"labelSource,omitempty" yaml:"labelSource,omitempty"` ForeignSource string `xml:"foreignSource,attr,omitempty" json:"foreignSource,omitempty" yaml:"foreignSource,omitempty"` ForeignID string `xml:"foreignId,attr,omitempty" json:"foreignId,omitempty" yaml:"foreignId,omitempty"` Location string `xml:"location,attr,omitempty" json:"location,omitempty" yaml:"location,omitempty"` SysObjectID string `xml:"sysObjectId,omitempty" json:"sysObjectId,omitempty" yaml:"sysObjectId,omitempty"` SysName string `xml:"sysName,omitempty" json:"sysName,omitempty" yaml:"sysName,omitempty"` SysLocation string `xml:"sysLocation,omitempty" json:"sysLocation,omitempty" yaml:"sysLocation,omitempty"` SysDescription string `xml:"sysDescription,omitempty" json:"sysDescription,omitempty" yaml:"sysDescription,omitempty"` SysContact string `xml:"sysContact,omitempty" json:"sysContact,omitempty" yaml:"sysContact,omitempty"` HasFlows bool `xml:"hasFlows,attr,omitempty" json:"hasFlows,omitempty" yaml:"hasFlows,omitempty"` // DEPRECATED LastIngressFlow *Time `xml:"lastIngressFlow,attr,omitempty" json:"lastIngressFlow,omitempty" yaml:"lastIngressFlow,omitempty"` LastEgressFlow *Time `xml:"lastEgressFlow,attr,omitempty" json:"lastEgressFlow,omitempty" yaml:"lastEgressFlow,omitempty"` CreateTime *Time `xml:"createTime,omitempty" json:"createTime,omitempty" yaml:"createTime,omitempty"` LastPoll *Time `xml:"lastCapsdPoll,omitempty" json:"lastCapsdPoll,omitempty" yaml:"lastPoll,omitempty"` AssetRecord *OnmsAssetRecord `xml:"assetRecord,omitempty" json:"assetRecord,omitempty" yaml:"assetRecord,omitempty"` Categories []OnmsCategory `xml:"categories,omitempty" json:"categories,omitempty" yaml:"categories,omitempty"` IPInterfaces []OnmsIPInterface `xml:"ipInterfaces,omitempty" json:"ipInterfaces,omitempty" yaml:"ipInterfaces,omitempty"` SNMPInterfaces []OnmsSnmpInterface `xml:"snmpInterfaces,omitempty" json:"snmpInterfaces,omitempty" yaml:"snmpInterfaces,omitempty"` Meta []MetaData `xml:"metaData,attr,omitempty" json:"metaData,omitempty" yaml:"metaData,omitempty"` }
OnmsNode an entity that represents an OpenNMS node
func (*OnmsNode) ExtractBasic ¶
ExtractBasic extracts core attributes only
func (*OnmsNode) GetIPInterface ¶
func (obj *OnmsNode) GetIPInterface(ipAddress string) *OnmsIPInterface
GetIPInterface gets a given IP interface by its address (nil if not found)
func (*OnmsNode) GetSnmpInterface ¶
func (obj *OnmsNode) GetSnmpInterface(ifIndex int) *OnmsSnmpInterface
GetSnmpInterface gets a given SNMP interface by its ifIndex (nil if not found)
type OnmsNodeList ¶
type OnmsNodeList struct { XMLName xml.Name `xml:"nodes" json:"-" yaml:"-"` Count int `xml:"count,attr" json:"count" yaml:"count"` TotalCount int `xml:"totalCount,attr" json:"totalCount" yaml:"totalCount"` Offset int `xml:"offset,attr" json:"offset" yaml:"offset"` Nodes []OnmsNode `xml:"node" json:"node" yaml:"nodes"` }
OnmsNodeList a list of nodes
type OnmsOutage ¶
type OnmsOutage struct { ID int `json:"id" yaml:"id"` ForeignSource string `json:"foreignSource,omitempty" yaml:"foreignSource,omitempty"` ForeignID string `json:"foreignId,omitempty" yaml:"foreignId,omitempty"` NodeID int `json:"nodeId,omitempty" yaml:"nodeId,omitempty"` NodeLabel string `json:"nodeLabel,omitempty" yaml:"nodeLabel,omitempty"` IPAddress string `json:"ipAddress,omitempty" yaml:"ipAddress,omitempty"` ServiceID int `json:"serviceId,omitempty" yaml:"serviceId,omitempty"` Location string `json:"locationName,omitempty" yaml:"locationName,omitempty"` MonitoredService *OnmsMonitoredService `json:"monitoredService,omitempty" yaml:"monitoredService,omitempty"` SuppressedBy string `json:"suppressedBy,omitempty" yaml:"suppressedBy,omitempty"` SuppressedTime *Time `json:"suppressedTime,omitempty" yaml:"suppressedTime,omitempty"` ServiceLostTime *Time `json:"ifLostService,omitempty" yaml:"ifLostService,omitempty"` ServiceRegainedTime *Time `json:"ifRegainedService,omitempty" yaml:"ifRegainedService,omitempty"` ServiceLostEvent *OnmsEvent `json:"serviceLostEvent,omitempty" yaml:"-"` ServiceRegainedEvent *OnmsEvent `json:"serviceRegainedEvent,omitempty" yaml:"-"` }
OnmsOutage OpenNMS outage entity
type OnmsOutageList ¶
type OnmsOutageList struct { Count int `json:"count" yaml:"count"` TotalCount int `json:"totalCount" yaml:"totalCount"` Offset int `json:"offset" yaml:"offset"` Outages []OnmsOutage `json:"outage" yaml:"outages"` }
OnmsOutageList a list of outages
type OnmsServiceType ¶
type OnmsServiceType struct { XMLName xml.Name `xml:"serviceType" json:"-" yaml:"-"` ID int `xml:"id,attr,omitempty" json:"id,omitempty" yaml:"id,omitempty"` Name string `xml:"name" json:"name" yaml:"name"` }
OnmsServiceType an entity that represents an OpenNMS Monitored Service type
type OnmsSnmpInterface ¶
type OnmsSnmpInterface struct { XMLName xml.Name `xml:"snmpInterface" json:"-" yaml:"-"` ID int `xml:"id,attr,omitempty" json:"id,omitempty" yaml:"id,omitempty"` IfType int `xml:"ifType,omitempty" json:"ifType,omitempty" yaml:"ifType,omitempty"` IfAlias string `xml:"ifAlias,omitempty" json:"ifAlias,omitempty" yaml:"ifAlias,omitempty"` IfIndex int `xml:"ifIndex,attr,omitempty" json:"ifIndex,omitempty" yaml:"ifIndex,omitempty"` IfDescr string `xml:"ifDescr,omitempty" json:"ifDescr,omitempty" yaml:"ifDescr,omitempty"` IfName string `xml:"ifName,omitempty" json:"ifName,omitempty" yaml:"ifName,omitempty"` PhysAddress string `xml:"physAddress,omitempty" json:"physAddress,omitempty" yaml:"physAddress,omitempty"` IfSpeed int64 `xml:"ifSpeed,omitempty" json:"ifSpeed,omitempty" yaml:"ifSpeed,omitempty"` IfAdminStatus int `xml:"ifAdminStatus,omitempty" json:"ifAdminStatus,omitempty" yaml:"ifAdminStatus,omitempty"` IfOperStatus int `xml:"ifOperStatus,omitempty" json:"ifOperStatus,omitempty" yaml:"ifOperStatus,omitempty"` Collect bool `xml:"collect,attr,omitempty" json:"collect,omitempty" yaml:"collect,omitempty"` CollectFlag string `xml:"collectFlag,attr,omitempty" json:"collectFlag,omitempty" yaml:"collectFlag,omitempty"` CollectionUserSpecified bool `xml:"collectionUserSpecified,omitempty" json:"collectionUserSpecified,omitempty" yaml:"collectionUserSpecified,omitempty"` Poll bool `xml:"poll,attr,omitempty" json:"poll,omitempty" yaml:"poll,omitempty"` PollFlag string `xml:"pollFlag,attr,omitempty" json:"pollFlag,omitempty" yaml:"pollFlag,omitempty"` LastPoll *Time `xml:"lastCapsdPoll,omitempty" json:"lastCapsdPoll,omitempty" yaml:"lastPoll,omitempty"` HasFlows bool `xml:"hasFlows,attr,omitempty" json:"hasFlows,omitempty" yaml:"hasFlows,omitempty"` // DEPRECATED LastIngressFlow *Time `xml:"lastIngressFlow,attr,omitempty" json:"lastIngressFlow,omitempty" yaml:"lastIngressFlow,omitempty"` LastEgressFlow *Time `xml:"lastEgressFlow,attr,omitempty" json:"lastEgressFlow,omitempty" yaml:"lastEgressFlow,omitempty"` }
OnmsSnmpInterface an entity that represents an OpenNMS SNMP Interface
func (*OnmsSnmpInterface) ExtractBasic ¶
func (obj *OnmsSnmpInterface) ExtractBasic() *OnmsSnmpInterface
ExtractBasic extracts core attributes only
func (*OnmsSnmpInterface) Validate ¶
func (obj *OnmsSnmpInterface) Validate() error
Validate verify structure and apply defaults when needed
type OnmsSnmpInterfaceList ¶
type OnmsSnmpInterfaceList struct { XMLName xml.Name `xml:"snmpInterfaces" json:"-" yaml:"-"` Count int `xml:"count,attr" json:"count" yaml:"count"` TotalCount int `xml:"totalCount,attr" json:"totalCount" yaml:"totalCount"` Offset int `xml:"offset,attr" json:"offset" yaml:"offset"` Interfaces []OnmsSnmpInterface `xml:"snmpInterface" json:"snmpInterface" yaml:"interfaces"` }
OnmsSnmpInterfaceList a list of nodes
type Parameter ¶
type Parameter struct { XMLName xml.Name `xml:"parameter" json:"-" yaml:"-"` Key string `xml:"key,attr" json:"key" yaml:"key"` Value string `xml:"value,attr" json:"value" yaml:"value"` }
Parameter a parameter for a detector or a policy
func FindParameter ¶
FindParameter finds a parameter by name on a slice of parameters
type Plugin ¶
type Plugin struct { Name string `json:"name" yaml:"name"` Class string `json:"class" yaml:"class"` Parameters []PluginParam `json:"parameters,omitempty" yaml:"parameters,omitempty"` }
Plugin a definition class for a detector or a policy
func (Plugin) FindParameter ¶
func (p Plugin) FindParameter(paramName string) *PluginParam
FindParameter finds a parameter on the plugin
func (Plugin) VerifyParameters ¶
VerifyParameters verify detector/policy parameters
type PluginList ¶
type PluginList struct { Count int `json:"count" yaml:"count"` Plugins []Plugin `json:"plugins,omitempty" yaml:"plugins,omitempty"` }
PluginList a list of plugins
func (PluginList) FindPlugin ¶
func (list PluginList) FindPlugin(cls string) *Plugin
FindPlugin finds a plugin by class name
type PluginParam ¶
type PluginParam struct { Key string `json:"key" yaml:"key"` Required bool `json:"required" yaml:"required"` Options []string `json:"options,omitempty" yaml:"options,omitempty"` }
PluginParam a parameter of a given plugin
type Policy ¶
type Policy struct { XMLName xml.Name `xml:"policy" json:"-" yaml:"-"` Name string `xml:"name,attr" json:"name" yaml:"name"` Class string `xml:"class,attr" json:"class" yaml:"class"` Parameters []Parameter `xml:"parameter,omitempty" json:"parameter,omitempty" yaml:"parameters,omitempty"` }
Policy a provisioning policy
type Profile ¶
type Profile struct { Name string `yaml:"name"` URL string `yaml:"url"` Username string `yaml:"username"` Password string `yaml:"password"` Insecure bool `yaml:"insecure"` Timeout int `yaml:"timeout"` }
Profile provides information about accessing a given OpenNMS server
type ProfilesConfig ¶
type ProfilesConfig struct { Default string `yaml:"defaultProfile"` Profiles []Profile `yaml:"profiles,omitempty"` }
ProfilesConfig provides information about the configured OpenNMS servers
func (ProfilesConfig) GetDefaultProfile ¶
func (cfg ProfilesConfig) GetDefaultProfile() *Profile
GetDefaultProfile gets the default profile
func (ProfilesConfig) IsEmpty ¶
func (cfg ProfilesConfig) IsEmpty() bool
IsEmpty checks if configuration is empty
type Requisition ¶
type Requisition struct { XMLName xml.Name `xml:"model-import" json:"-" yaml:"-"` DateStamp *Time `xml:"date-stamp,attr,omitempty" json:"date-stamp,omitempty" yaml:"dateStamp,omitempty"` LastImport *Time `xml:"last-import,attr,omitempty" json:"last-import,omitempty" yaml:"lastImport,omitempty"` Name string `xml:"foreign-source,attr" json:"foreign-source" yaml:"name"` Nodes []RequisitionNode `xml:"node,omitempty" json:"node,omitempty" yaml:"nodes,omitempty"` }
Requisition a requisition or set of nodes
func (*Requisition) AddNode ¶
func (r *Requisition) AddNode(node *RequisitionNode)
AddNode add a node to the requisition
func (*Requisition) Validate ¶
func (r *Requisition) Validate() error
Validate returns an error if the requisition definition is invalid
type RequisitionAsset ¶
type RequisitionAsset struct { XMLName xml.Name `xml:"asset" json:"-" yaml:"-"` Name string `xml:"name,attr" json:"name" yaml:"name"` Value string `xml:"value,attr" json:"value" yaml:"value"` }
RequisitionAsset a requisition node asset field
func (RequisitionAsset) Validate ¶
func (a RequisitionAsset) Validate() error
Validate returns an error if asset field is invalid
type RequisitionCategory ¶
type RequisitionCategory struct { XMLName xml.Name `xml:"category" json:"-" yaml:"-"` Name string `xml:"name,attr" json:"name" yaml:"name"` }
RequisitionCategory a requisition node category
func (RequisitionCategory) Validate ¶
func (c RequisitionCategory) Validate() error
Validate returns an error if the category is invalid
type RequisitionInterface ¶
type RequisitionInterface struct { XMLName xml.Name `xml:"interface" json:"-" yaml:"-"` IPAddress string `xml:"ip-addr,attr" json:"ip-addr" yaml:"ipAddress"` Description string `xml:"descr,attr,omitempty" json:"descr,omitempty" yaml:"description,omitempty"` SnmpPrimary string `xml:"snmp-primary,attr,omitempty" json:"snmp-primary" yaml:"snmpPrimary"` Status int `xml:"status,attr,omitempty" json:"status" yaml:"status"` Services []RequisitionMonitoredService `xml:"monitored-service,omitempty" json:"monitored-service,omitempty" yaml:"services,omitempty"` MetaData []RequisitionMetaData `xml:"meta-data,omitempty" json:"meta-data,omitempty" yaml:"metadata,omitempty"` }
RequisitionInterface an IP interface of a requisition node
func (*RequisitionInterface) AddMetaData ¶
func (intf *RequisitionInterface) AddMetaData(key string, value string)
AddMetaData adds a metadata entry to the interface
func (*RequisitionInterface) AddService ¶
func (intf *RequisitionInterface) AddService(svc *RequisitionMonitoredService)
AddService add an service to the IP interface
func (*RequisitionInterface) DeleteMetaData ¶
func (intf *RequisitionInterface) DeleteMetaData(key string)
DeleteMetaData deletes an existing metadata entry from the IP interface
func (*RequisitionInterface) GetService ¶
func (intf *RequisitionInterface) GetService(serviceName string) *RequisitionMonitoredService
GetService gets a given monitored service from the IP interface if exists
func (*RequisitionInterface) Merge ¶
func (intf *RequisitionInterface) Merge(source RequisitionInterface) error
Merge merges the fields from the provided source
func (*RequisitionInterface) SetMetaData ¶
func (intf *RequisitionInterface) SetMetaData(key string, value string)
SetMetaData adds or updates an existing metadata entry on the IP interface
func (*RequisitionInterface) Validate ¶
func (intf *RequisitionInterface) Validate() error
Validate returns an error if the interface definition is invalid
type RequisitionMetaData ¶
type RequisitionMetaData struct { XMLName xml.Name `xml:"meta-data" json:"-" yaml:"-"` Key string `xml:"key,attr" json:"key" yaml:"key"` Value string `xml:"value,attr" json:"value" yaml:"value"` Context string `xml:"context,attr,omitempty" json:"context,omitempty" yaml:"context,omitempty"` }
RequisitionMetaData a metadata entry
func (*RequisitionMetaData) Validate ¶
func (m *RequisitionMetaData) Validate() error
Validate returns an error if asset field is invalid
type RequisitionMonitoredService ¶
type RequisitionMonitoredService struct { XMLName xml.Name `xml:"monitored-service" json:"-" yaml:"-"` Name string `xml:"service-name,attr" json:"service-name" yaml:"name"` MetaData []RequisitionMetaData `xml:"meta-data,omitempty" json:"meta-data,omitempty" yaml:"metadata,omitempty"` }
RequisitionMonitoredService an IP interface monitored service
func (*RequisitionMonitoredService) AddMetaData ¶
func (s *RequisitionMonitoredService) AddMetaData(key string, value string)
AddMetaData adds a metadata entry to the node
func (*RequisitionMonitoredService) DeleteMetaData ¶
func (s *RequisitionMonitoredService) DeleteMetaData(key string)
DeleteMetaData deletes an existing metadata entry from the service
func (*RequisitionMonitoredService) SetMetaData ¶
func (s *RequisitionMonitoredService) SetMetaData(key string, value string)
SetMetaData adds or updates an existing metadata entry on the service
func (RequisitionMonitoredService) Validate ¶
func (s RequisitionMonitoredService) Validate() error
Validate returns an error if the service is invalid
type RequisitionNode ¶
type RequisitionNode struct { XMLName xml.Name `xml:"node" json:"-" yaml:"-"` NodeLabel string `xml:"node-label,attr" json:"node-label" yaml:"nodeLabel"` ForeignID string `xml:"foreign-id,attr" json:"foreign-id" yaml:"foreignID"` Location string `xml:"location,attr,omitempty" json:"location,omitempty" yaml:"location,omitempty"` City string `xml:"city,attr,omitempty" json:"city,omitempty" yaml:"city,omitempty"` Building string `xml:"building,attr,omitempty" json:"building,omitempty" yaml:"building,omitempty"` ParentForeignSource string `xml:"parent-foreign-source,attr,omitempty" json:"parent-foreign-source,omitempty" yaml:"parentForeignSource,omitempty"` ParentForeignID string `xml:"parent-foreign-id,attr,omitempty" json:"parent-foreign-id,omitempty" yaml:"parentForeignID,omitempty"` ParentNodeLabel string `xml:"parent-node-label,omitempty" json:"parent-node-label,omitempty" yaml:"parentNodeLabel,omitempty"` Interfaces []RequisitionInterface `xml:"interface,omitempty" json:"interface,omitempty" yaml:"interfaces,omitempty"` Categories []RequisitionCategory `xml:"category,omitempty" json:"category,omitempty" yaml:"categories,omitempty"` Assets []RequisitionAsset `xml:"asset,omitempty" json:"asset,omitempty" yaml:"assets,omitempty"` MetaData []RequisitionMetaData `xml:"meta-data,omitempty" json:"meta-data,omitempty" yaml:"metadata,omitempty"` }
RequisitionNode a requisitioned node
func (*RequisitionNode) AddInterface ¶
func (n *RequisitionNode) AddInterface(intf *RequisitionInterface)
AddInterface add an IP interface to the node
func (*RequisitionNode) AddMetaData ¶
func (n *RequisitionNode) AddMetaData(key string, value string)
AddMetaData adds a metadata entry to the node
func (*RequisitionNode) DeleteMetaData ¶
func (n *RequisitionNode) DeleteMetaData(key string)
DeleteMetaData deletes an existing metadata entry from the node
func (*RequisitionNode) GetInterface ¶
func (n *RequisitionNode) GetInterface(ipAddress string) *RequisitionInterface
GetInterface gets an existing IP interface from the node
func (*RequisitionNode) Merge ¶
func (n *RequisitionNode) Merge(source RequisitionNode) error
Merge merges the fields from the provided source
func (*RequisitionNode) SetMetaData ¶
func (n *RequisitionNode) SetMetaData(key string, value string)
SetMetaData adds or updates an existing metadata entry on the node
func (*RequisitionNode) Validate ¶
func (n *RequisitionNode) Validate() error
Validate returns an error if the node definition is invalid
type RequisitionStats ¶
type RequisitionStats struct { Name string `json:"name" yaml:"name"` Count int `json:"count" yaml:"count"` ForeignIDs []string `json:"foreign-id" yaml:"foreignID"` LastImport *Time `json:"last-imported,omitempty" yaml:"lastImport,omitempty"` }
RequisitionStats statistics about the requisition
type RequisitionsList ¶
type RequisitionsList struct { Count int `json:"count" yaml:"count"` ForeignSources []string `json:"foreign-source" yaml:"foreignSources"` }
RequisitionsList a list of requisitions names
type RequisitionsStats ¶
type RequisitionsStats struct { Count int `json:"count"` ForeignSources []RequisitionStats `json:"foreign-source"` }
RequisitionsStats statistics about all the requisitions
func (RequisitionsStats) GetRequisitionStats ¶
func (stats RequisitionsStats) GetRequisitionStats(foreignSource string) RequisitionStats
GetRequisitionStats gets the stats of a given requisition
type Resource ¶
type Resource struct { ID string `json:"id" yaml:"id"` Label string `json:"label" yaml:"label"` Name string `json:"name" yaml:"name"` Link string `json:"link" yaml:"link,omitempty"` TypeLabel string `json:"typeLabel" yaml:"yypeLabel"` ParentID string `json:"parentId" yaml:"parentId"` NumericAttributes map[string]NumericAttribute `json:"rrdGraphAttributes,omitempty" yaml:"metrics,omitempty"` StringAttributes map[string]string `json:"stringPropertyAttributes,omitempty" yaml:"strings,omitempty"` ExternalAttributes map[string]string `json:"externalValueAttributes,omitempty" yaml:"external,omitempty"` Children *ResourceList `json:"children,omitempty" yaml:"children,omitempty"` }
Resource a resource object
type ResourceList ¶
type ResourceList struct { Count int `json:"count" yaml:"count,omitempty"` Resources []Resource `json:"resource" yaml:"resources,omitempty"` }
ResourceList a list of resources
func (ResourceList) Enumerate ¶
func (list ResourceList) Enumerate(prefix string)
Enumerate shows the ID of each resource and its children
type SNMP ¶
type SNMP struct { ID string `json:"id" yaml:"id"` Version string `json:"version,omitempty" yaml:"version,omitempty"` Specific int `json:"specific" yaml:"specific,omitempty"` Generic int `json:"generic" yaml:"generic,omitempty"` Community string `json:"community,omitempty" yaml:"community,omitempty"` Timestamp *Time `json:"time-stamp,omitempty" yaml:"timeStamp,omitempty"` }
SNMP an event SNMP object
type ScheduledInterface ¶
type ScheduledInterface struct {
Address string `json:"address" yaml:"address"`
}
ScheduledInterface represents an IP interface by its Address under a scheduled outage
type ScheduledNode ¶
type ScheduledNode struct {
ID string `json:"id" yaml:"id"`
}
ScheduledNode represents a node by its Node ID under a scheduled outage
type ScheduledOutage ¶
type ScheduledOutage struct { Name string `json:"name" yaml:"name"` Type string `json:"type" yaml:"type"` Nodes []ScheduledNode `json:"node,omitempty" yaml:"nodes,omitempty"` Interfaces []ScheduledInterface `json:"interface,omitempty" yaml:"interfaces,omitempty"` Times []ScheduledTime `json:"time,omitempty" yaml:"times,omitempty"` }
ScheduledOutage a scheduled outage
func (*ScheduledOutage) IsValid ¶
func (o *ScheduledOutage) IsValid() error
IsValid verifies if the scheduled outage is correct
type ScheduledOutageList ¶
type ScheduledOutageList struct {
Outages []ScheduledOutage
}
ScheduledOutageList list of scheduled outages
type ScheduledTime ¶
type ScheduledTime struct { Day string `json:"day,omitempty" yaml:"day,omitempty"` Begins string `json:"begins" yaml:"begins"` Ends string `json:"ends" yaml:"ends"` }
ScheduledTime the time of a given scheduled outage (contents depend on the type)
func (*ScheduledTime) IsValid ¶
func (sc *ScheduledTime) IsValid(scheduleType string) error
IsValid verifies if the schedule time is correct for a given type
type SnmpInfo ¶
type SnmpInfo struct { Version string `json:"version,omitempty" yaml:"version,omitempty"` Location string `json:"location,omitempty" yaml:"location,omitempty"` Port int `json:"port,omitempty" yaml:"port,omitempty"` Retries int `json:"retries,omitempty" yaml:"retries,omitempty"` Timeout int `json:"timeout,omitempty" yaml:"timeout,omitempty"` Community string `json:"community,omitempty" yaml:"community,omitempty"` ContextName string `json:"contextName,omitempty" yaml:"contextName,omitempty"` SecurityLevel int `json:"securityLevel,omitempty" yaml:"securityLevel,omitempty"` SecurityName string `json:"securityName,omitempty" yaml:"securityName,omitempty"` PrivProtocol string `json:"privProtocol,omitempty" yaml:"privProtocol,omitempty"` PrivPassPhrase string `json:"privPassPhrase,omitempty" yaml:"privPassPhrase,omitempty"` AuthProtocol string `json:"authProtocol,omitempty" yaml:"authProtocol,omitempty"` AuthPassPhrase string `json:"authPassPhrase,omitempty" yaml:"authPassPhrase,omitempty"` EngineID string `json:"engineID,omitempty" yaml:"engineID,omitempty"` ContextEngineID string `json:"ContextEngineID,omitempty" yaml:"ContextEngineID,omitempty"` EnterpriseID string `json:"enterpriseID,omitempty" yaml:"enterpriseID,omitempty"` MaxRequestSize int `json:"maxRequestSize,omitempty" yaml:"maxRequestSize,omitempty"` MaxRepetitions int `json:"maxRepetitions,omitempty" yaml:"maxRepetitions,omitempty"` MaxVarsPerPdu int `json:"maxVarsPerPdu,omitempty" yaml:"maxVarsPerPdu,omitempty"` ProxyHost string `json:"proxyHost,omitempty" yaml:"proxyHost,omitempty"` TTL int `json:"ttl,omitempty" yaml:"ttl,omitempty"` }
SnmpInfo SNMP Configuration for a give IP Interface; it provides partial information compared with what's available on snmp-config.xml
type Time ¶
Time an object to seamlessly manage times in multiple formats
func (Time) MarshalJSON ¶
MarshalJSON converts time object into timestamp in milliseconds
func (Time) MarshalXML ¶
MarshalXML converts time object into time as string
func (Time) MarshalYAML ¶
MarshalYAML converts time object into time as string
func (*Time) UnmarshalJSON ¶
UnmarshalJSON converts timestamp in milliseconds into time object
func (*Time) UnmarshalXML ¶
UnmarshalXML converts time string into time object
func (*Time) UnmarshalYAML ¶
UnmarshalYAML converts time string into time object