[DCAEGEN2-SERVICES] Fix and resolve remote references in st. def. domain
[oom.git] / kubernetes / dcaegen2-services / resources / external / schemas / sa88-rel16 / faultMnS.yaml
@@ -1,21 +1,21 @@
 openapi: 3.0.1
 info:
   title: Fault Supervision MnS
-  version: 16.6.0
+  version: 16.4.0
   description: >-
     OAS 3.0.1 definition of the Fault Supervision MnS
     © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
     All rights reserved.
 externalDocs:
-  description: 3GPP TS 28.532; Generic management services
+  description: 3GPP TS 28.532 V16.4.0; Generic management services
   url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/
 servers:
-  - url: '{MnSRoot}/FaultSupervisionMnS/{MnSversion}'
+  - url: '{MnSRoot}/FaultSupervisionMnS/{version}'
     variables:
       MnSRoot:
         description: See subclause 4.4.3 of TS 32.158
         default: http://example.com/3GPPManagement
-      MnSversion:
+      version:
         description: Version number of the OpenAPI definition
         default: XXX
 paths:
@@ -35,12 +35,12 @@ paths:
           in: query
           required: false
           schema:
-            $ref: 'comDefs.yaml#/components/schemas/Dn'
+            $ref: '#/components/schemas/Dn'
         - name: filter
           in: query
           required: false
           schema:
-            $ref: 'comDefs.yaml#/components/schemas/Filter'
+            $ref: '#/components/schemas/Filter'
       responses:
         '200':
           description: >-
@@ -57,7 +57,7 @@ paths:
                       - type: object
                         properties:
                           lastNotificationHeader:
-                            $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
+                            $ref: '#/components/schemas/NotificationHeader'
                       - $ref: '#/components/schemas/AlarmRecord'
                       - type: object
                         properties:
@@ -68,7 +68,7 @@ paths:
           content:
             application/json:
               schema:
-                $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
+                $ref: '#/components/schemas/ErrorResponse'
     patch:
       summary: 'Clear, acknowledge or unacknowledge multiple alarms'
       description: >-
@@ -130,7 +130,7 @@ paths:
           content:
             application/json:
               schema:
-                $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
+                $ref: '#/components/schemas/ErrorResponse'
   /alarms/{alarmId}:
     patch:
       summary: 'Clear, acknowledge or unacknowledge a single alarm'
@@ -163,7 +163,7 @@ paths:
           content:
             application/json:
               schema:
-                $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
+                $ref: '#/components/schemas/ErrorResponse'
   /alarms/{alarmId}/comments:
     post:
       summary: Add a comment to a single alarm
@@ -203,7 +203,7 @@ paths:
           content:
             application/json:
               schema:
-                $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
+                $ref: '#/components/schemas/ErrorResponse'
 
   /subscriptions:
     post:
@@ -238,7 +238,7 @@ paths:
           content:
             application/json:
               schema:
-                $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
+                $ref: '#/components/schemas/ErrorResponse'
       callbacks:
         notifyNewAlarm:
           '{request.body#/consumerReference}':
@@ -262,7 +262,7 @@ paths:
                   content:
                     application/json:
                       schema:
-                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
+                        $ref: '#/components/schemas/ErrorResponse'
         notifyClearedAlarm:
           '{request.body#/consumerReference}':
             post:
@@ -283,7 +283,7 @@ paths:
                   content:
                     application/json:
                       schema:
-                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
+                        $ref: '#/components/schemas/ErrorResponse'
         notifyChangedAlarm:
           '{request.body#/consumerReference}':
             post:
@@ -304,7 +304,7 @@ paths:
                   content:
                     application/json:
                       schema:
-                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
+                        $ref: '#/components/schemas/ErrorResponse'
         notifyChangedAlarmGeneral:
           '{request.body#/consumerReference}':
             post:
@@ -327,7 +327,7 @@ paths:
                   content:
                     application/json:
                       schema:
-                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
+                        $ref: '#/components/schemas/ErrorResponse'
         notifyCorrelatedNotificationChanged:
           '{request.body#/consumerReference}':
             post:
@@ -348,7 +348,7 @@ paths:
                   content:
                     application/json:
                       schema:
-                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
+                        $ref: '#/components/schemas/ErrorResponse'
         notifyAckStateChanged:
           '{request.body#/consumerReference}':
             post:
@@ -369,7 +369,7 @@ paths:
                   content:
                     application/json:
                       schema:
-                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
+                        $ref: '#/components/schemas/ErrorResponse'
         notifyComments:
           '{request.body#/consumerReference}':
             post:
@@ -390,7 +390,7 @@ paths:
                   content:
                     application/json:
                       schema:
