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