From 978dc906f1fee4ef7557375124a223a3aa947379 Mon Sep 17 00:00:00 2001 From: sunse Date: Thu, 8 Feb 2024 03:25:28 +0000 Subject: [PATCH] Rel18_28.111_FM_schema_definitions new spec first merge --- OpenAPI/TS28111_FaultNotifications.yaml | 57 +++ OpenAPI/TS28111_FaultNrm.yaml | 551 ++++++++++++++++++++++ OpenAPI/TS28532_FileDataReportingMnS.yaml | 4 +- OpenAPI/TS28623_ComDefs.yaml | 11 +- OpenAPI/TS28623_GenericNrm.yaml | 29 +- 5 files changed, 623 insertions(+), 29 deletions(-) create mode 100644 OpenAPI/TS28111_FaultNotifications.yaml create mode 100644 OpenAPI/TS28111_FaultNrm.yaml diff --git a/OpenAPI/TS28111_FaultNotifications.yaml b/OpenAPI/TS28111_FaultNotifications.yaml new file mode 100644 index 000000000..ffac86e1f --- /dev/null +++ b/OpenAPI/TS28111_FaultNotifications.yaml @@ -0,0 +1,57 @@ +openapi: 3.0.1 +info: + title: Fault Management Notifications + version: 18.1.0 + description: >- + OAS 3.0.1 definition of the Fault Supervision MnS + © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.111; Fault Management + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.111/ +servers: + - url: '{notificationRecipientAddress}' + variables: + notificationRecipientAddress: + description: Address on the MnS consumer side defined by NtfSubscriptionControl.notificationRecipientAddress. See 3GPP TS 28.622 clause 4.3.22 + default: http://exampleConsumer.com/notificationReceiver + MnSversion: + description: Version number of the OpenAPI definition + default: XXX +paths: + /: + post: + summary: Receive one of a set of alarm related notifications + description: >- + The MnS producer sends an alarm to the consumer. + This interface shall be implemented by the notification-receiver and + used by the notification-sender. + requestBody: + required: true + content: + application/json: + schema: + oneOf: + - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/NotifyNewAlarm' + - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/NotifyNewSecAlarm' + - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/NotifyClearedAlarm' + - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/NotifyChangedAlarm' + - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/NotifyChangedAlarmGeneral' + - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/NotifyChangedSecAlarmGeneral' + - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/NotifyCorrelatedNotificationChanged' + - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/NotifyAckStateChanged' + - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/NotifyComments' + - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/NotifyPotentialFaultyAlarmList' + - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/NotifyAlarmListRebuilt' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response message + body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' diff --git a/OpenAPI/TS28111_FaultNrm.yaml b/OpenAPI/TS28111_FaultNrm.yaml new file mode 100644 index 000000000..f4ed7ce77 --- /dev/null +++ b/OpenAPI/TS28111_FaultNrm.yaml @@ -0,0 +1,551 @@ +openapi: 3.0.1 +info: + title: Fault Management NRM + version: 18.1.0 + description: >- + OAS 3.0.1 definition of the Fault Supervision MnS + © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.111; Fault Management + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.111/ +servers: + - url: '{MnSRoot}/FaultSupervisionMnS/{MnSversion}' + variables: + MnSRoot: + description: See subclause 4.4.3 of TS 32.158 + default: http://example.com/3GPPManagement + MnSversion: + description: Version number of the OpenAPI definition + default: XXX +paths: {} + +components: + schemas: + + #---- Definition of AlarmRecord ----------------------------------------------------# + + AlarmId: + type: string + AlarmType: + type: string + enum: + - COMMUNICATIONS_ALARM + - QUALITY_OF_SERVICE_ALARM + - PROCESSING_ERROR_ALARM + - EQUIPMENT_ALARM + - ENVIRONMENTAL_ALARM + - INTEGRITY_VIOLATION + - OPERATIONAL_VIOLATION + - PHYSICAL_VIOLATION + - SECURITY_SERVICE_OR_MECHANISM_VIOLATION + - TIME_DOMAIN_VIOLATION + ProbableCause: + description: >- + The value of the probable cause may be a specific standardized string, or any + vendor provided string. Probable cause strings are not standardized in the + present document. They may be added in a future version. Up to then the + mapping of the generic probable cause strings "PROBABLE_CAUSE_001" to + "PROBABLE_CAUSE_005" is vendor specific. + The value of the probable cause may also be an integer. The mapping of integer + values to probable causes is vendor specific. + oneOf: + - anyOf: + - type: string + enum: + - PROBABLE_CAUSE_001 + - PROBABLE_CAUSE_002 + - PROBABLE_CAUSE_003 + - PROBABLE_CAUSE_004 + - PROBABLE_CAUSE_005 + - type: string + - type: integer + SpecificProblem: + oneOf: + - type: string + - type: integer + PerceivedSeverity: + type: string + enum: + - INDETERMINATE + - CRITICAL + - MAJOR + - MINOR + - WARNING + - CLEARED + TrendIndication: + type: string + enum: + - MORE_SEVERE + - NO_CHANGE + - LESS_SEVERE + ThresholdHysteresis: + type: object + required: + - high + properties: + high: + oneOf: + - type: integer + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Float' + low: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Float' + ThresholdLevelInd: + oneOf: + - type: object + properties: + up: + $ref: '#/components/schemas/ThresholdHysteresis' + - type: object + properties: + down: + $ref: '#/components/schemas/ThresholdHysteresis' + ThresholdInfo: + type: object + properties: + observedMeasurement: + type: string + observedValue: + type: number + thresholdLevel: + $ref: '#/components/schemas/ThresholdLevelInd' + armTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + required: + - observedMeasurement + - observedValue + CorrelatedNotification: + type: object + properties: + sourceObjectInstance: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + notificationIds: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationId' + required: + - sourceObjectInstance + - notificationIds + CorrelatedNotifications: + type: array + items: + $ref: '#/components/schemas/CorrelatedNotification' + AckState: + type: string + enum: + - ACKNOWLEDGED + - UNACKNOWLEDGED + + AlarmRecord: + description: >- + The alarmId is not a property of an alarm record. It is used as key + in the map of alarm records instead. + type: object + properties: + # alarmId: + # $ref: '#/components/schemas/AlarmId' + objectInstance: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + notificationId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationId' + alarmRaisedTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + alarmChangedTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + alarmClearedTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + specificProblem: + $ref: '#/components/schemas/SpecificProblem' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + backedUpStatus: + type: boolean + backUpObject: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + trendIndication: + $ref: '#/components/schemas/TrendIndication' + thresholdinfo: + $ref: '#/components/schemas/ThresholdInfo' + correlatedNotifications: + $ref: '#/components/schemas/CorrelatedNotifications' + stateChangeDefinition: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeValueChangeSet' + monitoredAttributes: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + proposedRepairActions: + type: string + additionalText: + type: string + additionalInformation: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + + rootCauseIndicator: + type: boolean + + ackTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + ackUserId: + type: string + ackSystemId: + type: string + ackState: + $ref: '#/components/schemas/AckState' + + clearUserId: + type: string + clearSystemId: + type: string + serviceUser: + type: string + serviceProvider: + type: string + securityAlarmDetector: + type: string + + AlarmList-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' + numOfAlarmRecords: + type: integer + lastModification: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + alarmRecords: + description: >- + This resource represents a map of alarm records. + The alarmIds are used as keys in the map. + type: object + additionalProperties: + $ref: '#/components/schemas/AlarmRecord' + + + #---- Definition of alarm notifications --------------------------------------------# + + AlarmNotificationTypes: + type: string + enum: + - notifyNewAlarm + - notifyChangedAlarm + - notifyChangedAlarmGeneral + - notifyAckStateChanged + - notifyCorrelatedNotificationChanged + - notifyComments + - notifyClearedAlarm + - notifyAlarmListRebuilt + - notifyPotentialFaultyAlarmList + AlarmListAlignmentRequirement: + type: string + enum: + - ALIGNMENT_REQUIRED + - ALIGNMENT_NOT_REQUIRED + + NotifyNewAlarm: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + - probableCause + - perceivedSeverity + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + specificProblem: + $ref: '#/components/schemas/SpecificProblem' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + backedUpStatus: + type: boolean + backUpObject: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + trendIndication: + $ref: '#/components/schemas/TrendIndication' + thresholdInfo: + $ref: '#/components/schemas/ThresholdInfo' + correlatedNotifications: + $ref: '#/components/schemas/CorrelatedNotifications' + stateChangeDefinition: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeValueChangeSet' + monitoredAttributes: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + proposedRepairActions: + type: string + additionalText: + type: string + additionalInformation: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + rootCauseIndicator: + type: boolean + NotifyNewSecAlarm: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + - probableCause + - perceivedSeverity + - serviceUser + - serviceProvider + - securityAlarmDetector + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + correlatedNotifications: + $ref: '#/components/schemas/CorrelatedNotifications' + additionalText: + type: string + additionalInformation: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + rootCauseIndicator: + type: boolean + serviceUser: + type: string + serviceProvider: + type: string + securityAlarmDetector: + type: string + NotifyClearedAlarm: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + - probableCause + - perceivedSeverity + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + correlatedNotifications: + $ref: '#/components/schemas/CorrelatedNotifications' + clearUserId: + type: string + clearSystemId: + type: string + NotifyChangedAlarm: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + - probableCause + - perceivedSeverity + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + NotifyChangedAlarmGeneral: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + specificProblem: + $ref: '#/components/schemas/SpecificProblem' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + correlatedNotifications: + $ref: '#/components/schemas/CorrelatedNotifications' + backedUpStatus: + type: boolean + backUpObject: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + trendIndication: + $ref: '#/components/schemas/TrendIndication' + thresholdInfo: + $ref: '#/components/schemas/ThresholdInfo' + stateChangeDefinition: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeValueChangeSet' + monitoredAttributes: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + proposedRepairActions: + type: string + additionalText: + type: string + additionalInformation: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + rootCauseIndicator: + type: boolean + changedAlarmAttributes: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + NotifyChangedSecAlarmGeneral: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + - serviceUser + - serviceProvider + - securityAlarmDetector + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + correlatedNotifications: + $ref: '#/components/schemas/CorrelatedNotifications' + additionalText: + type: string + additionalInformation: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + rootCauseIndicator: + type: boolean + serviceUser: + type: string + serviceProvider: + type: string + securityAlarmDetector: + type: string + changedAlarmAttributes: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + NotifyCorrelatedNotificationChanged: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - correlatedNotifications + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + correlatedNotifications: + $ref: '#/components/schemas/CorrelatedNotifications' + rootCauseIndicator: + type: boolean + NotifyAckStateChanged: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + - probableCause + - perceivedSeverity + - ackState + - ackUserId + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + ackState: + $ref: '#/components/schemas/AckState' + ackUserId: + type: string + ackSystemId: + type: string + NotifyComments: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + - probableCause + - perceivedSeverity + - comments + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + comments: + $ref: '#/components/schemas/Comments' + NotifyPotentialFaultyAlarmList: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - reason + properties: + reason: + type: string + NotifyAlarmListRebuilt: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - reason + properties: + reason: + type: string + alarmListAlignmentRequirement: + $ref: '#/components/schemas/AlarmListAlignmentRequirement' + + #---- Definition of resources ------------------------------------------------------# + + Comment: + type: object + properties: + commentTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + commentUserId: + type: string + commentSystemId: + type: string + commentText: + type: string + Comments: + description: >- + Collection of comments. The comment identifiers are allocated by the + MnS producer and used as key in the map. + type: object + additionalProperties: + $ref: '#/components/schemas/Comment' diff --git a/OpenAPI/TS28532_FileDataReportingMnS.yaml b/OpenAPI/TS28532_FileDataReportingMnS.yaml index 176070caf..1a96b5d81 100644 --- a/OpenAPI/TS28532_FileDataReportingMnS.yaml +++ b/OpenAPI/TS28532_FileDataReportingMnS.yaml @@ -80,7 +80,7 @@ paths: content: application/json: schema: - $ref: 'TS28532_FaultMnS.yaml#/components/schemas/Subscription' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Subscription' responses: '201': description: >- @@ -90,7 +90,7 @@ paths: content: application/json: schema: - $ref: 'TS28532_FaultMnS.yaml#/components/schemas/Subscription' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Subscription' headers: Location: description: URI of the newly created subscription resource diff --git a/OpenAPI/TS28623_ComDefs.yaml b/OpenAPI/TS28623_ComDefs.yaml index e5da4cc47..ee3e1de12 100755 --- a/OpenAPI/TS28623_ComDefs.yaml +++ b/OpenAPI/TS28623_ComDefs.yaml @@ -241,7 +241,7 @@ components: type: integer NotificationType: oneOf: - - $ref: 'TS28532_FaultMnS.yaml#/components/schemas/AlarmNotificationTypes' + - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/AlarmNotificationTypes' - $ref: 'TS28532_ProvMnS.yaml#/components/schemas/CmNotificationTypes' - $ref: 'TS28532_PerfMnS.yaml#/components/schemas/PerfNotificationTypes' - $ref: 'TS28532_HeartbeatNtf.yaml#/components/schemas/HeartbeatNotificationTypes' @@ -277,6 +277,15 @@ components: properties: errorInfo: type: string + Subscription: + type: object + properties: + consumerReference: + $ref: '#/components/schemas/Uri' + timeTick: + type: integer + filter: + $ref: '#/components/schemas/Filter' ErrorResponseGet: description: >- diff --git a/OpenAPI/TS28623_GenericNrm.yaml b/OpenAPI/TS28623_GenericNrm.yaml index 4567b9f1f..6b6b09f21 100755 --- a/OpenAPI/TS28623_GenericNrm.yaml +++ b/OpenAPI/TS28623_GenericNrm.yaml @@ -552,7 +552,7 @@ components: NtfSubscriptionControl: $ref: '#/components/schemas/NtfSubscriptionControl-Multiple' AlarmList: - $ref: '#/components/schemas/AlarmList-Single' + $ref: 'TS28111_FaultNrm.yaml#/components/schemas/AlarmList-Single' FileDownloadJob: $ref: '#/components/schemas/FileDownloadJob-Multiple' Files: @@ -582,7 +582,7 @@ components: NtfSubscriptionControl: $ref: '#/components/schemas/NtfSubscriptionControl-Multiple' AlarmList: - $ref: '#/components/schemas/AlarmList-Single' + $ref: 'TS28111_FaultNrm.yaml#/components/schemas/AlarmList-Single' FileDownloadJob: $ref: '#/components/schemas/FileDownloadJob-Multiple' Files: @@ -846,29 +846,6 @@ components: - SNSSAI - 5QI - PLMN - AlarmList-Single: - allOf: - - $ref: '#/components/schemas/Top' - - type: object - properties: - attributes: - type: object - properties: - administrativeState: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' - operationalState: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' - numOfAlarmRecords: - type: integer - lastModification: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' - alarmRecords: - description: >- - This resource represents a map of alarm records. - The alarmIds are used as keys in the map. - type: object - additionalProperties: - $ref: 'TS28532_FaultMnS.yaml#/components/schemas/AlarmRecord' FileDownloadJob-Single: allOf: - $ref: '#/components/schemas/Top' @@ -1191,7 +1168,7 @@ components: - $ref: '#/components/schemas/NtfSubscriptionControl-Single' - $ref: '#/components/schemas/HeartbeatControl-Single' - - $ref: '#/components/schemas/AlarmList-Single' + - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/AlarmList-Single' - $ref: '#/components/schemas/FileDownloadJob-Single' - $ref: '#/components/schemas/Files-Single' -- GitLab