Loading yang-models/_3gpp-5gc-nrm-configurable5qiset.yang +9 −1 Original line number Diff line number Diff line Loading @@ -9,9 +9,17 @@ module _3gpp-5gc-nrm-configurable5qiset { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the configurable 5QIs, including their QoS characteristics, that need to be pre-configured (and configurable) to the 5G NFs."; (and configurable) to the 5G NFs. The 5QI set definition supports multiple deployment scenarios. The sets can be name contained by SubNetwork ManagedElement, GNBDUFunction, GNBCUUPFunction and GNBCUCPFunction. Sets are then referenced by attribute (configurable5QISetRef) in applicable MOIs. For consistency it is recommended that referenced 5QI sets be defined within the same subtree."; reference "3GPP TS 28.541"; revision 2022-11-02 { reference "CR-0753" ; } revision 2022-07-28 { reference "CR-0770"; } revision 2022-04-29 { reference "CR-0729"; } revision 2022-01-07 { reference CR-0643; } Loading yang-models/_3gpp-common-filemanagement.yang +4 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ module _3gpp-common-filemanagement { import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix yang3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } organization "3GPP SA5"; Loading @@ -14,6 +15,7 @@ module _3gpp-common-filemanagement { Class (IOC) that is part of the Generic Network Resource Model (NRM)."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; revision 2022-10-24 { reference CR-0196; } revision 2022-02-10 { reference "Initial revision, S5-221757"; } grouping FileDownloadProcessMonitor { Loading Loading @@ -50,11 +52,13 @@ module _3gpp-common-filemanagement { allowedValues: File URI (See RFC 8089)"; mandatory true; type string; yext3gpp:notNotifyable; } leaf notificationRecipientAddress { description "Address of the notification recipient."; type string; yext3gpp:notNotifyable; } leaf cancelJob { Loading yang-models/_3gpp-common-files.yang 0 → 100644 +311 −0 Original line number Diff line number Diff line module _3gpp-common-files { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-common-files"; prefix "files3gpp"; import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } import ietf-yang-types { prefix yang; } import ietf-inet-types { prefix inet; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of File retrieval NRM fragment including the IOCs File and Files."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) Integration Reference Point (IRP); Solution Set (SS) definitions 3GPP TS 28.622 Generic Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS)"; revision 2022-09-28 { reference CR-0191; } grouping FileGrp { description "Represents the File IOC."; leaf fileLocation { type inet:uri ; mandatory true; yext3gpp:notNotifyable ; description "Location of the file incl. the file transfer protocol, and the file name for the case the file content cannot be retrieved by reading the 'fileContent' attribute. The allowed file transfer protocols are: - sftp - ftpes - https Examples: 'sftp://companyA.com/datastore/fileName.xml', 'https://companyA.com/ManagedElement=1/Files=1/File=1' "; } leaf fileCompression { type string ; mandatory true; yext3gpp:notNotifyable ; description "Name of the algorithm used for compressing the file. An empty or absent 'fileCompression' parameter indicates the file is not compressed. The MnS producer selects the compression algorithm. It is encouraged to use popular algorithms such as GZIP."; } leaf fileSize { type uint64 ; mandatory true; units bytes; yext3gpp:notNotifyable ; description "Size of the file"; } leaf fileDataType { type enumeration { enum PERFORMANCE { description "The value 'PERFORMANCE' refers to measurements and KPIs"; } enum TRACE; enum ANALYTICS; enum PROPRIETARY; } mandatory true; yext3gpp:notNotifyable ; description "Type of the management data stored in the file."; } leaf fileFormat { type string ; mandatory true; yext3gpp:notNotifyable ; description "Identifier of the XML or ASN.1 schema (incl. its version) used to produce the file content."; } leaf fileReadyTime { type yang:date-and-time ; mandatory true; yext3gpp:notNotifyable ; description "Date and time, when the file was closed (the last time) and made available on the MnS producer. The file content will not be changed anymore."; } leaf fileExpirationTime { type yang:date-and-time ; mandatory true; yext3gpp:notNotifyable ; description "Date and time after which the file may be deleted."; } leaf fileContent { type string ; // String is very restrictive mandatory true; yext3gpp:notNotifyable ; description "File content"; } leaf-list jobRef { type types3gpp:DistinguishedName ; yext3gpp:notNotifyable ; description "Object instance of the 'PerfMetricJob' or 'TraceJob' that produced the file."; } leaf jobId { type string ; yext3gpp:notNotifyable ; description "Identifier of a PerfMetricJob job or a TraceJob."; } } grouping FilesGrp { description "Represents the Files IOC."; leaf numberOfFiles { type uint64 ; yext3gpp:notNotifyable ; description "Number of files in a file collection."; } leaf-list jobRef { type types3gpp:DistinguishedName ; yext3gpp:notNotifyable ; description "Object instance of the 'PerfMetricJob' or 'TraceJob' that produced the file."; } leaf jobId { type string ; yext3gpp:notNotifyable ; description "Identifier of a PerfMetricJob job or a TraceJob."; } } grouping FilesSubtree { description "Contains classes of the File retrieval NRM fragment. Should be used in classes (or classes inheriting from) - SubNnetwork - ManagedElement - PerfMetricJob - TraceJob If a YANG module wants to augment these classes/list/groupings they must augment all user classes!"; list Files { description "This IOC represents a collection of files. It can be name-contained by 'SubNetwork', 'ManagedElement', 'PerfMetricJob' or 'TraceJob'. The 'Files' object name-contains 'File' objects, that represent the files of the collection. File collections allow to structure related files under a common root. Instances of 'Files' are created by MnS producers. They shall be created at latest when the first file of the collection becomes available for retrieval by MnS consumers. The attributes of 'Files' represent properties of the file collection and not properties of individual files. When the file retrieval NRM fragment is used together with a data collection job ('PerfMetricJob' or 'TraceJob') the following provisions shall apply: - The 'Files' object shall be created at the same time as the object representing the data collection job. - The attributes 'jobRef' and 'jobId' shall be supported and present in a 'Files' instance. They shall identify the job that the files in the file collection relate to. - A 'Files' instance shall contain files related to one and only one job. - The files produced by one job shall be contained in one and only one 'Files' instance. - The job object shall support an attribute with a link to the created 'Files' instance ('_linkToFiles'). - The attribute '_linkToFiles' shall be returned in the job creation response, if the stage 3 protocol supports returning attributes in an object creation response. - The MnS producer decides where to name-contain the 'Files' instance related to a job. The attribute '_linkToFiles' allows a MnS consumer to create simple and targeted subscriptions for 'notifyFileReady', 'notifyFilePreparationError' and 'notifyFileDeletion', or 'notifyMOICreation', 'notifyMOIChanges', 'notifyFilePreparationError' and 'notifyFileDeletion' related to 'File' instances created or deleted under the 'Files' instance of a specific job. The subscription needs to scope simply objects one level below the 'Files' object. In addition, the attribute '_linkToFiles' allows for simple deployments not relying on notifications for reporting the availability of new files, where the MnS consumer polls regularly for new files under 'Files'."; key id; config false; uses top3gpp:Top_Grp ; container attributes { uses FilesGrp ; } list File { description "Represents a file. It is name-contained by 'Files'. When a file becomes available on a MnS producer for retrieval by a MnS consumer, the MnS producer shall create a 'File' instance representing that file. The time of creation shall be captured by the MnS producer in the 'fileReadyTime' attribute. The MnS producer shall keep the file at least until the time specified by 'fileExpirationTime'. After that time the MnS producer may delete the 'File' instance. The 'fileExpirationTime' is determined by the MnS producer based on considerations such as available storage space or file retention policies. The attributes 'fileSize', 'fileCompression', 'fileDataType' and 'fileFormat' describe the file properties. The 'fileLocation' attribute indicates the address where the file can be retrieved. The address includes the file transfer protocol (schema). Allowed file transfer protocols are 'sftp', 'ftpes' and 'https'. The value of 'fileLocation' can be identical to or different from the address of the 'File' instance. The attribute 'fileContent' is provided for retrieving the actual file content. When identifying in the Read request a 'File' instance and specifying only the 'fileContent' attribute be returned, then only the file content shall be returned in the response. Note, as usual, multiple attributes can be specified to be returned, so that the file content together with some or all file meta data attributes can be returned in response to a single request. In case the 'fileLocation' specifies a location different than the 'File' object location, then the attribute 'fileContent' cannot be used for retrieving the file content. For example, the 'File' object location may be given by 'https://companyA.com/ManagedElement=1/Files=1/File=1' and the value of the 'fileLocation' attribute by 'sftp://companyA.com/datastore/fileName.xml' In this case the file needs to be retrieved using 'sftp' from 'sftp://companyA.com/datastore/fileName.xml'. Attempts to read the 'fileContent' attribute shall return an error. When the file retrieval NRM fragment is used together with a data collection job ('PerfMetricJob' or 'TraceJob') the following provisions shall apply: - The attributes 'jobRef' and 'jobId' shall be supported and present. They shall identify the job that the file is related to. The attributes 'jobRef' and 'jobId' allow to set notification filters in the subscription in such a way that only 'notifyMOICreation', notifyMOIChanges and 'notifyMOIDeletion' notifications are sent to subscribed MnS consumers if the created or deleted 'File' instance represents data related to jobs the subscribed MnS consumer created or is interested in. Upon creation of a 'File' instance, a notification of type 'notifyMOICreation' or 'notifyMOIChanges' shall be emitted to subscribed MnS consumers as usual. For the case that the file contains performance metric data ('fileDataType' is 'PERFORMANCE') the MnS producer shall emit either a notification of type 'notifyMOICreation', 'notifyMOICreation' or of type 'notifyFileReady'. The MnS consumer selects the notification type he wishes to receive with the subscription created on the MnS producer. The 'objectClass' and 'objectInstance' parameters in the notification header of 'notifyFileReady' shall identify the new 'File' instance, instead of the related 'PerfMetricJob', 'TraceJob', 'ManagedElement' or 'ManagementNode'as described in 3GPP TS 28.532, clause 11.6.1.1.1 for the case that 'notifyFileReady' is used as part of the file data reporting MnS. The notification 'notifyFilePreparationError' shall be supported as well by the 'File' object. It shall be sent when an error occurs during the preparation of the file. No 'notifyFileReady' or 'notifMOICreation shall be sent in that case. The 'objectClass' and 'objectInstance' parameters of the notification header shall identify the new 'File' instance representing the corrupted file, instead of the related 'PerfMetricJob', 'TraceJob', 'ManagedElement' or 'ManagementNode'as described in 3GPP TS 28.532, clause 11.6.1.1.1 for the case that 'notifyFilePreparationError' is used as part of the file data reporting MnS. When the file is not created at all or deleted, the 'objectClass' and 'objectInstance' parameters of the notification header are populated as described in 3GPP TS 28.532, clause 11.6.1.1.1. Note that to receive 'notifyFilePreparationError' in that case the notification subscription needs to include these objects in its scope."; key id; uses top3gpp:Top_Grp ; container attributes { uses FileGrp ; } } } } } No newline at end of file yang-models/_3gpp-common-fm.yang +34 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ module _3gpp-common-fm { import ietf-yang-types { prefix yang; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; Loading @@ -22,6 +23,7 @@ module _3gpp-common-fm { Integration Reference Point (IRP); Information Service (IS)"; revision 2022-10-24 { reference CR-0196; } revision 2021-08-08 { reference "CR-0132"; } revision 2021-06-02 { reference "CR-0130"; } revision 2020-06-03 { reference "CR-0091"; } Loading Loading @@ -107,58 +109,68 @@ module _3gpp-common-fm { type string; mandatory true; description "Identifies the alarmRecord"; yext3gpp:notNotifyable; } leaf objectInstance { type string; config false ; mandatory true; yext3gpp:notNotifyable; } leaf notificationId { type int32; config false ; mandatory true; yext3gpp:notNotifyable; } leaf alarmRaisedTime { type yang:date-and-time ; config false ; yext3gpp:notNotifyable; } leaf alarmChangedTime { type yang:date-and-time ; config false ; description "not applicable if related alarm has not changed"; yext3gpp:notNotifyable; } leaf alarmClearedTime { type yang:date-and-time ; config false ; description "not applicable if related alarm was not cleared"; yext3gpp:notNotifyable; } leaf alarmType { type eventType; config false ; description "General category for the alarm."; yext3gpp:notNotifyable; } leaf probableCause { type string; config false ; yext3gpp:notNotifyable; } leaf specificProblem { type string; config false ; reference "ITU-T Recommendation X.733 clause 8.1.2.2."; yext3gpp:notNotifyable; } leaf perceivedSeverity { type severity-level; description "This is Writable only if producer supports consumer to set perceivedSeverity to CLEARED"; yext3gpp:notNotifyable; } leaf backedUpStatus { Loading @@ -166,11 +178,13 @@ module _3gpp-common-fm { config false ; description "Indicates if an object (the MonitoredEntity) has a back up. See definition in ITU-T Recommendation X.733 clause 8.1.2.4."; yext3gpp:notNotifyable; } leaf backUpObject { type string; config false ; yext3gpp:notNotifyable; } leaf trendIndication { Loading @@ -179,6 +193,7 @@ module _3gpp-common-fm { description "Indicates if some observed condition is getting better, worse, or not changing. "; reference "ITU-T Recommendation X.733 clause 8.1.2.6."; yext3gpp:notNotifyable; } grouping ThresholdPackGrp { Loading Loading @@ -226,6 +241,7 @@ module _3gpp-common-fm { list thresholdInfo { config false ; yext3gpp:notNotifyable; uses ThresholdInfoGrp; } Loading @@ -234,6 +250,7 @@ module _3gpp-common-fm { config false ; description "Indicates MO attribute value changes. See definition in ITU-T Recommendation X.733 clause 8.1.2.11."; yext3gpp:notNotifyable; } leaf monitoredAttributes { Loading @@ -242,6 +259,7 @@ module _3gpp-common-fm { description "Indicates MO attributes whose value changes are being monitored."; reference "ITU-T Recommendation X.733 clause 8.1.2.11."; yext3gpp:notNotifyable; } leaf proposedRepairActions { Loading @@ -249,15 +267,18 @@ module _3gpp-common-fm { config false ; description "Indicates proposed repair actions. See definition in ITU-T Recommendation X.733 clause 8.1.2.12."; yext3gpp:notNotifyable; } leaf additionalText { type string; config false ; yext3gpp:notNotifyable; } anydata additionalInformation { config false ; yext3gpp:notNotifyable; } leaf rootCauseIndicator { Loading @@ -269,6 +290,7 @@ module _3gpp-common-fm { description "It indicates that this AlarmInformation is the root cause of the events captured by the notifications whose identifiers are in the related CorrelatedNotification instances."; yext3gpp:notNotifyable; } leaf ackTime { Loading @@ -277,12 +299,14 @@ module _3gpp-common-fm { description "It identifies the time when the alarm has been acknowledged or unacknowledged the last time, i.e. it registers the time when ackState changes."; yext3gpp:notNotifyable; } leaf ackUserId { type string; description "It identifies the last user who has changed the Acknowledgement State."; yext3gpp:notNotifyable; } leaf ackSystemId { Loading @@ -290,6 +314,7 @@ module _3gpp-common-fm { description "It identifies the system (Management System) that last changed the ackState of an alarm, i.e. acknowledged or unacknowledged the alarm."; yext3gpp:notNotifyable; } leaf ackState { Loading @@ -302,16 +327,19 @@ module _3gpp-common-fm { been acknowledged."; } } yext3gpp:notNotifyable; } leaf clearUserId { type string; description "Carries the identity of the user who invokes the clearAlarms operation."; yext3gpp:notNotifyable; } leaf clearSystemId { type string; yext3gpp:notNotifyable; } leaf serviceUser { Loading @@ -320,6 +348,7 @@ module _3gpp-common-fm { description "It identifies the service-user whose request for service provided by the serviceProvider led to the generation of the security alarm."; yext3gpp:notNotifyable; } leaf serviceProvider { Loading @@ -328,11 +357,13 @@ module _3gpp-common-fm { description "It identifies the service-provider whose service is requested by the serviceUser and the service request provokes the generation of the security alarm."; yext3gpp:notNotifyable; } leaf securityAlarmDetector { type string; config false ; yext3gpp:notNotifyable; } } Loading Loading @@ -361,17 +392,20 @@ module _3gpp-common-fm { config false; mandatory true; description "The number of alarm records in the AlarmList"; yext3gpp:notNotifyable; } leaf lastModification { type yang:date-and-time ; config false; description "The last time when an alarm record was modified"; yext3gpp:notNotifyable; } list alarmRecords { key alarmId; description "List of alarmRecords"; yext3gpp:notNotifyable; uses AlarmRecordGrp; } } Loading yang-models/_3gpp-common-managed-element.yang +3 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ module _3gpp-common-managed-element { import _3gpp-common-subscription-control { prefix subscr3gpp; } import _3gpp-common-fm { prefix fm3gpp; } import _3gpp-common-trace { prefix trace3gpp; } import _3gpp-common-files { prefix files3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; Loading @@ -28,6 +29,7 @@ module _3gpp-common-managed-element { 3GPP TS 28.620 Umbrella Information Model (UIM)"; revision 2022-09-30 { reference "CR-0191"; } revision 2021-01-16 { reference "CR-0120"; } revision 2020-08-06 { reference "CR-0102"; } revision 2020-08-03 { reference "CR-0095"; } Loading Loading @@ -244,5 +246,6 @@ module _3gpp-common-managed-element { if-feature TraceUnderManagedElement; } uses files3gpp:FilesSubtree; } } No newline at end of file Loading
yang-models/_3gpp-5gc-nrm-configurable5qiset.yang +9 −1 Original line number Diff line number Diff line Loading @@ -9,9 +9,17 @@ module _3gpp-5gc-nrm-configurable5qiset { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the configurable 5QIs, including their QoS characteristics, that need to be pre-configured (and configurable) to the 5G NFs."; (and configurable) to the 5G NFs. The 5QI set definition supports multiple deployment scenarios. The sets can be name contained by SubNetwork ManagedElement, GNBDUFunction, GNBCUUPFunction and GNBCUCPFunction. Sets are then referenced by attribute (configurable5QISetRef) in applicable MOIs. For consistency it is recommended that referenced 5QI sets be defined within the same subtree."; reference "3GPP TS 28.541"; revision 2022-11-02 { reference "CR-0753" ; } revision 2022-07-28 { reference "CR-0770"; } revision 2022-04-29 { reference "CR-0729"; } revision 2022-01-07 { reference CR-0643; } Loading
yang-models/_3gpp-common-filemanagement.yang +4 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ module _3gpp-common-filemanagement { import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix yang3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } organization "3GPP SA5"; Loading @@ -14,6 +15,7 @@ module _3gpp-common-filemanagement { Class (IOC) that is part of the Generic Network Resource Model (NRM)."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; revision 2022-10-24 { reference CR-0196; } revision 2022-02-10 { reference "Initial revision, S5-221757"; } grouping FileDownloadProcessMonitor { Loading Loading @@ -50,11 +52,13 @@ module _3gpp-common-filemanagement { allowedValues: File URI (See RFC 8089)"; mandatory true; type string; yext3gpp:notNotifyable; } leaf notificationRecipientAddress { description "Address of the notification recipient."; type string; yext3gpp:notNotifyable; } leaf cancelJob { Loading
yang-models/_3gpp-common-files.yang 0 → 100644 +311 −0 Original line number Diff line number Diff line module _3gpp-common-files { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-common-files"; prefix "files3gpp"; import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } import ietf-yang-types { prefix yang; } import ietf-inet-types { prefix inet; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of File retrieval NRM fragment including the IOCs File and Files."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) Integration Reference Point (IRP); Solution Set (SS) definitions 3GPP TS 28.622 Generic Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS)"; revision 2022-09-28 { reference CR-0191; } grouping FileGrp { description "Represents the File IOC."; leaf fileLocation { type inet:uri ; mandatory true; yext3gpp:notNotifyable ; description "Location of the file incl. the file transfer protocol, and the file name for the case the file content cannot be retrieved by reading the 'fileContent' attribute. The allowed file transfer protocols are: - sftp - ftpes - https Examples: 'sftp://companyA.com/datastore/fileName.xml', 'https://companyA.com/ManagedElement=1/Files=1/File=1' "; } leaf fileCompression { type string ; mandatory true; yext3gpp:notNotifyable ; description "Name of the algorithm used for compressing the file. An empty or absent 'fileCompression' parameter indicates the file is not compressed. The MnS producer selects the compression algorithm. It is encouraged to use popular algorithms such as GZIP."; } leaf fileSize { type uint64 ; mandatory true; units bytes; yext3gpp:notNotifyable ; description "Size of the file"; } leaf fileDataType { type enumeration { enum PERFORMANCE { description "The value 'PERFORMANCE' refers to measurements and KPIs"; } enum TRACE; enum ANALYTICS; enum PROPRIETARY; } mandatory true; yext3gpp:notNotifyable ; description "Type of the management data stored in the file."; } leaf fileFormat { type string ; mandatory true; yext3gpp:notNotifyable ; description "Identifier of the XML or ASN.1 schema (incl. its version) used to produce the file content."; } leaf fileReadyTime { type yang:date-and-time ; mandatory true; yext3gpp:notNotifyable ; description "Date and time, when the file was closed (the last time) and made available on the MnS producer. The file content will not be changed anymore."; } leaf fileExpirationTime { type yang:date-and-time ; mandatory true; yext3gpp:notNotifyable ; description "Date and time after which the file may be deleted."; } leaf fileContent { type string ; // String is very restrictive mandatory true; yext3gpp:notNotifyable ; description "File content"; } leaf-list jobRef { type types3gpp:DistinguishedName ; yext3gpp:notNotifyable ; description "Object instance of the 'PerfMetricJob' or 'TraceJob' that produced the file."; } leaf jobId { type string ; yext3gpp:notNotifyable ; description "Identifier of a PerfMetricJob job or a TraceJob."; } } grouping FilesGrp { description "Represents the Files IOC."; leaf numberOfFiles { type uint64 ; yext3gpp:notNotifyable ; description "Number of files in a file collection."; } leaf-list jobRef { type types3gpp:DistinguishedName ; yext3gpp:notNotifyable ; description "Object instance of the 'PerfMetricJob' or 'TraceJob' that produced the file."; } leaf jobId { type string ; yext3gpp:notNotifyable ; description "Identifier of a PerfMetricJob job or a TraceJob."; } } grouping FilesSubtree { description "Contains classes of the File retrieval NRM fragment. Should be used in classes (or classes inheriting from) - SubNnetwork - ManagedElement - PerfMetricJob - TraceJob If a YANG module wants to augment these classes/list/groupings they must augment all user classes!"; list Files { description "This IOC represents a collection of files. It can be name-contained by 'SubNetwork', 'ManagedElement', 'PerfMetricJob' or 'TraceJob'. The 'Files' object name-contains 'File' objects, that represent the files of the collection. File collections allow to structure related files under a common root. Instances of 'Files' are created by MnS producers. They shall be created at latest when the first file of the collection becomes available for retrieval by MnS consumers. The attributes of 'Files' represent properties of the file collection and not properties of individual files. When the file retrieval NRM fragment is used together with a data collection job ('PerfMetricJob' or 'TraceJob') the following provisions shall apply: - The 'Files' object shall be created at the same time as the object representing the data collection job. - The attributes 'jobRef' and 'jobId' shall be supported and present in a 'Files' instance. They shall identify the job that the files in the file collection relate to. - A 'Files' instance shall contain files related to one and only one job. - The files produced by one job shall be contained in one and only one 'Files' instance. - The job object shall support an attribute with a link to the created 'Files' instance ('_linkToFiles'). - The attribute '_linkToFiles' shall be returned in the job creation response, if the stage 3 protocol supports returning attributes in an object creation response. - The MnS producer decides where to name-contain the 'Files' instance related to a job. The attribute '_linkToFiles' allows a MnS consumer to create simple and targeted subscriptions for 'notifyFileReady', 'notifyFilePreparationError' and 'notifyFileDeletion', or 'notifyMOICreation', 'notifyMOIChanges', 'notifyFilePreparationError' and 'notifyFileDeletion' related to 'File' instances created or deleted under the 'Files' instance of a specific job. The subscription needs to scope simply objects one level below the 'Files' object. In addition, the attribute '_linkToFiles' allows for simple deployments not relying on notifications for reporting the availability of new files, where the MnS consumer polls regularly for new files under 'Files'."; key id; config false; uses top3gpp:Top_Grp ; container attributes { uses FilesGrp ; } list File { description "Represents a file. It is name-contained by 'Files'. When a file becomes available on a MnS producer for retrieval by a MnS consumer, the MnS producer shall create a 'File' instance representing that file. The time of creation shall be captured by the MnS producer in the 'fileReadyTime' attribute. The MnS producer shall keep the file at least until the time specified by 'fileExpirationTime'. After that time the MnS producer may delete the 'File' instance. The 'fileExpirationTime' is determined by the MnS producer based on considerations such as available storage space or file retention policies. The attributes 'fileSize', 'fileCompression', 'fileDataType' and 'fileFormat' describe the file properties. The 'fileLocation' attribute indicates the address where the file can be retrieved. The address includes the file transfer protocol (schema). Allowed file transfer protocols are 'sftp', 'ftpes' and 'https'. The value of 'fileLocation' can be identical to or different from the address of the 'File' instance. The attribute 'fileContent' is provided for retrieving the actual file content. When identifying in the Read request a 'File' instance and specifying only the 'fileContent' attribute be returned, then only the file content shall be returned in the response. Note, as usual, multiple attributes can be specified to be returned, so that the file content together with some or all file meta data attributes can be returned in response to a single request. In case the 'fileLocation' specifies a location different than the 'File' object location, then the attribute 'fileContent' cannot be used for retrieving the file content. For example, the 'File' object location may be given by 'https://companyA.com/ManagedElement=1/Files=1/File=1' and the value of the 'fileLocation' attribute by 'sftp://companyA.com/datastore/fileName.xml' In this case the file needs to be retrieved using 'sftp' from 'sftp://companyA.com/datastore/fileName.xml'. Attempts to read the 'fileContent' attribute shall return an error. When the file retrieval NRM fragment is used together with a data collection job ('PerfMetricJob' or 'TraceJob') the following provisions shall apply: - The attributes 'jobRef' and 'jobId' shall be supported and present. They shall identify the job that the file is related to. The attributes 'jobRef' and 'jobId' allow to set notification filters in the subscription in such a way that only 'notifyMOICreation', notifyMOIChanges and 'notifyMOIDeletion' notifications are sent to subscribed MnS consumers if the created or deleted 'File' instance represents data related to jobs the subscribed MnS consumer created or is interested in. Upon creation of a 'File' instance, a notification of type 'notifyMOICreation' or 'notifyMOIChanges' shall be emitted to subscribed MnS consumers as usual. For the case that the file contains performance metric data ('fileDataType' is 'PERFORMANCE') the MnS producer shall emit either a notification of type 'notifyMOICreation', 'notifyMOICreation' or of type 'notifyFileReady'. The MnS consumer selects the notification type he wishes to receive with the subscription created on the MnS producer. The 'objectClass' and 'objectInstance' parameters in the notification header of 'notifyFileReady' shall identify the new 'File' instance, instead of the related 'PerfMetricJob', 'TraceJob', 'ManagedElement' or 'ManagementNode'as described in 3GPP TS 28.532, clause 11.6.1.1.1 for the case that 'notifyFileReady' is used as part of the file data reporting MnS. The notification 'notifyFilePreparationError' shall be supported as well by the 'File' object. It shall be sent when an error occurs during the preparation of the file. No 'notifyFileReady' or 'notifMOICreation shall be sent in that case. The 'objectClass' and 'objectInstance' parameters of the notification header shall identify the new 'File' instance representing the corrupted file, instead of the related 'PerfMetricJob', 'TraceJob', 'ManagedElement' or 'ManagementNode'as described in 3GPP TS 28.532, clause 11.6.1.1.1 for the case that 'notifyFilePreparationError' is used as part of the file data reporting MnS. When the file is not created at all or deleted, the 'objectClass' and 'objectInstance' parameters of the notification header are populated as described in 3GPP TS 28.532, clause 11.6.1.1.1. Note that to receive 'notifyFilePreparationError' in that case the notification subscription needs to include these objects in its scope."; key id; uses top3gpp:Top_Grp ; container attributes { uses FileGrp ; } } } } } No newline at end of file
yang-models/_3gpp-common-fm.yang +34 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ module _3gpp-common-fm { import ietf-yang-types { prefix yang; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; Loading @@ -22,6 +23,7 @@ module _3gpp-common-fm { Integration Reference Point (IRP); Information Service (IS)"; revision 2022-10-24 { reference CR-0196; } revision 2021-08-08 { reference "CR-0132"; } revision 2021-06-02 { reference "CR-0130"; } revision 2020-06-03 { reference "CR-0091"; } Loading Loading @@ -107,58 +109,68 @@ module _3gpp-common-fm { type string; mandatory true; description "Identifies the alarmRecord"; yext3gpp:notNotifyable; } leaf objectInstance { type string; config false ; mandatory true; yext3gpp:notNotifyable; } leaf notificationId { type int32; config false ; mandatory true; yext3gpp:notNotifyable; } leaf alarmRaisedTime { type yang:date-and-time ; config false ; yext3gpp:notNotifyable; } leaf alarmChangedTime { type yang:date-and-time ; config false ; description "not applicable if related alarm has not changed"; yext3gpp:notNotifyable; } leaf alarmClearedTime { type yang:date-and-time ; config false ; description "not applicable if related alarm was not cleared"; yext3gpp:notNotifyable; } leaf alarmType { type eventType; config false ; description "General category for the alarm."; yext3gpp:notNotifyable; } leaf probableCause { type string; config false ; yext3gpp:notNotifyable; } leaf specificProblem { type string; config false ; reference "ITU-T Recommendation X.733 clause 8.1.2.2."; yext3gpp:notNotifyable; } leaf perceivedSeverity { type severity-level; description "This is Writable only if producer supports consumer to set perceivedSeverity to CLEARED"; yext3gpp:notNotifyable; } leaf backedUpStatus { Loading @@ -166,11 +178,13 @@ module _3gpp-common-fm { config false ; description "Indicates if an object (the MonitoredEntity) has a back up. See definition in ITU-T Recommendation X.733 clause 8.1.2.4."; yext3gpp:notNotifyable; } leaf backUpObject { type string; config false ; yext3gpp:notNotifyable; } leaf trendIndication { Loading @@ -179,6 +193,7 @@ module _3gpp-common-fm { description "Indicates if some observed condition is getting better, worse, or not changing. "; reference "ITU-T Recommendation X.733 clause 8.1.2.6."; yext3gpp:notNotifyable; } grouping ThresholdPackGrp { Loading Loading @@ -226,6 +241,7 @@ module _3gpp-common-fm { list thresholdInfo { config false ; yext3gpp:notNotifyable; uses ThresholdInfoGrp; } Loading @@ -234,6 +250,7 @@ module _3gpp-common-fm { config false ; description "Indicates MO attribute value changes. See definition in ITU-T Recommendation X.733 clause 8.1.2.11."; yext3gpp:notNotifyable; } leaf monitoredAttributes { Loading @@ -242,6 +259,7 @@ module _3gpp-common-fm { description "Indicates MO attributes whose value changes are being monitored."; reference "ITU-T Recommendation X.733 clause 8.1.2.11."; yext3gpp:notNotifyable; } leaf proposedRepairActions { Loading @@ -249,15 +267,18 @@ module _3gpp-common-fm { config false ; description "Indicates proposed repair actions. See definition in ITU-T Recommendation X.733 clause 8.1.2.12."; yext3gpp:notNotifyable; } leaf additionalText { type string; config false ; yext3gpp:notNotifyable; } anydata additionalInformation { config false ; yext3gpp:notNotifyable; } leaf rootCauseIndicator { Loading @@ -269,6 +290,7 @@ module _3gpp-common-fm { description "It indicates that this AlarmInformation is the root cause of the events captured by the notifications whose identifiers are in the related CorrelatedNotification instances."; yext3gpp:notNotifyable; } leaf ackTime { Loading @@ -277,12 +299,14 @@ module _3gpp-common-fm { description "It identifies the time when the alarm has been acknowledged or unacknowledged the last time, i.e. it registers the time when ackState changes."; yext3gpp:notNotifyable; } leaf ackUserId { type string; description "It identifies the last user who has changed the Acknowledgement State."; yext3gpp:notNotifyable; } leaf ackSystemId { Loading @@ -290,6 +314,7 @@ module _3gpp-common-fm { description "It identifies the system (Management System) that last changed the ackState of an alarm, i.e. acknowledged or unacknowledged the alarm."; yext3gpp:notNotifyable; } leaf ackState { Loading @@ -302,16 +327,19 @@ module _3gpp-common-fm { been acknowledged."; } } yext3gpp:notNotifyable; } leaf clearUserId { type string; description "Carries the identity of the user who invokes the clearAlarms operation."; yext3gpp:notNotifyable; } leaf clearSystemId { type string; yext3gpp:notNotifyable; } leaf serviceUser { Loading @@ -320,6 +348,7 @@ module _3gpp-common-fm { description "It identifies the service-user whose request for service provided by the serviceProvider led to the generation of the security alarm."; yext3gpp:notNotifyable; } leaf serviceProvider { Loading @@ -328,11 +357,13 @@ module _3gpp-common-fm { description "It identifies the service-provider whose service is requested by the serviceUser and the service request provokes the generation of the security alarm."; yext3gpp:notNotifyable; } leaf securityAlarmDetector { type string; config false ; yext3gpp:notNotifyable; } } Loading Loading @@ -361,17 +392,20 @@ module _3gpp-common-fm { config false; mandatory true; description "The number of alarm records in the AlarmList"; yext3gpp:notNotifyable; } leaf lastModification { type yang:date-and-time ; config false; description "The last time when an alarm record was modified"; yext3gpp:notNotifyable; } list alarmRecords { key alarmId; description "List of alarmRecords"; yext3gpp:notNotifyable; uses AlarmRecordGrp; } } Loading
yang-models/_3gpp-common-managed-element.yang +3 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ module _3gpp-common-managed-element { import _3gpp-common-subscription-control { prefix subscr3gpp; } import _3gpp-common-fm { prefix fm3gpp; } import _3gpp-common-trace { prefix trace3gpp; } import _3gpp-common-files { prefix files3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; Loading @@ -28,6 +29,7 @@ module _3gpp-common-managed-element { 3GPP TS 28.620 Umbrella Information Model (UIM)"; revision 2022-09-30 { reference "CR-0191"; } revision 2021-01-16 { reference "CR-0120"; } revision 2020-08-06 { reference "CR-0102"; } revision 2020-08-03 { reference "CR-0095"; } Loading Loading @@ -244,5 +246,6 @@ module _3gpp-common-managed-element { if-feature TraceUnderManagedElement; } uses files3gpp:FilesSubtree; } } No newline at end of file