-                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
+                        $ref: '#/components/schemas/ErrorResponse'
         notifyPotentialFaultyAlarmList:
           '{request.body#/consumerReference}':
             post:
@@ -411,7 +411,7 @@ paths:
                   content:
                     application/json:
                       schema:
-                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
+                        $ref: '#/components/schemas/ErrorResponse'
         notifyAlarmListRebuilt:
           '{request.body#/consumerReference}':
             post:
@@ -432,7 +432,7 @@ paths:
                   content:
                     application/json:
                       schema:
-                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
+                        $ref: '#/components/schemas/ErrorResponse'
   /subscriptions/{subscriptionId}:
     delete:
       summary: Delete a subscription
@@ -458,13 +458,94 @@ paths:
           content:
             application/json:
               schema:
-                $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
+                $ref: '#/components/schemas/ErrorResponse'
 
 components:
   schemas:
 
-  #---- Definition of AlarmRecord ----------------------------------------------------#
+  #---- Definitions to be moved to comDefs.yaml --------------------------------------#
+
+    Long:
+      type: string
+      format: long
+    Float:
+      type: string
+      format: float
+    DateTime:
+      type: string
+      format: date-Time
+
+    Dn:
+      type: string
+    Uri:
+      type: string
+
+    AttributeNameValuePairSet:
+      type: object
+      minProperties: 1
+    AttributeValueChangeSet:
+      description: >-
+        The key in this map is the attribute name. The value of each key is an array.
+        When only one item is present in the array, it carries the new attribute
+        value. If two items are present, then the first item carries the old value
+        and the second item the new value. The items can be of any type including null.
+      type: object
+      additionalProperties:
+        type: array
+        minItems: 1
+        maxItems: 2
+        items:
+          nullable: true
+
+    Filter:
+      type: string
+    SystemDN:
+      type: string
+
+    NotificationId:
+      type: integer
+    NotificationHeader:
+      description: >-
+        Header used for all notification types
+      type: object
+      required:
+        - href
+        - notificationId
+        - notificationType
+        - eventTime
+        - systemDN
+      properties:
+        uri:
+          $ref: '#/components/schemas/Uri'
+        notificationId:
+          $ref: '#/components/schemas/NotificationId'
+        notificationType:
+          oneOf:
+            - $ref: '#/components/schemas/AlarmNotificationTypes'
+            #- $ref: 'faultMnS.yaml#/components/schemas/AlarmNotificationTypes'
+            #- $ref: 'provMnS.yaml#/components/schemas/CmNotificationTypes'
+            # more to be added
+        eventTime:
+          $ref: '#/components/schemas/DateTime'
+        systemDN:
+          $ref: '#/components/schemas/SystemDN'
+
+    ErrorResponse:
+      description: >-
+        Default schema for the response message body in case the request is not
+        successful.
+      type: object
+      properties:
+        error:
+          type: object
+          properties:
+            errorInfo:
+              type: string
+
+  #---- End of definitions to be moved to comDefs.yaml -------------------------------#
 
+  #---- Definition of AlarmRecord ----------------------------------------------------#
     AlarmId:
       type: string
     AlarmType:
@@ -527,47 +608,46 @@ components:
         high:
           oneOf:
             - type: integer
-            - $ref: 'comDefs.yaml#/components/schemas/Float'
+            - $ref: '#/components/schemas/Float'
         low:
-          $ref: 'comDefs.yaml#/components/schemas/Float'
+          $ref: '#/components/schemas/Float'
     ThresholdLevelInd:
-      oneOf:
-        - type: object
-          properties:
-            up:
-              $ref: '#/components/schemas/ThresholdHysteresis'
-        - type: object
-          properties:
-            down:
-              $ref: '#/components/schemas/ThresholdHysteresis'
+      type: object
+      required:
+        - up
+      properties:
+        up:
+          $ref: '#/components/schemas/ThresholdHysteresis'
+        low:
+          $ref: '#/components/schemas/ThresholdHysteresis'
     ThresholdInfo:
       type: object
+      required:
+        - observedMeasurement
+        - observedValue
       properties:
         observedMeasurement:
           type: string
         observedValue:
           oneOf:
             - type: integer
-            - $ref: 'comDefs.yaml#/components/schemas/Float'
-        thresholdLevel:
+            - $ref: '#/components/schemas/Float'
+        thresholdLevelInd:
           $ref: '#/components/schemas/ThresholdLevelInd'
         armTime:
-          $ref: 'comDefs.yaml#/components/schemas/DateTime'
-      required:
-        - observedMeasurement
-        - observedValue
+          $ref: '#/components/schemas/DateTime'
     CorrelatedNotification:
       type: object
+      required:
+        - source
+        - notificationId
       properties:
         sourceObjectInstance:
