Loading yang-models/_3gpp-common-fm.yang +129 −3 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ module _3gpp-common-fm { prefix "fm3gpp"; import ietf-yang-types { prefix yang; } import ietf-inet-types { prefix inet; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } Loading @@ -16,7 +17,8 @@ module _3gpp-common-fm { TTA, TTC). All rights reserved."; reference "3GPP TS 28.111"; revision 2026-01-25 { reference "CR-0060"; } // common for R19, R20 revision 2026-06-14 { reference "CR-xxxx"; } revision 2026-01-25 { reference "CR-0060"; } revision 2025-11-07 { reference "CR-0057"; } revision 2025-08-13 { reference "CR-0050 CR-0051 CR-0053 CR-0054"; } revision 2025-05-01 { reference "CR-0042 CR-0043"; } Loading Loading @@ -44,6 +46,10 @@ module _3gpp-common-fm { supported."; } feature AlarmHistorySupported { description "Indicates whether the alarm history capability is supported."; } typedef eventType { type enumeration { enum OTHER { Loading Loading @@ -505,7 +511,10 @@ module _3gpp-common-fm { leaf alarmId { type string; mandatory true; description "Identifies the alarmRecord"; description "Identifies the alarmRecord. The value shall be unique within the AlarmList MOI. The value should be unique over a longer period of time and over multiple alarm lists."; yext3gpp:notNotifyable; yext3gpp:inVariant; } Loading Loading @@ -879,6 +888,35 @@ module _3gpp-common-fm { } } grouping AlarmHistoryGrp { description "Represents the attributes of the AlarmHistory IOC."; leaf oldestRecordDate { type yang:date-and-time; config false; mandatory true; description "The date and time of the earliest record available."; yext3gpp:notNotifyable; } leaf oldestAlarmId { type string; config false; mandatory true; description "The alarmId of the earliest record available."; yext3gpp:notNotifyable; } list exportProgress { description "Progress information about the exportAlarmHistory action."; config false; max-elements 1; key idx; leaf idx { type int32; } uses types3gpp:ProcessMonitorGrp; } } grouping FmSubtree { description "Contains FM related classes. Should be used in all classes (or classes inheriting from) Loading Loading @@ -912,6 +950,94 @@ module _3gpp-common-fm { container attributes { uses AlarmListGrp ; } list AlarmHistory { if-feature AlarmHistorySupported; key id; max-elements 1; yext3gpp:only-system-created; description "The AlarmHistory represents the capability to store and retrieve historical alarm records. It is name-contained under AlarmList. The management scope of an AlarmHistory is the same as that of the containing AlarmList MOI. AlarmHistory instances are created by the system or are pre-installed. They can neither be created nor deleted by MnS consumers. An instance of AlarmList has at most one name-contained instance of AlarmHistory. It is assumed that alarm history will be able to keep alarms available for a substantial period e.g. 2-30 days. However, the size of the alarm history is implementation specific. When the alarm history is full the producer may discard records. In this case the oldest records shall be discarded."; uses top3gpp:Top_Grp; container attributes { uses AlarmHistoryGrp; } action exportAlarmHistory { description "Invoking the action exports the alarm history records. The exported records shall be placed in a file that is exported to a remote location. Information about the progress of the export operation is available in the exportProgress attribute. Only a single export operation can be running at the same time."; input { leaf fileLocation { type inet:uri; description "Location of the exported file including the file transfer protocol and the file name. If not specified, the file will be stored on the producer. The allowed file transfer protocols are sftp, ftpes, https. Examples: sftp://companyA.com/datastore/fileName.json https://companyA.com/ManagedElement=1/Files=1/File=1"; } list timeWindow { description "Identifies the time window for which history records shall be exported. If not specified all records are exported. If only startTime is specified, then all records with a timestamp not earlier than the startTime shall be exported. If both startTime and endTime are specified and they are the same, then all records for all alarms that were active at that specific time shall be exported. If both startTime and endTime are specified but they are different, then all records with a timestamp in the specified time interval shall be exported. If only endTime is specified, then all records with a timestamp not later than endTime shall be exported. endTime if specified shall be equal or later than startTime. startTime and endTime shall not be in the future."; max-elements 1; key idx; leaf idx { type int32; } uses types3gpp:TimeWindowGrp; } leaf-list alarmScope { type types3gpp:DistinguishedName; description "List of object instances. Each object instance is identified by its DN and designates the root of a subtree. History records shall be exported if the source of the alarm is included in one of the subtrees."; } } } } } } Loading Loading
yang-models/_3gpp-common-fm.yang +129 −3 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ module _3gpp-common-fm { prefix "fm3gpp"; import ietf-yang-types { prefix yang; } import ietf-inet-types { prefix inet; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } Loading @@ -16,7 +17,8 @@ module _3gpp-common-fm { TTA, TTC). All rights reserved."; reference "3GPP TS 28.111"; revision 2026-01-25 { reference "CR-0060"; } // common for R19, R20 revision 2026-06-14 { reference "CR-xxxx"; } revision 2026-01-25 { reference "CR-0060"; } revision 2025-11-07 { reference "CR-0057"; } revision 2025-08-13 { reference "CR-0050 CR-0051 CR-0053 CR-0054"; } revision 2025-05-01 { reference "CR-0042 CR-0043"; } Loading Loading @@ -44,6 +46,10 @@ module _3gpp-common-fm { supported."; } feature AlarmHistorySupported { description "Indicates whether the alarm history capability is supported."; } typedef eventType { type enumeration { enum OTHER { Loading Loading @@ -505,7 +511,10 @@ module _3gpp-common-fm { leaf alarmId { type string; mandatory true; description "Identifies the alarmRecord"; description "Identifies the alarmRecord. The value shall be unique within the AlarmList MOI. The value should be unique over a longer period of time and over multiple alarm lists."; yext3gpp:notNotifyable; yext3gpp:inVariant; } Loading Loading @@ -879,6 +888,35 @@ module _3gpp-common-fm { } } grouping AlarmHistoryGrp { description "Represents the attributes of the AlarmHistory IOC."; leaf oldestRecordDate { type yang:date-and-time; config false; mandatory true; description "The date and time of the earliest record available."; yext3gpp:notNotifyable; } leaf oldestAlarmId { type string; config false; mandatory true; description "The alarmId of the earliest record available."; yext3gpp:notNotifyable; } list exportProgress { description "Progress information about the exportAlarmHistory action."; config false; max-elements 1; key idx; leaf idx { type int32; } uses types3gpp:ProcessMonitorGrp; } } grouping FmSubtree { description "Contains FM related classes. Should be used in all classes (or classes inheriting from) Loading Loading @@ -912,6 +950,94 @@ module _3gpp-common-fm { container attributes { uses AlarmListGrp ; } list AlarmHistory { if-feature AlarmHistorySupported; key id; max-elements 1; yext3gpp:only-system-created; description "The AlarmHistory represents the capability to store and retrieve historical alarm records. It is name-contained under AlarmList. The management scope of an AlarmHistory is the same as that of the containing AlarmList MOI. AlarmHistory instances are created by the system or are pre-installed. They can neither be created nor deleted by MnS consumers. An instance of AlarmList has at most one name-contained instance of AlarmHistory. It is assumed that alarm history will be able to keep alarms available for a substantial period e.g. 2-30 days. However, the size of the alarm history is implementation specific. When the alarm history is full the producer may discard records. In this case the oldest records shall be discarded."; uses top3gpp:Top_Grp; container attributes { uses AlarmHistoryGrp; } action exportAlarmHistory { description "Invoking the action exports the alarm history records. The exported records shall be placed in a file that is exported to a remote location. Information about the progress of the export operation is available in the exportProgress attribute. Only a single export operation can be running at the same time."; input { leaf fileLocation { type inet:uri; description "Location of the exported file including the file transfer protocol and the file name. If not specified, the file will be stored on the producer. The allowed file transfer protocols are sftp, ftpes, https. Examples: sftp://companyA.com/datastore/fileName.json https://companyA.com/ManagedElement=1/Files=1/File=1"; } list timeWindow { description "Identifies the time window for which history records shall be exported. If not specified all records are exported. If only startTime is specified, then all records with a timestamp not earlier than the startTime shall be exported. If both startTime and endTime are specified and they are the same, then all records for all alarms that were active at that specific time shall be exported. If both startTime and endTime are specified but they are different, then all records with a timestamp in the specified time interval shall be exported. If only endTime is specified, then all records with a timestamp not later than endTime shall be exported. endTime if specified shall be equal or later than startTime. startTime and endTime shall not be in the future."; max-elements 1; key idx; leaf idx { type int32; } uses types3gpp:TimeWindowGrp; } leaf-list alarmScope { type types3gpp:DistinguishedName; description "List of object instances. Each object instance is identified by its DN and designates the root of a subtree. History records shall be exported if the source of the alarm is included in one of the subtrees."; } } } } } } Loading