2 * Copyright (c) 2020 AT&T Intellectual Property.
3 * Copyright (c) 2020 Nokia.
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
17 * This source code is part of the near-RT RIC (RAN Intelligent Controller)
18 * platform project (RICP).
30 // Severity for alarms
33 // Possible values for Severity
35 SeverityUnspecified Severity = "UNSPECIFIED"
36 SeverityCritical Severity = "CRITICAL"
37 SeverityMajor Severity = "MAJOR"
38 SeverityMinor Severity = "MINOR"
39 SeverityWarning Severity = "WARNING"
40 SeverityCleared Severity = "CLEARED"
41 SeverityDefault Severity = "DEFAULT"
44 // Alarm object - see README for more information
46 ManagedObjectId string `json:"managedObjectId"`
47 ApplicationId string `json:"applicationId"`
48 SpecificProblem int `json:"specificProblem"`
49 PerceivedSeverity Severity `json:"perceivedSeverity"`
50 IdentifyingInfo string `json:"identifyingInfo"`
51 AdditionalInfo string `json:"additionalInfo"`
55 type AlarmAction string
57 // Possible values for alarm actions
59 AlarmActionRaise AlarmAction = "RAISE"
60 AlarmActionClear AlarmAction = "CLEAR"
61 AlarmActionClearAll AlarmAction = "CLEARALL"
64 type AlarmMessage struct {
70 type AlarmConfigParams struct {
71 MaxActiveAlarms int `json:"maxactivealarms"`
72 MaxAlarmHistory int `json:"maxalarmhistory"`
75 // RICAlarm is an alarm instance
76 type RICAlarm struct {
86 RIC_ALARM_UPDATE = 13111
87 RIC_ALARM_QUERY = 13112
90 // Temp alarm constants & definitions
92 E2_CONNECTION_PROBLEM int = 72004
93 ACTIVE_ALARM_EXCEED_MAX_THRESHOLD int = 72007
94 ALARM_HISTORY_EXCEED_MAX_THRESHOLD int = 72008
97 type AlarmDefinition struct {
98 AlarmId int `json:"alarmId"`
99 AlarmText string `json:"alarmText"`
100 EventType string `json:"eventType"`
101 OperationInstructions string `json:"operationInstructions"`
102 RaiseDelay int `json:"raiseDelay"`
103 ClearDelay int `json:"clearDelay"`
104 TimeToLive int `json:"timeToLive"`
107 var RICAlarmDefinitions map[int]*AlarmDefinition
108 var RICPerfAlarmObjects map[int]*Alarm