-          $ref: 'comDefs.yaml#/components/schemas/Dn'
+          $ref: '#/components/schemas/Dn'
         notificationIds:
           type: array
           items:
-            $ref: 'comDefs.yaml#/components/schemas/NotificationId'
-      required:
-        - sourceObjectInstance
-        - notificationIds
+            $ref: '#/components/schemas/NotificationId'
     CorrelatedNotifications:
       type: array
       items:
@@ -587,15 +667,15 @@ components:
         # alarmId:
         #  $ref: '#/components/schemas/AlarmId'
         objectInstance:
-          $ref: 'comDefs.yaml#/components/schemas/Dn'
+          $ref: '#/components/schemas/Dn'
         notificationId:
-          $ref: 'comDefs.yaml#/components/schemas/NotificationId'
+          $ref: '#/components/schemas/NotificationId'
         alarmRaisedTime:
-          $ref: 'comDefs.yaml#/components/schemas/DateTime'
+          $ref: '#/components/schemas/DateTime'
         alarmChangedTime:
-          $ref: 'comDefs.yaml#/components/schemas/DateTime'
+          $ref: '#/components/schemas/DateTime'
         alarmClearedTime:
-          $ref: 'comDefs.yaml#/components/schemas/DateTime'
+          $ref: '#/components/schemas/DateTime'
         alarmType:
           $ref: '#/components/schemas/AlarmType'
         probableCause:
@@ -607,7 +687,7 @@ components:
         backedUpStatus:
           type: boolean
         backUpObject:
-          $ref: 'comDefs.yaml#/components/schemas/Dn'
+          $ref: '#/components/schemas/Dn'
         trendIndication:
           $ref: '#/components/schemas/TrendIndication'
         thresholdinfo:
@@ -615,21 +695,21 @@ components:
         correlatedNotifications:
           $ref: '#/components/schemas/CorrelatedNotifications'
         stateChangeDefinition:
-          $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet'
+          $ref: '#/components/schemas/AttributeValueChangeSet'
         monitoredAttributes:
-          $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
+          $ref: '#/components/schemas/AttributeNameValuePairSet'
         proposedRepairActions:
           type: string
         additionalText:
           type: string
         additionalInformation:
-          $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
+          $ref: '#/components/schemas/AttributeNameValuePairSet'
 
         rootCauseIndicator:
           type: boolean
 
         ackTime:
-          $ref: 'comDefs.yaml#/components/schemas/DateTime'
+          $ref: '#/components/schemas/DateTime'
         ackUserId:
           type: string
         ackSystemId:
@@ -649,7 +729,7 @@ components:
           type: string
 
   #---- Definition of alarm notifications --------------------------------------------#
-
+  
     AlarmNotificationTypes:
       type: string
       enum:
@@ -670,7 +750,7 @@ components:
 
     NotifyNewAlarm:
       allOf:
-        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
+        - $ref: '#/components/schemas/NotificationHeader'
         - type: object
           required:
             - alarmId
@@ -691,7 +771,7 @@ components:
             backedUpStatus:
               type: boolean
             backUpObject:
-              $ref: 'comDefs.yaml#/components/schemas/Dn'
+              $ref: '#/components/schemas/Dn'
             trendIndication:
               $ref: '#/components/schemas/TrendIndication'
             thresholdInfo:
@@ -699,20 +779,20 @@ components:
             correlatedNotifications:
               $ref: '#/components/schemas/CorrelatedNotifications'
             stateChangeDefinition:
-              $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet'
+              $ref: '#/components/schemas/AttributeValueChangeSet'
             monitoredAttributes:
-              $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
+              $ref: '#/components/schemas/AttributeNameValuePairSet'
             proposedRepairActions:
               type: string
             additionalText:
               type: string
             additionalInformation:
-              $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
+              $ref: '#/components/schemas/AttributeNameValuePairSet'
             rootCauseIndicator:
               type: boolean
     NotifyNewSecAlarm:
       allOf:
-        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
+        - $ref: '#/components/schemas/NotificationHeader'
         - type: object
           required:
             - alarmId
@@ -721,7 +801,7 @@ components:
             - perceivedSeverity
             - serviceUser
             - serviceProvider
-            - securityAlarmDetector
+            - securityAlarmDetector 
           properties:
             alarmId:
               $ref: '#/components/schemas/AlarmId'
@@ -736,7 +816,7 @@ components:
             additionalText:
               type: string
             additionalInformation:
-              $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
+              $ref: '#/components/schemas/AttributeNameValuePairSet'
             rootCauseIndicator:
               type: boolean
             serviceUser:
@@ -747,7 +827,7 @@ components:
               type: string
     NotifyClearedAlarm:
       allOf:
-        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
+        - $ref: '#/components/schemas/NotificationHeader'
         - type: object
           required:
             - alarmId
