[DCAEGEN2-SLICEANALYSISMS] Add new robot for CCVPN/IBN closed-loop functionality...
[integration/csit.git] / plans / dcaegen2-services-slice-analysis-ms / testsuites / config / vescollector / etc / externalRepo / 3gpp / rep / sa5 / MnS / blob / SA88-Rel16 / OpenAPI / faultMnS.yaml
1 openapi: 3.0.1
2 info:
3   title: Fault Supervision MnS
4   version: 16.4.0
5   description: >-
6     OAS 3.0.1 definition of the Fault Supervision MnS
7     © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
8     All rights reserved.
9 externalDocs:
10   description: 3GPP TS 28.532 V16.4.0; Generic management services
11   url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/
12 servers:
13   - url: '{MnSRoot}/FaultSupervisionMnS/{version}'
14     variables:
15       MnSRoot:
16         description: See subclause 4.4.3 of TS 32.158
17         default: http://example.com/3GPPManagement
18       version:
19         description: Versi      on number of the OpenAPI definition
20         default: XXX
21 paths:
22   /alarms:
23     get:
24       summary: Retrieve multiple alarms
25       description: >-
26         Retrieves the alarms identified by alarmAckState, baseObjectInstance
27         and filter.
28       parameters:
29         - name: alarmAckState
30           in: query
31           required: false
32           schema:
33             $ref: '#/components/schemas/AlarmAckState'
34         - name: baseObjectInstance
35           in: query
36           required: false
37           schema:
38             $ref: '#/components/schemas/Dn'
39         - name: filter
40           in: query
41           required: false
42           schema:
43             $ref: '#/components/schemas/Filter'
44       responses:
45         '200':
46           description: >-
47             Success case ("200 OK").
48             Returns the alarms identified in the request. The alarmId is the key
49             of the map.
50           content:
51             application/json:
52               schema:
53                 type: object
54                 additionalProperties:
55                   type: object
56                   allOf:
57                       - type: object
58                         properties:
59                           lastNotificationHeader:
60                             $ref: '#/components/schemas/NotificationHeader'
61                       - $ref: '#/components/schemas/AlarmRecord'
62                       - type: object
63                         properties:
64                           comments:
65                             $ref: '#/components/schemas/Comments'
66         default:
67           description: Response in case of error.
68           content:
69             application/json:
70               schema:
71                 $ref: '#/components/schemas/ErrorResponse'
72     patch:
73       summary: 'Clear, acknowledge or unacknowledge multiple alarms'
74       description: >-
75         Clears, acknowledges or unacknowledges multiple alarms using patch. Depending
76         on which action is to be performed, different merge patch documents need
77         to be used.
78       requestBody:
79         description: >-
80           Patch documents for acknowledging and unacknowledging, or clearing multiple
81           alarms. The keys in the map are the alarmIds to be patched.
82         content:
83           application/merge-patch+json:
84             schema:
85               oneOf:
86                 - type: object
87                   additionalProperties:
88                     $ref: '#/components/schemas/MergePatchAcknowledgeAlarm'
89                 - type: object
90                   additionalProperties:
91                     $ref: '#/components/schemas/MergePatchClearAlarm'
92       responses:
93         '204':
94           description: >-
95             Success case ("204 No content").
96             The response message body is empty.
97         default:
98           description: Response in case of error.
99           content:
100             application/json:
101               schema:
102                 type: array
103                 items:
104                   $ref: '#/components/schemas/FailedAlarm'
105   /alarms/alarmCount:
106     get:
107       summary: Get the alarm count per perceived severity
108       parameters:
109         - name: alarmAckState
110           in: query
111           required: false
112           schema:
113             $ref: '#/components/schemas/AlarmAckState'
114         - name: filter
115           in: query
116           required: false
117           schema:
118             type: string
119       responses:
120         '200':
121           description: >-
122             Success case ("200 OK").
123             The alarm count per perceived severity is returned.
124           content:
125             application/json:
126               schema:
127                 $ref: '#/components/schemas/AlarmCount'
128         default:
129           description: Response in case of error. The error case needs rework.
130           content:
131             application/json:
132               schema:
133                 $ref: '#/components/schemas/ErrorResponse'
134   /alarms/{alarmId}:
135     patch:
136       summary: 'Clear, acknowledge or unacknowledge a single alarm'
137       description: >-
138         Clears, acknowledges or uncknowldeges a single alarm by patching the alarm
139         information. A conditional acknowledge request based on the perceived
140         severity is not supported.
141       parameters:
142         - name: alarmId
143           in: path
144           description: Identifies the alarm to be patched.
145           required: true
146           schema:
147             type: string
148       requestBody:
149         required: true
150         content:
151           application/merge-patch+json:
152             schema:
153               oneOf:
154                 - $ref: '#/components/schemas/MergePatchAcknowledgeAlarm'
155                 - $ref: '#/components/schemas/MergePatchClearAlarm'
156       responses:
157         '204':
158           description: >-
159             Success case (204 No content).
160             The response message body is absent.
161         default:
162           description: Response in case of error.
163           content:
164             application/json:
165               schema:
166                 $ref: '#/components/schemas/ErrorResponse'
167   /alarms/{alarmId}/comments:
168     post:
169       summary: Add a comment to a single alarm
170       description: >-
171         Adds a comment to an alarm identified by alarmId. The id of the new comment
172         is allocated by the producer.
173       parameters:
174         - name: alarmId
175           in: path
176           description: Identifies the alarm to which the comment shall be added.
177           required: true
178           schema:
179             type: string
180       requestBody:
181         required: true
182         content:
183           application/json:
184             schema:
185               $ref: '#/components/schemas/Comment'
186       responses:
187         '201':
188           description: >-
189             Success case (201 Created).
190             The representation of the newly created comment resource shall be returned.
191           content:
192             application/json:
193               schema:
194                 $ref: '#/components/schemas/Comment'
195           headers:
196             Location:
197               description: URI of the newly created comment resource.
198               required: true
199               schema:
200                 type: string
201         default:
202           description: Error case.
203           content:
204             application/json:
205               schema:
206                 $ref: '#/components/schemas/ErrorResponse'
207
208   /subscriptions:
209     post:
210       summary: Create a subscription
211       description: >-
212         To create a subscription the representation of the subscription is
213         POSTed on the /subscriptions collection resource.
214       requestBody:
215         required: true
216         content:
217           application/json:
218             schema:
219               $ref: '#/components/schemas/Subscription'
220       responses:
221         '201':
222           description: >-
223             Success case ("201 Created").
224             The representation of the newly created subscription resource shall
225             be returned.
226           content:
227             application/json:
228               schema:
229                 $ref: '#/components/schemas/Subscription'
230           headers:
231             Location:
232               description: URI of the newly created subscription resource
233               required: true
234               schema:
235                 type: string
236         default:
237           description: Error case.
238           content:
239             application/json:
240               schema:
241                 $ref: '#/components/schemas/ErrorResponse'
242       callbacks:
243         notifyNewAlarm:
244           '{request.body#/consumerReference}':
245             post:
246               requestBody:
247                 required: true
248                 content:
249                   application/json:
250                     schema:
251                       oneOf:
252                         - $ref: '#/components/schemas/NotifyNewAlarm'
253                         - $ref: '#/components/schemas/NotifyNewSecAlarm'
254               responses:
255                 '204':
256                   description: >-
257                     Success case ("204 No Content").
258                     The notification is successfully delivered. The response message
259                     body is absent.
260                 default:
261                   description: Error case.
262                   content:
263                     application/json:
264                       schema:
265                         $ref: '#/components/schemas/ErrorResponse'
266         notifyClearedAlarm:
267           '{request.body#/consumerReference}':
268             post:
269               requestBody:
270                 required: true
271                 content:
272                   application/json:
273                     schema:
274                       $ref: '#/components/schemas/NotifyClearedAlarm'
275               responses:
276                 '204':
277                   description: >-
278                     Success case ("204 No Content").
279                     The notification is successfully delivered. The response message
280                     body is absent.
281                 default:
282                   description: Error case.
283                   content:
284                     application/json:
285                       schema:
286                         $ref: '#/components/schemas/ErrorResponse'
287         notifyChangedAlarm:
288           '{request.body#/consumerReference}':
289             post:
290               requestBody:
291                 required: true
292                 content:
293                   application/json:
294                     schema:
295                       $ref: '#/components/schemas/NotifyChangedAlarm'
296               responses:
297                 '204':
298                   description: >-
299                     Success case ("204 No Content").
300                     The notification is successfully delivered. The response message
301                     body is absent.
302                 default:
303                   description: Error case.
304                   content:
305                     application/json:
306                       schema:
307                         $ref: '#/components/schemas/ErrorResponse'
308         notifyChangedAlarmGeneral:
309           '{request.body#/consumerReference}':
310             post:
311               requestBody:
312                 required: true
313                 content:
314                   application/json:
315                     schema:
316                       oneOf:
317                         - $ref: '#/components/schemas/NotifyChangedAlarmGeneral'
318                         - $ref: '#/components/schemas/NotifyChangedSecAlarmGeneral'
319               responses:
320                 '204':
321                   description: >-
322                     Success case ("204 No Content").
323                     The notification is successfully delivered. The response message
324                     body is absent.
325                 default:
326                   description: Error case.
327                   content:
328                     application/json:
329                       schema:
330                         $ref: '#/components/schemas/ErrorResponse'
331         notifyCorrelatedNotificationChanged:
332           '{request.body#/consumerReference}':
333             post:
334               requestBody:
335                 required: true
336                 content:
337                   application/json:
338                     schema:
339                       $ref: '#/components/schemas/NotifyCorrelatedNotificationChanged'
340               responses:
341                 '204':
342                   description: >-
343                     Success case ("204 No Content").
344                     The notification is successfully delivered. The response message
345                     body is absent.
346                 default:
347                   description: Error case.
348                   content:
349                     application/json:
350                       schema:
351                         $ref: '#/components/schemas/ErrorResponse'
352         notifyAckStateChanged:
353           '{request.body#/consumerReference}':
354             post:
355               requestBody:
356                 required: true
357                 content:
358                   application/json:
359                     schema:
360                       $ref: '#/components/schemas/NotifyAckStateChanged'
361               responses:
362                 '204':
363                   description: >-
364                     Success case ("204 No Content").
365                     The notification is successfully delivered. The response message
366                     body is absent.
367                 default:
368                   description: Error case.
369                   content:
370                     application/json:
371                       schema:
372                         $ref: '#/components/schemas/ErrorResponse'
373         notifyComments:
374           '{request.body#/consumerReference}':
375             post:
376               requestBody:
377                 required: true
378                 content:
379                   application/json:
380                     schema:
381                       $ref: '#/components/schemas/NotifyComments'
382               responses:
383                 '204':
384                   description: >-
385                     Success case ("204 No Content").
386                     The notification is successfully delivered. The response message
387                     body is absent.
388                 default:
389                   description: Error case.
390                   content:
391                     application/json:
392                       schema:
393                         $ref: '#/components/schemas/ErrorResponse'
394         notifyPotentialFaultyAlarmList:
395           '{request.body#/consumerReference}':
396             post:
397               requestBody:
398                 required: true
399                 content:
400                   application/json:
401                     schema:
402                       $ref: '#/components/schemas/NotifyPotentialFaultyAlarmList'
403               responses:
404                 '204':
405                   description: >-
406                     Success case ("204 No Content").
407                     The notification is successfully delivered. The response message
408                     body is absent.
409                 default:
410                   description: Error case.
411                   content:
412                     application/json:
413                       schema:
414                         $ref: '#/components/schemas/ErrorResponse'
415         notifyAlarmListRebuilt:
416           '{request.body#/consumerReference}':
417             post:
418               requestBody:
419                 required: true
420                 content:
421                   application/json:
422                     schema:
423                       $ref: '#/components/schemas/NotifyAlarmListRebuilt'
424               responses:
425                 '204':
426                   description: >-
427                     Success case ("204 No Content").
428                     The notification is successfully delivered. The response message
429                     body is absent.
430                 default:
431                   description: Error case.
432                   content:
433                     application/json:
434                       schema:
435                         $ref: '#/components/schemas/ErrorResponse'
436   /subscriptions/{subscriptionId}:
437     delete:
438       summary: Delete a subscription
439       description: >-
440         The subscription is deleted by deleting the corresponding subscription
441         resource. The resource to be deleted is identified with the path
442         component of the URI.
443       parameters:
444         - name: subscriptionId
445           in: path
446           description: Identifies the subscription to be deleted.
447           required: true
448           schema:
449             type: string
450       responses:
451         '204':
452           description: >-
453             Success case ("204 No Content").
454             The subscription resource has been deleted. The response message body
455             is absent.
456         default:
457           description: Error case.
458           content:
459             application/json:
460               schema:
461                 $ref: '#/components/schemas/ErrorResponse'
462
463 components:
464   schemas:
465   
466   #---- Definitions to be moved to comDefs.yaml --------------------------------------#
467
468     Long:
469       type: string
470       format: long
471     Float:
472       type: string
473       format: float
474     DateTime:
475       type: string
476       format: date-Time
477
478     Dn:
479       type: string
480     Uri:
481       type: string
482
483     AttributeNameValuePairSet:
484       type: object
485       minProperties: 1
486     AttributeValueChangeSet:
487       description: >-
488         The key in this map is the attribute name. The value of each key is an array.
489         When only one item is present in the array, it carries the new attribute
490         value. If two items are present, then the first item carries the old value
491         and the second item the new value. The items can be of any type including null.
492       type: object
493       additionalProperties:
494         type: array
495         minItems: 1
496         maxItems: 2
497         items:
498           nullable: true
499
500     Filter:
501       type: string
502     SystemDN:
503       type: string
504
505     NotificationId:
506       type: integer
507     NotificationHeader:
508       description: >-
509         Header used for all notification types
510       type: object
511       required:
512         - href
513         - notificationId
514         - notificationType
515         - eventTime
516         - systemDN
517       properties:
518         uri:
519           $ref: '#/components/schemas/Uri'
520         notificationId:
521           $ref: '#/components/schemas/NotificationId'
522         notificationType:
523           oneOf:
524             - $ref: '#/components/schemas/AlarmNotificationTypes'
525             #- $ref: 'faultMnS.yaml#/components/schemas/AlarmNotificationTypes'
526             #- $ref: 'provMnS.yaml#/components/schemas/CmNotificationTypes'
527             # more to be added
528         eventTime:
529           $ref: '#/components/schemas/DateTime'
530         systemDN:
531           $ref: '#/components/schemas/SystemDN'
532
533     ErrorResponse:
534       description: >-
535         Default schema for the response message body in case the request is not
536         successful.
537       type: object
538       properties:
539         error:
540           type: object
541           properties:
542             errorInfo:
543               type: string
544
545   #---- End of definitions to be moved to comDefs.yaml -------------------------------#
546
547   #---- Definition of AlarmRecord ----------------------------------------------------#
548  
549     AlarmId:
550       type: string
551     AlarmType:
552       type: string
553       enum:
554         - COMMUNICATIONS_ALARM
555         - QUALITY_OF_SERVICE_ALARM
556         - PROCESSING_ERROR_ALARM
557         - EQUIPMENT_ALARM
558         - ENVIRONMENTAL_ALARM
559         - INTEGRITY_VIOLATION
560         - OPERATIONAL_VIOLATION
561         - PHYSICAL_VIOLATION
562         - SECURITY_SERVICE_OR_MECHANISM_VIOLATION
563         - TIME_DOMAIN_VIOLATION
564     ProbableCause:
565       description: >-
566         The value of the probable cause may be a specific standardized string, or any
567         vendor provided string. Probable cause strings are not standardized in the
568         present document. They may be added in a future version. Up to then the
569         mapping of the generic probable cause strings "PROBABLE_CAUSE_001" to
570         "PROBABLE_CAUSE_005" is vendor specific.
571         The value of the probable cause may also be an integer. The mapping of integer
572         values to probable causes is vendor specific.
573       oneOf:
574         - anyOf:
575             - type: string
576               enum:
577                 - PROBABLE_CAUSE_001
578                 - PROBABLE_CAUSE_002
579                 - PROBABLE_CAUSE_003
580                 - PROBABLE_CAUSE_004
581                 - PROBABLE_CAUSE_005
582             - type: string
583         - type: integer
584     SpecificProblem:
585       oneOf:
586         - type: string
587         - type: integer
588     PerceivedSeverity:
589       type: string
590       enum:
591         - INDETERMINATE
592         - CRITICAL
593         - MAJOR
594         - MINOR
595         - WARNING
596         - CLEARED
597     TrendIndication:
598       type: string
599       enum:
600         - MORE_SEVERE
601         - NO_CHANGE
602         - LESS_SEVERE
603     ThresholdHysteresis:
604       type: object
605       required:
606         - high
607       properties:
608         high:
609           oneOf:
610             - type: integer
611             - $ref: '#/components/schemas/Float'
612         low:
613           $ref: '#/components/schemas/Float'
614     ThresholdLevelInd:
615       type: object
616       required:
617         - up
618       properties:
619         up:
620           $ref: '#/components/schemas/ThresholdHysteresis'
621         low:
622           $ref: '#/components/schemas/ThresholdHysteresis'
623     ThresholdInfo:
624       type: object
625       required:
626         - observedMeasurement
627         - observedValue
628       properties:
629         observedMeasurement:
630           type: string
631         observedValue:
632           oneOf:
633             - type: integer
634             - $ref: '#/components/schemas/Float'
635         thresholdLevelInd:
636           $ref: '#/components/schemas/ThresholdLevelInd'
637         armTime:
638           $ref: '#/components/schemas/DateTime'
639     CorrelatedNotification:
640       type: object
641       required:
642         - source
643         - notificationId
644       properties:
645         sourceObjectInstance:
646           $ref: '#/components/schemas/Dn'
647         notificationIds:
648           type: array
649           items:
650             $ref: '#/components/schemas/NotificationId'
651     CorrelatedNotifications:
652       type: array
653       items:
654         $ref: '#/components/schemas/CorrelatedNotification'
655     AckState:
656       type: string
657       enum:
658         - ACKNOWLEDGED
659         - UNACKNOWLEDGED
660
661     AlarmRecord:
662       description: >-
663         The alarmId is not a property of an alarm record. It is used as key
664         in the map of alarm records instead.
665       type: object
666       properties:
667         # alarmId:
668         #  $ref: '#/components/schemas/AlarmId'
669         objectInstance:
670           $ref: '#/components/schemas/Dn'
671         notificationId:
672           $ref: '#/components/schemas/NotificationId'
673         alarmRaisedTime:
674           $ref: '#/components/schemas/DateTime'
675         alarmChangedTime:
676           $ref: '#/components/schemas/DateTime'
677         alarmClearedTime:
678           $ref: '#/components/schemas/DateTime'
679         alarmType:
680           $ref: '#/components/schemas/AlarmType'
681         probableCause:
682           $ref: '#/components/schemas/ProbableCause'
683         specificProblem:
684           $ref: '#/components/schemas/SpecificProblem'
685         perceivedSeverity:
686           $ref: '#/components/schemas/PerceivedSeverity'
687         backedUpStatus:
688           type: boolean
689         backUpObject:
690           $ref: '#/components/schemas/Dn'
691         trendIndication:
692           $ref: '#/components/schemas/TrendIndication'
693         thresholdinfo:
694           $ref: '#/components/schemas/ThresholdInfo'
695         correlatedNotifications:
696           $ref: '#/components/schemas/CorrelatedNotifications'
697         stateChangeDefinition:
698           $ref: '#/components/schemas/AttributeValueChangeSet'
699         monitoredAttributes:
700           $ref: '#/components/schemas/AttributeNameValuePairSet'
701         proposedRepairActions:
702           type: string
703         additionalText:
704           type: string
705         additionalInformation:
706           $ref: '#/components/schemas/AttributeNameValuePairSet'
707
708         rootCauseIndicator:
709           type: boolean
710
711         ackTime:
712           $ref: '#/components/schemas/DateTime'
713         ackUserId:
714           type: string
715         ackSystemId:
716           type: string
717         ackState:
718           $ref: '#/components/schemas/AckState'
719
720         clearUserId:
721           type: string
722         clearSystemId:
723           type: string
724         serviceUser:
725           type: string
726         serviceProvider:
727           type: string
728         securityAlarmDetector:
729           type: string
730
731   #---- Definition of alarm notifications --------------------------------------------#
732   
733     AlarmNotificationTypes:
734       type: string
735       enum:
736         - notifyNewAlarm
737         - notifyChangedAlarm
738         - notifyChangedAlarmGeneral
739         - notifyAckStateChanged
740         - notifyCorrelatedNotificationChanged
741         - notifyComments
742         - notifyClearedAlarm
743         - notifyAlarmListRebuiltAlarm
744         - notifyPotentialFaultyAlarmList
745     AlarmListAlignmentRequirement:
746       type: string
747       enum:
748         - ALIGNMENT_REQUIRED
749         - ALIGNMENT_NOT_REQUIRED
750
751     NotifyNewAlarm:
752       allOf:
753         - $ref: '#/components/schemas/NotificationHeader'
754         - type: object
755           required:
756             - alarmId
757             - alarmType
758             - probableCause
759             - perceivedSeverity
760           properties:
761             alarmId:
762               $ref: '#/components/schemas/AlarmId'
763             alarmType:
764               $ref: '#/components/schemas/AlarmType'
765             probableCause:
766               $ref: '#/components/schemas/ProbableCause'
767             specificProblem:
768               $ref: '#/components/schemas/SpecificProblem'
769             perceivedSeverity:
770               $ref: '#/components/schemas/PerceivedSeverity'
771             backedUpStatus:
772               type: boolean
773             backUpObject:
774               $ref: '#/components/schemas/Dn'
775             trendIndication:
776               $ref: '#/components/schemas/TrendIndication'
777             thresholdInfo:
778               $ref: '#/components/schemas/ThresholdInfo'
779             correlatedNotifications:
780               $ref: '#/components/schemas/CorrelatedNotifications'
781             stateChangeDefinition:
782               $ref: '#/components/schemas/AttributeValueChangeSet'
783             monitoredAttributes:
784               $ref: '#/components/schemas/AttributeNameValuePairSet'
785             proposedRepairActions:
786               type: string
787             additionalText:
788               type: string
789             additionalInformation:
790               $ref: '#/components/schemas/AttributeNameValuePairSet'
791             rootCauseIndicator:
792               type: boolean
793     NotifyNewSecAlarm:
794       allOf:
795         - $ref: '#/components/schemas/NotificationHeader'
796         - type: object
797           required:
798             - alarmId
799             - alarmType
800             - probableCause
801             - perceivedSeverity
802             - serviceUser
803             - serviceProvider
804             - securityAlarmDetector 
805           properties:
806             alarmId:
807               $ref: '#/components/schemas/AlarmId'
808             alarmType:
809               $ref: '#/components/schemas/AlarmType'
810             probableCause:
811               $ref: '#/components/schemas/ProbableCause'
812             perceivedSeverity:
813               $ref: '#/components/schemas/PerceivedSeverity'
814             correlatedNotifications:
815               $ref: '#/components/schemas/CorrelatedNotifications'
816             additionalText:
817               type: string
818             additionalInformation:
819               $ref: '#/components/schemas/AttributeNameValuePairSet'
820             rootCauseIndicator:
821               type: boolean
822             serviceUser:
823               type: string
824             serviceProvider:
825               type: string
826             securityAlarmDetector:
827               type: string
828     NotifyClearedAlarm:
829       allOf:
830         - $ref: '#/components/schemas/NotificationHeader'
831         - type: object
832           required:
833             - alarmId
834             - alarmType
835             - probableCause
836             - perceivedSeverity
837           properties:
838             alarmId:
839               $ref: '#/components/schemas/AlarmId'
840             alarmType:
841               $ref: '#/components/schemas/AlarmType'
842             probableCause:
843               $ref: '#/components/schemas/ProbableCause'
844             perceivedSeverity:
845               $ref: '#/components/schemas/PerceivedSeverity'
846             correlatedNotifications:
847               $ref: '#/components/schemas/CorrelatedNotifications'
848             clearUserId:
849               type: string
850             clearSystemId:
851               type: string
852     NotifyChangedAlarm:
853       allOf:
854         - $ref: '#/components/schemas/NotificationHeader'
855         - type: object
856           required:
857             - alarmId
858             - alarmType
859             - probableCause
860             - perceivedSeverity
861           properties:
862             alarmId:
863               $ref: '#/components/schemas/AlarmId'
864             alarmType:
865               $ref: '#/components/schemas/AlarmType'
866             probableCause:
867               $ref: '#/components/schemas/ProbableCause'
868             perceivedSeverity:
869               $ref: '#/components/schemas/PerceivedSeverity'
870     NotifyChangedAlarmGeneral:
871       allOf:
872         - $ref: '#/components/schemas/NotificationHeader'
873         - type: object
874           required:
875             - alarmId
876             - alarmType
877             - probableCause
878             - perceivedSeverity
879             - changedAlarmAttributes
880           properties:
881             alarmId:
882               $ref: '#/components/schemas/AlarmId'
883             alarmType:
884               $ref: '#/components/schemas/AlarmType'
885             probableCause:
886               $ref: '#/components/schemas/ProbableCause'
887             specificProblem:
888               $ref: '#/components/schemas/SpecificProblem'
889             perceivedSeverity:
890               $ref: '#/components/schemas/PerceivedSeverity'
891             correlatedNotifications:
892               $ref: '#/components/schemas/CorrelatedNotifications'
893             backedUpStatus:
894               type: boolean
895             backUpObject:
896               $ref: '#/components/schemas/Dn'
897             trendIndication:
898               $ref: '#/components/schemas/TrendIndication'
899             thresholdInfo:
900               $ref: '#/components/schemas/ThresholdInfo'
901             stateChangeDefinition:
902               $ref: '#/components/schemas/AttributeValueChangeSet'
903             monitoredAttributes:
904               $ref: '#/components/schemas/AttributeNameValuePairSet'
905             proposedRepairActions:
906               type: string
907             additionalText:
908               type: string
909             additionalInformation:
910               $ref: '#/components/schemas/AttributeNameValuePairSet'
911             rootCauseIndicator:
912               type: boolean
913             changedAlarmAttributes:
914               $ref: '#/components/schemas/AttributeNameValuePairSet'
915     NotifyChangedSecAlarmGeneral:
916       allOf:
917         - $ref: '#/components/schemas/NotificationHeader'
918         - type: object
919           required:
920             - alarmId
921             - alarmType
922             - probableCause
923             - perceivedSeverity
924             - serviceUser
925             - serviceProvider
926             - securityAlarmDetector
927             - changedAlarmAttributes
928           properties:
929             alarmId:
930               $ref: '#/components/schemas/AlarmId'
931             alarmType:
932               $ref: '#/components/schemas/AlarmType'
933             probableCause:
934               $ref: '#/components/schemas/ProbableCause'
935             perceivedSeverity:
936               $ref: '#/components/schemas/PerceivedSeverity'
937             correlatedNotifications:
938               $ref: '#/components/schemas/CorrelatedNotifications'
939             additionalText:
940               type: string
941             additionalInformation:
942               $ref: '#/components/schemas/AttributeNameValuePairSet'
943             rootCauseIndicator:
944               type: boolean
945             serviceUser:
946               type: string
947             serviceProvider:
948               type: string
949             securityAlarmDetector:
950               type: string
951             changedAlarmAttributes:
952               $ref: '#/components/schemas/AttributeNameValuePairSet'
953     NotifyCorrelatedNotificationChanged:
954       allOf:
955         - $ref: '#/components/schemas/NotificationHeader'
956         - type: object
957           required:
958             - alarmId
959             - correlatedNotifications
960           properties:
961             alarmId:
962               $ref: '#/components/schemas/AlarmId'
963             correlatedNotifications:
964               $ref: '#/components/schemas/CorrelatedNotifications'
965             rootCauseIndicator:
966               type: boolean
967     NotifyAckStateChanged:
968       allOf:
969         - $ref: '#/components/schemas/NotificationHeader'
970         - type: object
971           required:
972             - alarmId
973             - alarmType
974             - probableCause
975             - perceivedSeverity
976             - ackState
977             - ackUserId
978           properties:
979             alarmId:
980               $ref: '#/components/schemas/AlarmId'
981             alarmType:
982               $ref: '#/components/schemas/AlarmType'
983             probableCause:
984               $ref: '#/components/schemas/ProbableCause'
985             perceivedSeverity:
986               $ref: '#/components/schemas/PerceivedSeverity'
987             ackState:
988               $ref: '#/components/schemas/AckState'
989             ackUserId:
990               type: string
991             ackSystemId:
992               type: string
993     NotifyComments:
994       allOf:
995         - $ref: '#/components/schemas/NotificationHeader'
996         - type: object
997           required:
998             - alarmId
999             - alarmType
1000             - probableCause
1001             - perceivedSeverity
1002             - comments
1003           properties:
1004             alarmId:
1005               $ref: '#/components/schemas/AlarmId'
1006             alarmType:
1007               $ref: '#/components/schemas/AlarmType'
1008             probableCause:
1009               $ref: '#/components/schemas/ProbableCause'
1010             perceivedSeverity:
1011               $ref: '#/components/schemas/PerceivedSeverity'
1012             comments:
1013               $ref: '#/components/schemas/Comments'
1014     NotifyPotentialFaultyAlarmList:
1015       allOf:
1016         - $ref: '#/components/schemas/NotificationHeader'
1017         - type: object
1018           required:
1019             - reason
1020           properties:
1021             reason:
1022               type: string
1023     NotifyAlarmListRebuilt:
1024       allOf:
1025         - $ref: '#/components/schemas/NotificationHeader'
1026         - type: object
1027           required:
1028             - reason
1029           properties:
1030             reason:
1031               type: string
1032             alarmListAlignmentRequirement:
1033               $ref: '#/components/schemas/AlarmListAlignmentRequirement'
1034
1035   #---- Definition of query parameters -----------------------------------------------#
1036   
1037     AlarmAckState:
1038       type: string
1039       enum:
1040         - ALL_ALARMS
1041         - ALL_ACTIVE_ALARMS
1042         - ALL_ACTIVE_AND_ACKNOWLEDGED_ALARMS
1043         - ALL_ACTIVE_AND_UNACKNOWLEDGED_ALARMS
1044         - ALL_CLEARED_AND_UNACKNOWLEDGED_ALARMS
1045         - ALL_UNACKNOWLEDGED_ALARMS
1046         
1047   #---- Definition of patch documents ------------------------------------------------#
1048
1049     MergePatchAcknowledgeAlarm:
1050       description: >-
1051         Patch document acknowledging or unacknowledging a single alarm. For
1052         acknowleding an alarm the value of ackState is ACKNOWLEDGED, for unacknowleding
1053         an alarm the value of ackState is UNACKNOWLEDGED.
1054       type: object
1055       required:
1056         - ackUserId
1057         - ackState
1058       properties:
1059         ackUserId:
1060           type: string
1061         ackSystemId:
1062           type: string
1063         ackState:
1064           $ref: '#/components/schemas/AckState'
1065     MergePatchClearAlarm:
1066       description: Patch document for clearing a single alarm
1067       type: object
1068       required:
1069         - clearUserId
1070         - perceivedSeverity
1071       properties:
1072         clearUserId:
1073           type: string
1074         clearSystemId:
1075           type: string
1076         perceivedSeverity:
1077           type: string
1078           enum:
1079             - CLEARED
1080
1081   #---- Definition of method responses -----------------------------------------------#
1082
1083     FailedAlarm:
1084       type: object
1085       required:
1086         - alarmId
1087         - failureReason
1088       properties:
1089         alarmId:
1090           $ref: '#/components/schemas/AlarmId'
1091         failureReason:
1092           type: string
1093
1094   #---- Definition of resources ------------------------------------------------------#
1095
1096     AlarmCount:
1097       type: object
1098       required:
1099         - criticalCount
1100         - majorCount
1101         - minorCount
1102         - warningCount
1103         - indeterminateCount
1104         - clearedCount
1105       properties:
1106         criticalCount:
1107           type: integer
1108         majorCount:
1109           type: integer
1110         minorCount:
1111           type: integer
1112         warningCount:
1113           type: integer
1114         indeterminateCount:
1115           type: integer
1116         clearedCount:
1117           type: integer
1118     Comment:
1119       type: object
1120       properties:
1121         commentTime:
1122           $ref: '#/components/schemas/DateTime'
1123         commentUserId:
1124           type: string
1125         commentSystemId:
1126           type: string
1127         commentText:
1128           type: string
1129     Comments:
1130       description: >-
1131         Collection of comments. The comment identifiers are allocated by the
1132         MnS producer and used as key in the map.
1133       type: object
1134       additionalProperties:
1135         $ref: '#/components/schemas/Comment'
1136     Subscription:
1137       type: object
1138       properties:
1139         consumerReference:
1140           $ref: '#/components/schemas/Uri'
1141         timeTick:
1142           $ref: '#/components/schemas/Long'
1143         filter:
1144           $ref: '#/components/schemas/Filter'