@@ -771,7 +851,7 @@ components:
               type: string
     NotifyChangedAlarm:
       allOf:
-        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
+        - $ref: '#/components/schemas/NotificationHeader'
         - type: object
           required:
             - alarmId
@@ -789,11 +869,14 @@ components:
               $ref: '#/components/schemas/PerceivedSeverity'
     NotifyChangedAlarmGeneral:
       allOf:
-        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
+        - $ref: '#/components/schemas/NotificationHeader'
         - type: object
           required:
             - alarmId
             - alarmType
+            - probableCause
+            - perceivedSeverity
+            - changedAlarmAttributes
           properties:
             alarmId:
               $ref: '#/components/schemas/AlarmId'
@@ -810,35 +893,38 @@ components:
             backedUpStatus:
               type: boolean
             backUpObject:
-              $ref: 'comDefs.yaml#/components/schemas/Dn'
+              $ref: '#/components/schemas/Dn'
             trendIndication:
               $ref: '#/components/schemas/TrendIndication'
             thresholdInfo:
               $ref: '#/components/schemas/ThresholdInfo'
             stateChangeDefinition:
-              $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet'
+              $ref: '#/components/schemas/AttributeValueChangeSet'
             monitoredAttributes:
-              $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
+              $ref: '#/components/schemas/AttributeNameValuePairSet'
             proposedRepairActions:
               type: string
             additionalText:
               type: string
             additionalInformation:
-              $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
+              $ref: '#/components/schemas/AttributeNameValuePairSet'
             rootCauseIndicator:
               type: boolean
             changedAlarmAttributes:
-              $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
+              $ref: '#/components/schemas/AttributeNameValuePairSet'
     NotifyChangedSecAlarmGeneral:
       allOf:
-        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
+        - $ref: '#/components/schemas/NotificationHeader'
         - type: object
           required:
             - alarmId
             - alarmType
+            - probableCause
+            - perceivedSeverity
             - serviceUser
             - serviceProvider
             - securityAlarmDetector
+            - changedAlarmAttributes
           properties:
             alarmId:
               $ref: '#/components/schemas/AlarmId'
@@ -853,7 +939,7 @@ components:
             additionalText:
               type: string
             additionalInformation:
-              $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
+              $ref: '#/components/schemas/AttributeNameValuePairSet'
             rootCauseIndicator:
               type: boolean
             serviceUser:
@@ -863,10 +949,10 @@ components:
             securityAlarmDetector:
               type: string
             changedAlarmAttributes:
-              $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
+              $ref: '#/components/schemas/AttributeNameValuePairSet'
     NotifyCorrelatedNotificationChanged:
       allOf:
-        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
+        - $ref: '#/components/schemas/NotificationHeader'
         - type: object
           required:
             - alarmId
@@ -880,7 +966,7 @@ components:
               type: boolean
     NotifyAckStateChanged:
       allOf:
-        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
+        - $ref: '#/components/schemas/NotificationHeader'
         - type: object
           required:
             - alarmId
@@ -906,7 +992,7 @@ components:
               type: string
     NotifyComments:
       allOf:
-        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
+        - $ref: '#/components/schemas/NotificationHeader'
         - type: object
           required:
             - alarmId
@@ -927,7 +1013,7 @@ components:
               $ref: '#/components/schemas/Comments'
     NotifyPotentialFaultyAlarmList:
       allOf:
-        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
+        - $ref: '#/components/schemas/NotificationHeader'
         - type: object
           required:
             - reason
@@ -936,7 +1022,7 @@ components:
               type: string
     NotifyAlarmListRebuilt:
       allOf:
-        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
+        - $ref: '#/components/schemas/NotificationHeader'
         - type: object
           required:
             - reason
@@ -947,7 +1033,7 @@ components:
               $ref: '#/components/schemas/AlarmListAlignmentRequirement'
 
   #---- Definition of query parameters -----------------------------------------------#
-
+  
     AlarmAckState:
       type: string
       enum:
@@ -1033,7 +1119,7 @@ components:
       type: object
       properties:
         commentTime:
-          $ref: 'comDefs.yaml#/components/schemas/DateTime'
+          $ref: '#/components/schemas/DateTime'
         commentUserId:
           type: string
         commentSystemId:
@@ -1051,8 +1137,8 @@ components:
       type: object
       properties:
         consumerReference:
-          $ref: 'comDefs.yaml#/components/schemas/Uri'
+          $ref: '#/components/schemas/Uri'
         timeTick:
-          type: integer
+          $ref: '#/components/schemas/Long'
         filter:
-          $ref: 'comDefs.yaml#/components/schemas/Filter'
+          $ref: '#/components/schemas/Filter'