[DCAEGEN2] Add new OpenAPI schemas configmap 23/121223/7
authorMichal Banka <michal.banka@nokia.com>
Mon, 10 May 2021 09:00:39 +0000 (11:00 +0200)
committerMichal Banka <michal.banka@nokia.com>
Mon, 24 May 2021 07:00:27 +0000 (09:00 +0200)
- Added ConfigMap with 3gpp SA91-Rel16 OpenAPI schemas
- Moved ConfigMaps from 'dcaegen2' chart to 'dcaegen2-services'
- Removed old SA88-Rel16 OpenAPI schemas

Signed-off-by: Michal Banka <michal.banka@nokia.com>
Change-Id: Ibae0786c7d5e498aa076186a580a268913a57692
Issue-ID: DCAEGEN2-2690

15 files changed:
kubernetes/dcaegen2-services/resources/external/map/schema-map.json [new file with mode: 0644]
kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/5gcNrm.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/FileDataReportingMnS.yaml [moved from kubernetes/dcaegen2/resources/external/schema/rel16/PerDataFileReportMnS.yaml with 88% similarity]
kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/comDefs.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/faultMnS.yaml [moved from kubernetes/dcaegen2/resources/external/schema/rel16/faultMnS.yaml with 82% similarity]
kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/genericNrm.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/heartbeatNtf.yaml [moved from kubernetes/dcaegen2/resources/external/schema/rel16/heartbeatNtf.yaml with 52% similarity]
kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/nrNrm.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/perfMnS.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/provMnS.yaml [moved from kubernetes/dcaegen2/resources/external/schema/rel16/provMnS.yaml with 65% similarity]
kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/sliceNrm.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/templates/configmap.yaml
kubernetes/dcaegen2/components/dcae-ves-openapi-manager/templates/deployment.yaml
kubernetes/dcaegen2/resources/external/map/schema-map.json [deleted file]
kubernetes/dcaegen2/templates/configmap.yaml

diff --git a/kubernetes/dcaegen2-services/resources/external/map/schema-map.json b/kubernetes/dcaegen2-services/resources/external/map/schema-map.json
new file mode 100644 (file)
index 0000000..498521c
--- /dev/null
@@ -0,0 +1,18 @@
+[
+  {
+    "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/faultMnS.yaml",
+    "localURL": "3gpp/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/faultMnS.yaml"
+  },
+  {
+    "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/FileDataReportingMnS.yaml",
+    "localURL": "3gpp/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/FileDataReportingMnS.yaml"
+  },
+  {
+    "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/heartbeatNtf.yaml",
+    "localURL": "3gpp/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/heartbeatNtf.yaml"
+  },
+  {
+    "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/provMnS.yaml",
+    "localURL": "3gpp/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/provMnS.yaml"
+  }
+]
\ No newline at end of file
diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/5gcNrm.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/5gcNrm.yaml
new file mode 100644 (file)
index 0000000..eb40832
--- /dev/null
@@ -0,0 +1,1980 @@
+openapi: 3.0.1
+info:
+  title: 3GPP 5GC NRM
+  version: 16.6.0
+  description: >-
+    OAS 3.0.1 specification of the 5GC NRM
+    © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
+    All rights reserved.
+externalDocs:
+  description: 3GPP TS 28.541 V16.6.0; 5G NRM, 5GC NRM
+  url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.541/
+paths: {}
+components:
+  schemas:
+
+#-------- Definition of types-----------------------------------------------------
+
+    AmfIdentifier:
+      type: object
+      description: 'AmfIdentifier comprise of amfRegionId, amfSetId and amfPointer'
+      properties:
+        amfRegionId:
+          $ref: '#/components/schemas/AmfRegionId'
+        amfSetId:
+          $ref: '#/components/schemas/AmfSetId'
+        amfPointer:
+          $ref: '#/components/schemas/AmfPointer'
+    AmfRegionId:
+      type: integer
+      description: AmfRegionId is defined in TS 23.003
+      maximum: 255
+    AmfSetId:
+      type: string
+      description: AmfSetId is defined in TS 23.003
+      maximum: 1023
+    AmfPointer:
+      type: integer
+      description: AmfPointer is defined in TS 23.003
+      maximum: 63
+    IpEndPoint:
+      type: object
+      properties:
+        ipv4Address:
+          $ref: 'genericNrm.yaml#/components/schemas/Ipv4Addr'
+        ipv6Address:
+          $ref: 'genericNrm.yaml#/components/schemas/Ipv6Addr'
+        ipv6Prefix:
+          $ref: 'genericNrm.yaml#/components/schemas/Ipv6Prefix'
+        transport:
+          $ref: 'genericNrm.yaml#/components/schemas/TransportProtocol'
+        port:
+          type: integer
+    NFProfileList:
+      type: array
+      description: List of NF profile
+      items:
+        $ref: '#/components/schemas/NFProfile'
+    NFProfile:
+      type: object
+      description: 'NF profile stored in NRF, defined in TS 29.510'
+      properties:
+        nFInstanceId:
+          type: string
+          description: uuid of NF instance
+        nFType:
+          $ref: 'genericNrm.yaml#/components/schemas/NFType'
+        nFStatus:
+          $ref: '#/components/schemas/NFStatus'
+        plmn:
+          $ref: 'nrNrm.yaml#/components/schemas/PlmnId'
+        sNssais:
+          $ref: 'nrNrm.yaml#/components/schemas/Snssai'
+        fqdn:
+          $ref: 'genericNrm.yaml#/components/schemas/Fqdn'
+        interPlmnFqdn:
+          $ref: 'genericNrm.yaml#/components/schemas/Fqdn'
+        nfServices:
+          type: array
+          items:
+            $ref: '#/components/schemas/NFService'
+    NFService:
+      type: object
+      description: NF Service is defined in TS 29.510
+      properties:
+        serviceInstanceId:
+          type: string
+        serviceName:
+          type: string
+        version:
+          type: string
+        schema:
+          type: string
+        fqdn:
+          $ref: 'genericNrm.yaml#/components/schemas/Fqdn'
+        interPlmnFqdn:
+          $ref: 'genericNrm.yaml#/components/schemas/Fqdn'
+        ipEndPoints:
+          type: array
+          items:
+            $ref: '#/components/schemas/IpEndPoint'
+        apiPrfix:
+          type: string
+        allowedPlmns:
+          $ref: 'nrNrm.yaml#/components/schemas/PlmnId'
+        allowedNfTypes:
+          type: array
+          items:
+            $ref: 'genericNrm.yaml#/components/schemas/NFType'
+        allowedNssais:
+          type: array
+          items:
+            $ref: 'nrNrm.yaml#/components/schemas/Snssai'
+    NFStatus:
+      type: string
+      description: any of enumrated value
+      enum:
+        - REGISTERED
+        - SUSPENDED
+    CNSIIdList:
+      type: array
+      items:
+        $ref: '#/components/schemas/CNSIId'
+    CNSIId:
+      type: string
+      description: CNSI Id is defined in TS 29.531, only for Core Network
+    TACList:
+      type: array
+      items:
+        $ref: 'nrNrm.yaml#/components/schemas/NrTac'
+    WeightFactor:
+      type: integer
+    UdmInfo:
+      type: object
+      properties:
+        nFSrvGroupId:
+          type: string
+    AusfInfo:
+      type: object
+      properties:
+        nFSrvGroupId:
+          type: string
+    UpfInfo:
+      type: object
+      properties:
+        smfServingAreas:
+          type: string
+    AmfInfo:
+      type: object
+      properties:
+        priority:
+          type: integer
+    SupportedDataSetId:
+      type: string
+      description: any of enumrated value
+      enum:
+        - SUBSCRIPTION
+        - POLICY
+        - EXPOSURE
+        - APPLICATION
+    Udrinfo:
+      type: object
+      properties:
+        supportedDataSetIds:
+          type: array
+          items:
+            $ref: '#/components/schemas/SupportedDataSetId'
+        nFSrvGroupId:
+          type: string
+    NFInfo:
+      oneOf:
+        - $ref: '#/components/schemas/UdmInfo'
+        - $ref: '#/components/schemas/AusfInfo'
+        - $ref: '#/components/schemas/UpfInfo'
+        - $ref: '#/components/schemas/AmfInfo'
+        - $ref: '#/components/schemas/Udrinfo'
+    ManagedNFProfile:
+      type: object
+      properties:
+        nfInstanceID:
+          type: string
+        nfType:
+          $ref: 'genericNrm.yaml#/components/schemas/NFType'
+        authzInfo:
+          type: string
+        hostAddr:
+          $ref: 'genericNrm.yaml#/components/schemas/HostAddr'
+        locality:
+          type: string
+        nFInfo:
+          $ref: '#/components/schemas/NFInfo'
+        capacity:
+          type: integer
+    SEPPType:
+      type: string
+      description: any of enumrated value
+      enum:
+        - CSEPP
+        - PSEPP
+    SupportedFunc:
+      type: object
+      properties:
+        function:
+          type: string
+        policy:
+          type: string
+    SupportedFuncList:
+      type: array
+      items:
+        $ref: '#/components/schemas/SupportedFunc'
+    CommModelType:
+      type: string
+      description: any of enumrated value
+      enum:
+        - DIRECT_COMMUNICATION_WO_NRF
+        - DIRECT_COMMUNICATION_WITH_NRF
+        - INDIRECT_COMMUNICATION_WO_DEDICATED_DISCOVERY
+        - INDIRECT_COMMUNICATION_WITH_DEDICATED_DISCOVERY
+    CommModel:
+      type: object
+      properties:
+        groupId:
+          type: integer
+        commModelType:
+          $ref: '#/components/schemas/CommModelType'
+        targetNFServiceList:
+          $ref: 'comDefs.yaml#/components/schemas/DnList'
+        commModelConfiguration:
+          type: string
+    CommModelList:
+      type: array
+      items:
+        $ref: '#/components/schemas/CommModel'
+    CapabilityList:
+      type: array
+      items:
+        type: string
+    FiveQiDscpMapping:
+      type: object
+      properties:
+        fiveQIValues:
+          type: array
+          items:
+            type: integer
+        dscp:
+          type: integer
+
+    PacketErrorRate:
+      type: object
+      properties:
+        scalar:
+          type: integer
+        exponent:
+          type: integer
+    FiveQICharacteristics:
+      type: object
+      properties:
+        fiveQIValue:
+          type: integer
+        resourceType:
+          type: string
+          enum:
+            - GBR
+            - NonGBR
+        priorityLevel:
+          type: integer
+        packetDelayBudget:
+          type: integer
+        packetErrorRate:
+          $ref: '#/components/schemas/PacketErrorRate'
+        averagingWindow:
+          type: integer
+        maximumDataBurstVolume:
+          type: integer
+
+
+    GtpUPathDelayThresholdsType:
+      type: object
+      properties:
+        n3AveragePacketDelayThreshold:
+          type: integer
+        n3MinPacketDelayThreshold:
+          type: integer
+        n3MaxPacketDelayThreshold:
+          type: integer
+        n9AveragePacketDelayThreshold:
+          type: integer
+        n9MinPacketDelayThreshold:
+          type: integer
+        n9MaxPacketDelayThreshold:
+          type: integer
+    QFPacketDelayThresholdsType:
+      type: object
+      properties:
+        thresholdDl:
+          type: integer
+        thresholdUl:
+          type: integer
+        thresholdRtt:
+          type: integer
+
+    QosData:
+      type: object
+      properties:
+        qosId:
+          type: string
+        fiveQIValue:
+          type: integer
+        maxbrUl:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/BitRateRm'
+        maxbrDl:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/BitRateRm'
+        gbrUl:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/BitRateRm'
+        gbrDl:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/BitRateRm'
+        arp:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/Arp'
+        qosNotificationControl:
+          type: boolean
+        reflectiveQos:
+          type: boolean
+        sharingKeyDl:
+          type: string
+        sharingKeyUl:
+          type: string
+        maxPacketLossRateDl:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm'
+        maxPacketLossRateUl:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm'
+        extMaxDataBurstVol:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVolRm'
+
+    QosDataList:
+      type: array
+      items:
+        $ref: '#/components/schemas/QosData'
+
+    SteeringMode:
+      type: object
+      properties:
+        steerModeValue:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/SteerModeValue'
+        active:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/AccessType'
+        standby:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/AccessTypeRm'
+        threeGLoad:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/Uinteger'
+        prioAcc:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/AccessType'
+
+    TrafficControlData:
+      type: object
+      properties:
+        tcId:
+          type: string
+        flowStatus:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/FlowStatus'
+        redirectInfo:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RedirectInformation'
+        addRedirectInfo:
+          type: array
+          items:
+            $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RedirectInformation'
+          minItems: 1
+        muteNotif:
+          type: boolean
+        trafficSteeringPolIdDl:
+          type: string
+          nullable: true
+        trafficSteeringPolIdUl:
+          type: string
+          nullable: true
+        routeToLocs:
+          type: array
+          items:
+            $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/RouteToLocation'
+        traffCorreInd:
+          type: boolean
+        upPathChgEvent:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/UpPathChgEvent'
+        steerFun:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/SteeringFunctionality'
+        steerModeDl:
+          $ref: '#/components/schemas/SteeringMode'
+        steerModeUl:
+          $ref: '#/components/schemas/SteeringMode'
+        mulAccCtrl:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/MulticastAccessControl'
+
+    TrafficControlDataList:
+      type: array
+      items:
+        $ref: '#/components/schemas/TrafficControlData'
+
+    PccRule:
+      type: object
+      properties:
+        pccRuleId:
+          type: string
+          description: Univocally identifies the PCC rule within a PDU session.
+        flowInfoList:
+          type: array
+          items:
+            $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/FlowInformation'
+        applicationId:
+          type: string
+        appDescriptor:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ApplicationDescriptor'
+        contentVersion:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/ContentVersion'
+        precedence:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/Uinteger'
+        afSigProtocol:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AfSigProtocol'
+        isAppRelocatable:
+          type: boolean
+        isUeAddrPreserved:
+          type: boolean
+        qosData:
+          type: array
+          items:
+            $ref: '#/components/schemas/QosDataList'
+        altQosParams:
+          type: array
+          items:
+            $ref: '#/components/schemas/QosDataList'
+        trafficControlData:
+          type: array
+          items:
+            $ref: '#/components/schemas/TrafficControlDataList'
+        conditionData:
+            $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ConditionData'
+        tscaiInputDl:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer'
+        tscaiInputUl:
+          $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer'
+
+
+#-------- Definition of concrete IOCs --------------------------------------------
+
+    SubNetwork-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-Attr'
+        - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-ncO'
+        - type: object
+          properties:
+            SubNetwork:
+              $ref: '#/components/schemas/SubNetwork-Multiple'
+            ManagedElement:
+              $ref: '#/components/schemas/ManagedElement-Multiple'
+            ExternalAmfFunction:
+              $ref: '#/components/schemas/ExternalAmfFunction-Multiple'
+            ExternalNrfFunction:
+              $ref: '#/components/schemas/ExternalNrfFunction-Multiple'
+            ExternalNssfFunction:
+                $ref: '#/components/schemas/ExternalNssfFunction-Multiple'
+            AmfSet:
+              $ref: '#/components/schemas/AmfSet-Multiple'
+            AmfRegion:
+              $ref: '#/components/schemas/AmfRegion-Multiple'
+            Configurable5QISet:
+              $ref: '#/components/schemas/Configurable5QISet-Multiple'
+            Dynamic5QISet:
+              $ref: '#/components/schemas/Dynamic5QISet-Multiple'
+
+    ManagedElement-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedElement-Attr'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedElement-ncO'
+        - type: object
+          properties:
+            AmfFunction:
+              $ref: '#/components/schemas/AmfFunction-Multiple'
+            SmfFunction:
+              $ref: '#/components/schemas/SmfFunction-Multiple'
+            UpfFunction:
+              $ref: '#/components/schemas/UpfFunction-Multiple'
+            N3iwfFunction:   
+              $ref: '#/components/schemas/N3iwfFunction-Multiple'
+            PcfFunction:
+              $ref: '#/components/schemas/PcfFunction-Multiple'
+            AusfFunction:
+              $ref: '#/components/schemas/AusfFunction-Multiple'
+            UdmFunction:
+              $ref: '#/components/schemas/UdmFunction-Multiple'
+            UdrFunction:
+              $ref: '#/components/schemas/UdrFunction-Multiple'
+            UdsfFunction:
+              $ref: '#/components/schemas/UdsfFunction-Multiple'
+            NrfFunction:
+              $ref: '#/components/schemas/NrfFunction-Multiple'
+            NssfFunction:
+              $ref: '#/components/schemas/NssfFunction-Multiple'
+            SmsfFunction:
+              $ref: '#/components/schemas/SmsfFunction-Multiple'
+            LmfFunction:
+              $ref: '#/components/schemas/LmfFunction-Multiple'
+            NgeirFunction:
+              $ref: '#/components/schemas/NgeirFunction-Multiple'
+            SeppFunction:
+              $ref: '#/components/schemas/SeppFunction-Multiple'
+            NwdafFunction:
+              $ref: '#/components/schemas/NwdafFunction-Multiple'
+            ScpFunction:
+              $ref: '#/components/schemas/ScpFunction-Multiple'
+            NefFunction:
+              $ref: '#/components/schemas/NefFunction-Multiple'
+            Configurable5QISet:
+              $ref: '#/components/schemas/Configurable5QISet-Multiple'
+            Dynamic5QISet:
+              $ref: '#/components/schemas/Dynamic5QISet-Multiple'
+    AmfFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    plmnIdList:
+                      $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList'
+                    amfIdentifier:
+                      $ref: '#/components/schemas/AmfIdentifier'
+                    sBIFqdn:
+                      type: string
+                    weightFactor:
+                      $ref: '#/components/schemas/WeightFactor'
+                    snssaiList:
+                      $ref: 'nrNrm.yaml#/components/schemas/SnssaiList'
+                    amfSet:
+                      $ref: 'comDefs.yaml#/components/schemas/Dn'
+                    managedNFProfile:
+                      $ref: '#/components/schemas/ManagedNFProfile'
+                    commModelList:
+                      $ref: '#/components/schemas/CommModelList'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+        - type: object
+          properties:
+            EP_N2:
+              $ref: '#/components/schemas/EP_N2-Multiple'
+            EP_N8:
+              $ref: '#/components/schemas/EP_N8-Multiple'
+            EP_N11:
+              $ref: '#/components/schemas/EP_N11-Multiple'
+            EP_N12:
+              $ref: '#/components/schemas/EP_N12-Multiple'
+            EP_N14:
+              $ref: '#/components/schemas/EP_N14-Multiple'
+            EP_N15:
+              $ref: '#/components/schemas/EP_N15-Multiple'
+            EP_N17:
+              $ref: '#/components/schemas/EP_N17-Multiple'
+            EP_N20:
+              $ref: '#/components/schemas/EP_N20-Multiple'
+            EP_N22:
+              $ref: '#/components/schemas/EP_N22-Multiple'
+            EP_N26:
+              $ref: '#/components/schemas/EP_N26-Multiple'
+            EP_NLS:
+              $ref: '#/components/schemas/EP_NLS-Multiple'
+            EP_NLG:
+              $ref: '#/components/schemas/EP_NLG-Multiple'
+    AmfSet-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    plmnIdList:
+                      $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList'
+                    nRTACList:
+                      $ref: '#/components/schemas/TACList'
+                    amfSetId:
+                      $ref: '#/components/schemas/AmfSetId'
+                    snssaiList:
+                      $ref: 'nrNrm.yaml#/components/schemas/SnssaiList'
+    AmfRegion-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    plmnIdList:
+                      $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList'
+                    nRTACList:
+                      $ref: '#/components/schemas/TACList'
+                    amfRegionId:
+                      $ref: '#/components/schemas/AmfRegionId'
+                    snssaiList:
+                      $ref: 'nrNrm.yaml#/components/schemas/SnssaiList'
+    SmfFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    plmnIdList:
+                      $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList'
+                    nRTACList:
+                      $ref: '#/components/schemas/TACList'
+                    sBIFqdn:
+                      type: string
+                    snssaiList:
+                      $ref: 'nrNrm.yaml#/components/schemas/SnssaiList'
+                    managedNFProfile:
+                      $ref: '#/components/schemas/ManagedNFProfile'
+                    commModelList:
+                      $ref: '#/components/schemas/CommModelList'
+                    configurable5QISetRef:
+                      $ref: 'comDefs.yaml#/components/schemas/Dn'
+                    dynamic5QISetRef:
+                      $ref: 'comDefs.yaml#/components/schemas/Dn'
+
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+        - type: object
+          properties:
+            EP_N4:
+              $ref: '#/components/schemas/EP_N4-Multiple'
+            EP_N7:
+              $ref: '#/components/schemas/EP_N7-Multiple'
+            EP_N10:
+              $ref: '#/components/schemas/EP_N10-Multiple'
+            EP_N11:
+              $ref: '#/components/schemas/EP_N11-Multiple'
+            EP_N16:
+              $ref: '#/components/schemas/EP_N16-Multiple'
+            EP_S5C:
+              $ref: '#/components/schemas/EP_S5C-Multiple'
+            FiveQiDscpMappingSet:
+              $ref: '#/components/schemas/FiveQiDscpMappingSet-Single'
+            GtpUPathQoSMonitoringControl:
+              $ref: '#/components/schemas/GtpUPathQoSMonitoringControl-Single'
+            QFQoSMonitoringControl:
+              $ref: '#/components/schemas/QFQoSMonitoringControl-Single'
+            PredefinedPccRuleSet:
+              $ref: '#/components/schemas/PredefinedPccRuleSet-Single'
+
+    UpfFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    plmnIdList:
+                      $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList'
+                    nRTACList:
+                      $ref: '#/components/schemas/TACList'
+                    snssaiList:
+                      $ref: 'nrNrm.yaml#/components/schemas/SnssaiList'
+                    managedNFProfile:
+                      $ref: '#/components/schemas/ManagedNFProfile'
+                    commModelList:
+                      $ref: '#/components/schemas/CommModelList'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+        - type: object
+          properties:
+            EP_N3:
+              $ref: '#/components/schemas/EP_N3-Multiple'
+            EP_N4:
+              $ref: '#/components/schemas/EP_N4-Multiple'
+            EP_N6:
+              $ref: '#/components/schemas/EP_N6-Multiple'
+            EP_N9:
+              $ref: '#/components/schemas/EP_N9-Multiple'
+            EP_S5U:
+              $ref: '#/components/schemas/EP_S5U-Multiple'
+    N3iwfFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    plmnIdList:
+                      $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList'
+                    commModelList:
+                      $ref: '#/components/schemas/CommModelList'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+        - type: object
+          properties:
+            EP_N3:
+              $ref: '#/components/schemas/EP_N3-Multiple'
+            EP_N4:
+              $ref: '#/components/schemas/EP_N4-Multiple'
+    PcfFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    plmnIdList:
+                      $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList'
+                    sBIFqdn:
+                      type: string
+                    snssaiList:
+                      $ref: 'nrNrm.yaml#/components/schemas/SnssaiList'
+                    managedNFProfile:
+                      $ref: '#/components/schemas/ManagedNFProfile'
+                    commModelList:
+                      $ref: '#/components/schemas/CommModelList'
+                    configurable5QISetRef:
+                      $ref: 'comDefs.yaml#/components/schemas/Dn'
+                    dynamic5QISetRef:
+                      $ref: 'comDefs.yaml#/components/schemas/Dn'
+
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+        - type: object
+          properties:
+            EP_N5:
+              $ref: '#/components/schemas/EP_N5-Multiple'
+            EP_N7:
+              $ref: '#/components/schemas/EP_N7-Multiple'
+            EP_N15:
+              $ref: '#/components/schemas/EP_N15-Multiple'
+            EP_N16:
+              $ref: '#/components/schemas/EP_N16-Multiple'
+            EP_Rx:
+              $ref: '#/components/schemas/EP_Rx-Multiple'
+            PredefinedPccRuleSet:
+              $ref: '#/components/schemas/PredefinedPccRuleSet-Single'
+
+    AusfFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    plmnIdList:
+                      $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList'
+                    sBIFqdn:
+                      type: string
+                    snssaiList:
+                      $ref: 'nrNrm.yaml#/components/schemas/SnssaiList'
+                    managedNFProfile:
+                      $ref: '#/components/schemas/ManagedNFProfile'
+                    commModelList:
+                      $ref: '#/components/schemas/CommModelList'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+        - type: object
+          properties:
+            EP_N12:
+              $ref: '#/components/schemas/EP_N12-Multiple'
+            EP_N13:
+              $ref: '#/components/schemas/EP_N13-Multiple'
+    UdmFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    plmnIdList:
+                      $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList'
+                    sBIFqdn:
+                      type: string
+                    snssaiList:
+                      $ref: 'nrNrm.yaml#/components/schemas/SnssaiList'
+                    managedNFProfile:
+                      $ref: '#/components/schemas/ManagedNFProfile'
+                    commModelList:
+                      $ref: '#/components/schemas/CommModelList'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+        - type: object
+          properties:
+            EP_N8:
+              $ref: '#/components/schemas/EP_N8-Multiple'
+            EP_N10:
+              $ref: '#/components/schemas/EP_N10-Multiple'
+            EP_N13:
+              $ref: '#/components/schemas/EP_N13-Multiple'
+    UdrFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    plmnIdList:
+                      $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList'
+                    sBIFqdn:
+                      type: string
+                    snssaiList:
+                      $ref: 'nrNrm.yaml#/components/schemas/SnssaiList'
+                    managedNFProfile:
+                      $ref: '#/components/schemas/ManagedNFProfile'
+    UdsfFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    plmnIdList:
+                      $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList'
+                    sBIFqdn:
+                      type: string
+                    snssaiList:
+                      $ref: 'nrNrm.yaml#/components/schemas/SnssaiList'
+                    managedNFProfile:
+                      $ref: '#/components/schemas/ManagedNFProfile'
+    NrfFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    plmnIdList:
+                      $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList'
+                    sBIFqdn:
+                      type: string
+                    cNSIIdList:
+                      $ref: '#/components/schemas/CNSIIdList'
+                    nFProfileList:
+                      $ref: '#/components/schemas/NFProfileList'
+                    snssaiList:
+                      $ref: 'nrNrm.yaml#/components/schemas/SnssaiList'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+        - type: object
+          properties:
+            EP_N27:
+              $ref: '#/components/schemas/EP_N27-Multiple'
+    NssfFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    plmnIdList:
+                      $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList'
+                    sBIFqdn:
+                      type: string
+                    cNSIIdList:
+                      $ref: '#/components/schemas/CNSIIdList'
+                    nFProfileList:
+                      $ref: '#/components/schemas/NFProfileList'
+                    snssaiList:
+                      $ref: 'nrNrm.yaml#/components/schemas/SnssaiList'
+                    commModelList:
+                      $ref: '#/components/schemas/CommModelList'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+        - type: object
+          properties:
+            EP_N22:
+              $ref: '#/components/schemas/EP_N22-Multiple'
+            EP_N31:
+              $ref: '#/components/schemas/EP_N31-Multiple'
+    SmsfFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    plmnIdList:
+                      $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList'
+                    sBIFqdn:
+                      type: string
+                    managedNFProfile:
+                      $ref: '#/components/schemas/ManagedNFProfile'
+                    commModelList:
+                      $ref: '#/components/schemas/CommModelList'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+        - type: object
+          properties:
+            EP_N20:
+              $ref: '#/components/schemas/EP_N20-Multiple'
+            EP_N21:
+              $ref: '#/components/schemas/EP_N21-Multiple'
+            EP_MAP_SMSC:
+              $ref: '#/components/schemas/EP_MAP_SMSC-Multiple'
+    LmfFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    plmnIdList:
+                      $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList'
+                    managedNFProfile:
+                      $ref: '#/components/schemas/ManagedNFProfile'
+                    commModelList:
+                      $ref: '#/components/schemas/CommModelList'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+        - type: object
+          properties:
+            EP_NLS:
+              $ref: '#/components/schemas/EP_NLS-Multiple'
+    NgeirFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    plmnIdList:
+                      $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList'
+                    sBIFqdn:
+                      type: string
+                    snssaiList:
+                      $ref: 'nrNrm.yaml#/components/schemas/SnssaiList'
+                    managedNFProfile:
+                      $ref: '#/components/schemas/ManagedNFProfile'
+                    commModelList:
+                      $ref: '#/components/schemas/CommModelList'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+        - type: object
+          properties:
+            EP_N17:
+              $ref: '#/components/schemas/EP_N17-Multiple'
+    SeppFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    plmnId:
+                      $ref: 'nrNrm.yaml#/components/schemas/PlmnId'
+                    sEPPType:
+                      $ref: '#/components/schemas/SEPPType'
+                    sEPPId:
+                      type: integer
+                    fqdn:
+                      $ref: 'genericNrm.yaml#/components/schemas/Fqdn'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+        - type: object
+          properties:
+            EP_N32:
+              $ref: '#/components/schemas/EP_N32-Multiple'
+    NwdafFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    plmnIdList:
+                      $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList'
+                    sBIFqdn:
+                      type: string
+                    snssaiList:
+                      $ref: 'nrNrm.yaml#/components/schemas/SnssaiList'
+                    managedNFProfile:
+                      $ref: '#/components/schemas/ManagedNFProfile'
+                    commModelList:
+                      $ref: '#/components/schemas/CommModelList'
+    ScpFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    supportedFuncList:
+                      $ref: '#/components/schemas/SupportedFuncList'
+                    address:
+                      $ref: 'genericNrm.yaml#/components/schemas/HostAddr'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+    NefFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    sBIFqdn:
+                      type: string
+                    snssaiList:
+                      $ref: 'nrNrm.yaml#/components/schemas/SnssaiList'
+                    managedNFProfile:
+                      $ref: '#/components/schemas/ManagedNFProfile'
+                    capabilityList:
+                      $ref: '#/components/schemas/CapabilityList'
+                    isINEF:
+                      type: boolean
+                    isCAPIFSup:
+                      type: boolean
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+
+    ExternalAmfFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    plmnIdList:
+                      $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList'
+                    amfIdentifier:
+                      $ref: '#/components/schemas/AmfIdentifier'
+    ExternalNrfFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    plmnIdList:
+                      $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList'
+    ExternalNssfFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    plmnIdList:
+                      $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList'
+    ExternalSeppFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    plmnId:
+                      $ref: 'nrNrm.yaml#/components/schemas/PlmnId'
+                    sEPPId:
+                      type: integer
+                    fqdn:
+                      $ref: 'genericNrm.yaml#/components/schemas/Fqdn'
+
+
+    EP_N2-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+    EP_N3-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+                    epTransportRefs:
+                      $ref: 'comDefs.yaml#/components/schemas/DnList'
+    EP_N4-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+    EP_N5-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+    EP_N6-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+    EP_N7-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+    EP_N8-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+    EP_N9-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+    EP_N10-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+    EP_N11-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+    EP_N12-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+    EP_N13-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+    EP_N14-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+    EP_N15-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+    EP_N16-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+    EP_N17-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+
+    EP_N20-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+
+    EP_N21-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+    EP_N22-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+
+    EP_N26-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+    EP_N27-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+
+
+    EP_N31-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+    EP_N32-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    remotePlmnId:
+                      $ref: 'nrNrm.yaml#/components/schemas/PlmnId'
+                    remoteSeppAddress:
+                      $ref: 'genericNrm.yaml#/components/schemas/HostAddr'
+                    remoteSeppId:
+                      type: integer
+                    n32cParas:
+                      type: string
+                    n32fPolicy:
+                      type: string
+                    withIPX:
+                      type: boolean
+
+    EP_S5C-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+    EP_S5U-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+    EP_Rx-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+    EP_MAP_SMSC-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+    EP_NLS-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+    EP_NLG-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress'
+
+    FiveQiDscpMappingSet-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - type: object
+                  properties:
+                    FiveQiDscpMappingList:
+                      type: array
+                      items:
+                        $ref: '#/components/schemas/FiveQiDscpMapping'
+
+    Configurable5QISet-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - type: object
+                  properties:
+                    configurable5QIs:
+                      type: array
+                      items:
+                        $ref: '#/components/schemas/FiveQICharacteristics'  
+   
+    Dynamic5QISet-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - type: object
+                  properties:
+                    dynamic5QIs:
+                      type: array
+                      items:
+                        $ref: '#/components/schemas/FiveQICharacteristics'                           
+                      
+    GtpUPathQoSMonitoringControl-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - type: object
+                  properties:
+                    gtpUPathQoSMonitoringState:
+                      type: string
+                      enum:
+                        - ENABLED
+                        - DISABLED
+                    gtpUPathMonitoredSNSSAIs:
+                      type: array
+                      items:
+                        $ref: 'nrNrm.yaml#/components/schemas/Snssai'
+                    monitoredDSCPs:
+                      type: array
+                      items:
+                        type: integer
+                        minimum: 0
+                        maximum: 255
+                    isEventTriggeredGtpUPathMonitoringSupported:
+                      type: boolean
+                    isPeriodicGtpUMonitoringSupported:
+                      type: boolean
+                    isImmediateGtpUMonitoringSupported:
+                      type: boolean
+                    gtpUPathDelayThresholds:
+                      $ref: '#/components/schemas/GtpUPathDelayThresholdsType'
+                    gtpUPathMinimumWaitTime:
+                      type: integer
+                    gtpUPathMeasurementPeriod:
+                      type: integer
+
+    QFQoSMonitoringControl-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - type: object
+                  properties:
+                    qFQoSMonitoringState:
+                      type: string
+                      enum:
+                        - ENABLED
+                        - DISABLED
+                    qFMonitoredSNSSAIs:
+                      type: array
+                      items:
+                        $ref: 'nrNrm.yaml#/components/schemas/Snssai'
+                    qFMonitored5QIs:
+                      type: array
+                      items:
+                        type: integer
+                        minimum: 0
+                        maximum: 255
+                    isEventTriggeredQFMonitoringSupported:
+                      type: boolean
+                    isPeriodicQFMonitoringSupported:
+                      type: boolean
+                    isSessionReleasedQFMonitoringSupported:
+                      type: boolean
+                    qFPacketDelayThresholds:
+                      $ref: '#/components/schemas/QFPacketDelayThresholdsType'
+                    qFMinimumWaitTime:
+                      type: integer
+                    qFMeasurementPeriod:
+                      type: integer
+
+    PredefinedPccRuleSet-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - type: object
+                  properties:
+                    predefinedPccRules:
+                      type: array
+                      items:
+                        $ref: '#/components/schemas/PccRule'                           
+
+#-------- Definition of JSON arrays for name-contained IOCs ----------------------
+
+    SubNetwork-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/SubNetwork-Single'
+    ManagedElement-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/ManagedElement-Single'
+    AmfFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/AmfFunction-Single'
+    SmfFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/SmfFunction-Single'
+    UpfFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/UpfFunction-Single'
+    N3iwfFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/N3iwfFunction-Single'
+    PcfFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/PcfFunction-Single'
+    AusfFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/AusfFunction-Single'
+    UdmFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/UdmFunction-Single'
+    UdrFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/UdrFunction-Single'
+    UdsfFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/UdsfFunction-Single'
+    NrfFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/NrfFunction-Single'
+    NssfFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/NssfFunction-Single'
+    SmsfFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/SmsfFunction-Single'
+    LmfFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/LmfFunction-Single'
+    NgeirFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/NgeirFunction-Single'
+    SeppFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/SeppFunction-Single'
+    NwdafFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/NwdafFunction-Single'
+    ScpFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/ScpFunction-Single'
+    NefFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/NefFunction-Single'
+
+    ExternalAmfFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/ExternalAmfFunction-Single'
+    ExternalNrfFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/ExternalNrfFunction-Single'
+    ExternalNssfFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/ExternalNssfFunction-Single'
+    ExternalSeppFunction-Nultiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/ExternalSeppFunction-Single'
+
+    AmfSet-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/AmfSet-Single'
+    AmfRegion-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/AmfRegion-Single'
+  
+    EP_N2-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_N2-Single'
+    EP_N3-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_N3-Single'
+    EP_N4-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_N4-Single'
+    EP_N5-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_N5-Single'
+    EP_N6-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_N6-Single'
+    EP_N7-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_N7-Single'
+    EP_N8-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_N8-Single'
+    EP_N9-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_N9-Single'
+    EP_N10-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_N10-Single'
+    EP_N11-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_N11-Single'
+    EP_N12-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_N12-Single'
+    EP_N13-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_N13-Single'
+    EP_N14-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_N14-Single'
+    EP_N15-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_N15-Single'
+    EP_N16-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_N16-Single'
+    EP_N17-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_N17-Single'
+
+    EP_N20-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_N20-Single'
+    EP_N21-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_N21-Single'
+    EP_N22-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_N22-Single'
+
+    EP_N26-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_N26-Single'
+    EP_N27-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_N27-Single'
+
+    EP_N31-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_N31-Single'
+    EP_N32-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_N32-Single'
+
+    EP_S5C-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_S5C-Single'
+    EP_S5U-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_S5U-Single'
+    EP_Rx-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_Rx-Single'
+    EP_MAP_SMSC-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_MAP_SMSC-Single'
+    EP_NLS-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_NLS-Single'
+    EP_NLG-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_NLG-Single'
+    Configurable5QISet-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/Configurable5QISet-Single'
+    Dynamic5QISet-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/Dynamic5QISet-Single'
+
+
+
+#------------ Definitions in TS 28.541 for TS 28.532 -----------------------------
+
+    resources-5gcNrm:
+      oneOf:
+       - $ref: '#/components/schemas/SubNetwork-Single'
+       - $ref: '#/components/schemas/ManagedElement-Single'
+       - $ref: '#/components/schemas/AmfFunction-Single'
+       - $ref: '#/components/schemas/SmfFunction-Single'
+       - $ref: '#/components/schemas/UpfFunction-Single'
+       - $ref: '#/components/schemas/N3iwfFunction-Single'
+       - $ref: '#/components/schemas/PcfFunction-Single'
+       - $ref: '#/components/schemas/AusfFunction-Single'
+       - $ref: '#/components/schemas/UdmFunction-Single'
+       - $ref: '#/components/schemas/UdrFunction-Single'
+       - $ref: '#/components/schemas/UdsfFunction-Single'
+       - $ref: '#/components/schemas/NrfFunction-Single'
+       - $ref: '#/components/schemas/NssfFunction-Single'
+       - $ref: '#/components/schemas/SmsfFunction-Single'
+       - $ref: '#/components/schemas/LmfFunction-Single'
+       - $ref: '#/components/schemas/NgeirFunction-Single'
+       - $ref: '#/components/schemas/SeppFunction-Single'
+       - $ref: '#/components/schemas/NwdafFunction-Single'
+       - $ref: '#/components/schemas/ScpFunction-Single'
+       - $ref: '#/components/schemas/NefFunction-Single'
+
+       - $ref: '#/components/schemas/ExternalAmfFunction-Single'
+       - $ref: '#/components/schemas/ExternalNrfFunction-Single'
+       - $ref: '#/components/schemas/ExternalNssfFunction-Single'
+       - $ref: '#/components/schemas/ExternalSeppFunction-Single'
+
+       - $ref: '#/components/schemas/AmfSet-Single'
+       - $ref: '#/components/schemas/AmfRegion-Single'
+       - $ref: '#/components/schemas/QFQoSMonitoringControl-Single'
+       - $ref: '#/components/schemas/GtpUPathQoSMonitoringControl-Single'
+
+       - $ref: '#/components/schemas/EP_N2-Single'
+       - $ref: '#/components/schemas/EP_N3-Single'
+       - $ref: '#/components/schemas/EP_N4-Single'
+       - $ref: '#/components/schemas/EP_N5-Single'
+       - $ref: '#/components/schemas/EP_N6-Single'
+       - $ref: '#/components/schemas/EP_N7-Single'
+       - $ref: '#/components/schemas/EP_N8-Single'
+       - $ref: '#/components/schemas/EP_N9-Single'
+       - $ref: '#/components/schemas/EP_N10-Single'
+       - $ref: '#/components/schemas/EP_N11-Single'
+       - $ref: '#/components/schemas/EP_N12-Single'
+       - $ref: '#/components/schemas/EP_N13-Single'
+       - $ref: '#/components/schemas/EP_N14-Single'
+       - $ref: '#/components/schemas/EP_N15-Single'
+       - $ref: '#/components/schemas/EP_N16-Single'
+       - $ref: '#/components/schemas/EP_N17-Single'
+
+       - $ref: '#/components/schemas/EP_N20-Single'
+       - $ref: '#/components/schemas/EP_N21-Single'
+       - $ref: '#/components/schemas/EP_N22-Single'
+
+       - $ref: '#/components/schemas/EP_N26-Single'
+       - $ref: '#/components/schemas/EP_N27-Single'
+
+       - $ref: '#/components/schemas/EP_N31-Single'
+       - $ref: '#/components/schemas/EP_N31-Single'
+
+       - $ref: '#/components/schemas/EP_S5C-Single'
+       - $ref: '#/components/schemas/EP_S5U-Single'
+       - $ref: '#/components/schemas/EP_Rx-Single'
+       - $ref: '#/components/schemas/EP_MAP_SMSC-Single'
+       - $ref: '#/components/schemas/EP_NLS-Single'
+       - $ref: '#/components/schemas/EP_NLG-Single'
+       - $ref: '#/components/schemas/Configurable5QISet-Single'
+       - $ref: '#/components/schemas/FiveQiDscpMappingSet-Single'
+       - $ref: '#/components/schemas/PredefinedPccRuleSet-Single'
+       - $ref: '#/components/schemas/Dynamic5QISet-Single'
@@ -1,41 +1,47 @@
 openapi: 3.0.1
 info:
-  title: TS 28.532 Performance data file reporting Service
-  version: 16.4.0
+  title: TS 28.532 File data reporting Service
+  version: 16.6.0
   description: >-
-    OAS 3.0.1 specification of the Performance data file reporting Management Service © 2020,
+    OAS 3.0.1 specification of the File data reporting Management Service © 2020,
     3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All
     rights reserved.
 externalDocs:
-  description: 3GPP TS 28.532 V16.4.0; Generic management services
+  description: 3GPP TS 28.532 V16.5.0; Generic management services
   url: 'http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/'
 servers:
-  - url: '{MnSRoot}/PerfDataFileReportMnS/v1640'
+  - url: '{MnSRoot}/FileDataReportingMnS/{MnSversion}'
     variables:
       MnSRoot:
         description: See subclause 4.4 of TS 32.158
-        default: http://example.com/3GPPManagement
+        default: http://example.com/3GPPManagement 
+      version:
+        description: Indicates the current version of the specification
+        default: 16.5.0
 paths:
   /Files:
     get:
       summary: Read resources of information of available files
-      description: 'With HTTP GET, resources of information of available files are read. The resources to be read are identified with the path component (base resource) and the query component (managementDataType, beginTime and endTime) of the URI. The fields query component allows to select the resource properties to be returned.'
+      description: With HTTP GET, resources of information of available files are read. The resources to be read are identified with the path component (base resource) and the query component (fileaType, beginTime and endTime) of the URI. The fields query component allows to select the resource properties to be returned.
       parameters:
-        - name: managementDataType
+        - name: fileType
           in: query
           description: This parameter identifies the type of management data that the file contains to select the resources from the collection resources identified with the path component of the URI.
           required: true
-          $ref: '#/components/schemas/managementDataType-Type'
+          schema:
+            $ref: '#/components/schemas/fileType-Type'
         - name: beginTime
           in: query
           description: This parameter identifies the time stamp no later than which the file became available to select the resources from the collection resources identified with the path component of the URI.
           required: true
-          $ref: '#/components/schemas/dateTime-Type'
+          schema:
+            $ref: '#/components/schemas/dateTime-Type'
         - name: endTime
           in: query
           description: This parameter identifies the time stamp no earlier than which the file became available to select the resources from the collection resources identified with the path component of the URI.
           required: true
-          $ref: '#/components/schemas/dateTime-Type'
+          schema:
+            $ref: '#/components/schemas/dateTime-Type'
       responses:
         '200':
           description: 'Success case ("200 OK"). The resources identified in the request for retrieval are returned in the response message body. In case the fields query parameter is used, the selected resources are returned.'
@@ -184,6 +190,8 @@ components:
           type: string
         fileFormat:
           type: string
+        fileType:
+          $ref: '#/components/schemas/fileType-Type'
     error-ResponseType:
       type: object
       properties:
@@ -192,10 +200,13 @@ components:
           properties:
             errorInfo:
               type: string
-    managementDataType-Type:
+    fileType-Type:
       type: string
       enum:
-        - PM
+        - PERFORMANCE
+        - TRACE
+        - ANALYTICS
+        - PROPRIETARY
     header-Type:
       description: Header used in notifications as notification header
       type: object
diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/comDefs.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/comDefs.yaml
new file mode 100644 (file)
index 0000000..fb6d7f4
--- /dev/null
@@ -0,0 +1,152 @@
+openapi: 3.0.1
+info:
+  title: Common Type Definitions
+  version: 16.6.0
+  description: >-
+    OAS 3.0.1 specification of common type definitions in the Generic NRM
+    © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
+    All rights reserved.
+externalDocs:
+  description: 3GPP TS 28.623; Generic NRM; Common type definitions
+  url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.623/
+paths: {}
+components:
+  schemas:
+  
+    Float:
+      type: number
+      format: float
+    DateTime:
+      type: string
+      format: date-Time
+
+    Dn:
+      type: string
+    DnList:
+      type: array
+      items:
+        $ref: '#/components/schemas/Dn'
+
+    Mcc:
+      type: string
+      pattern: '^[0-9]{3}$'
+    Mnc:
+      type: string
+      pattern: '^[0-9]{2,3}$'
+    PlmnId:
+      type: object
+      properties:
+        mcc:
+          $ref: '#/components/schemas/Mcc'
+        mnc:
+          $ref: '#/components/schemas/Mnc'
+      required:
+        - mcc
+        - mnc
+
+    Fqdn:
+      type: string
+    Uri:
+      type: string
+
+    Ipv4Addr:
+      type: string
+      pattern: '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$'
+      example: '198.51.100.1'
+    Ipv6Addr:
+      type: string
+      allOf:
+        - pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))$'
+        - pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))$'
+      example: '2001:db8:85a3::8a2e:370:7334'
+    Ipv6Prefix:
+      type: string
+      allOf:
+        - pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))(\/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))$'
+        - pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))(\/.+)$'
+      example: '2001:db8:abcd:12::0/64'
+
+    AdministrativeState:
+      type: string
+      enum:
+        - LOCKED
+        - UNLOCKED
+    OperationalState:
+      type: string
+      enum:
+        - ENABLED
+        - DISABLED
+    UsageState:
+      type: string
+      enum:
+        - IDEL
+        - ACTIVE
+        - BUSY
+
+    AttributeNameValuePairSet:
+      description: >-
+        The key of this map is the attribute name, and the value the attribute value.
+      type: object
+      minProperties: 1
+      additionalProperties:
+        nullable: true
+    AttributeValueChangeSet:
+      description: >-
+        The first array item contains the attribute name value pairs with the new values,
+        and the second array item the attribute name value pairs with the optional old values.
+      type: array
+      items:
+        $ref: '#/components/schemas/AttributeNameValuePairSet'
+        minItems: 1
+        maxItems: 2
+
+    Filter:
+      type: string
+    SystemDN:
+      type: string
+
+    NotificationId:
+      type: integer
+    NotificationType:
+      oneOf:
+        - $ref: 'faultMnS.yaml#/components/schemas/AlarmNotificationTypes'
+        - $ref: 'provMnS.yaml#/components/schemas/CmNotificationTypes'
+        - $ref: 'perfMnS.yaml#/components/schemas/PerfNotificationTypes'
+        - $ref: 'heartbeatNtf.yaml#/components/schemas/HeartbeatNotificationTypes'
+        # The enum below will be replaced by a reference once notification
+        # types are defined in "FileDataReportingMnS.yaml"
+        - type: string
+          enum:
+            - notifyFileReady
+            - notifyFilePreparationError
+    NotificationHeader:
+      type: object
+      properties:
+        href:
+          $ref: '#/components/schemas/Uri'
+        notificationId:
+          $ref: '#/components/schemas/NotificationId'
+        notificationType:
+          $ref: '#/components/schemas/NotificationType'
+        eventTime:
+          $ref: '#/components/schemas/DateTime'
+        systemDN:
+          $ref: '#/components/schemas/SystemDN'
+      required:
+        - href
+        - notificationId
+        - notificationType
+        - eventTime
+        - 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
@@ -1,22 +1,22 @@
 openapi: 3.0.1
 info:
   title: Fault Supervision MnS
-  version: 16.4.0
+  version: 16.6.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 V16.4.0; Generic management services
+  description: 3GPP TS 28.532; Generic management services
   url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/
 servers:
-  - url: '{MnSRoot}/FaultSupervisionMnS/{version}'
+  - url: '{MnSRoot}/FaultSupervisionMnS/{MnSversion}'
     variables:
       MnSRoot:
         description: See subclause 4.4.3 of TS 32.158
         default: http://example.com/3GPPManagement
-      version:
-        description: Versi      on number of the OpenAPI definition
+      MnSversion:
+        description: Version number of the OpenAPI definition
         default: XXX
 paths:
   /alarms:
@@ -35,12 +35,12 @@ paths:
           in: query
           required: false
           schema:
-            $ref: '#/components/schemas/Dn'
+            $ref: 'comDefs.yaml#/components/schemas/Dn'
         - name: filter
           in: query
           required: false
           schema:
-            $ref: '#/components/schemas/Filter'
+            $ref: 'comDefs.yaml#/components/schemas/Filter'
       responses:
         '200':
           description: >-
@@ -57,7 +57,7 @@ paths:
                       - type: object
                         properties:
                           lastNotificationHeader:
-                            $ref: '#/components/schemas/NotificationHeader'
+                            $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
                       - $ref: '#/components/schemas/AlarmRecord'
                       - type: object
                         properties:
@@ -68,7 +68,7 @@ paths:
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/ErrorResponse'
+                $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
     patch:
       summary: 'Clear, acknowledge or unacknowledge multiple alarms'
       description: >-
@@ -130,7 +130,7 @@ paths:
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/ErrorResponse'
+                $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
   /alarms/{alarmId}:
     patch:
       summary: 'Clear, acknowledge or unacknowledge a single alarm'
@@ -163,7 +163,7 @@ paths:
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/ErrorResponse'
+                $ref: 'comDefs.yaml#/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: '#/components/schemas/ErrorResponse'
+                $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
 
   /subscriptions:
     post:
@@ -238,7 +238,7 @@ paths:
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/ErrorResponse'
+                $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
       callbacks:
         notifyNewAlarm:
           '{request.body#/consumerReference}':
@@ -262,7 +262,7 @@ paths:
                   content:
                     application/json:
                       schema:
-                        $ref: '#/components/schemas/ErrorResponse'
+                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
         notifyClearedAlarm:
           '{request.body#/consumerReference}':
             post:
@@ -283,7 +283,7 @@ paths:
                   content:
                     application/json:
                       schema:
-                        $ref: '#/components/schemas/ErrorResponse'
+                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
         notifyChangedAlarm:
           '{request.body#/consumerReference}':
             post:
@@ -304,7 +304,7 @@ paths:
                   content:
                     application/json:
                       schema:
-                        $ref: '#/components/schemas/ErrorResponse'
+                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
         notifyChangedAlarmGeneral:
           '{request.body#/consumerReference}':
             post:
@@ -327,7 +327,7 @@ paths:
                   content:
                     application/json:
                       schema:
-                        $ref: '#/components/schemas/ErrorResponse'
+                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
         notifyCorrelatedNotificationChanged:
           '{request.body#/consumerReference}':
             post:
@@ -348,7 +348,7 @@ paths:
                   content:
                     application/json:
                       schema:
-                        $ref: '#/components/schemas/ErrorResponse'
+                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
         notifyAckStateChanged:
           '{request.body#/consumerReference}':
             post:
@@ -369,7 +369,7 @@ paths:
                   content:
                     application/json:
                       schema:
-                        $ref: '#/components/schemas/ErrorResponse'
+                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
         notifyComments:
           '{request.body#/consumerReference}':
             post:
@@ -390,7 +390,7 @@ paths:
                   content:
                     application/json:
                       schema:
-                        $ref: '#/components/schemas/ErrorResponse'
+                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
         notifyPotentialFaultyAlarmList:
           '{request.body#/consumerReference}':
             post:
@@ -411,7 +411,7 @@ paths:
                   content:
                     application/json:
                       schema:
-                        $ref: '#/components/schemas/ErrorResponse'
+                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
         notifyAlarmListRebuilt:
           '{request.body#/consumerReference}':
             post:
@@ -432,7 +432,7 @@ paths:
                   content:
                     application/json:
                       schema:
-                        $ref: '#/components/schemas/ErrorResponse'
+                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
   /subscriptions/{subscriptionId}:
     delete:
       summary: Delete a subscription
@@ -458,91 +458,10 @@ paths:
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/ErrorResponse'
+                $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
 
 components:
   schemas:
-  
-  #---- 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 ----------------------------------------------------#
  
@@ -608,46 +527,47 @@ components:
         high:
           oneOf:
             - type: integer
-            - $ref: '#/components/schemas/Float'
+            - $ref: 'comDefs.yaml#/components/schemas/Float'
         low:
-          $ref: '#/components/schemas/Float'
+          $ref: 'comDefs.yaml#/components/schemas/Float'
     ThresholdLevelInd:
-      type: object
-      required:
-        - up
-      properties:
-        up:
-          $ref: '#/components/schemas/ThresholdHysteresis'
-        low:
-          $ref: '#/components/schemas/ThresholdHysteresis'
+      oneOf:
+        - type: object
+          properties:
+            up:
+              $ref: '#/components/schemas/ThresholdHysteresis'
+        - type: object
+          properties:
+            down:
+              $ref: '#/components/schemas/ThresholdHysteresis'
     ThresholdInfo:
       type: object
-      required:
-        - observedMeasurement
-        - observedValue
       properties:
         observedMeasurement:
           type: string
         observedValue:
           oneOf:
             - type: integer
-            - $ref: '#/components/schemas/Float'
-        thresholdLevelInd:
+            - $ref: 'comDefs.yaml#/components/schemas/Float'
+        thresholdLevel:
           $ref: '#/components/schemas/ThresholdLevelInd'
         armTime:
-          $ref: '#/components/schemas/DateTime'
+          $ref: 'comDefs.yaml#/components/schemas/DateTime'
+      required:
+        - observedMeasurement
+        - observedValue
     CorrelatedNotification:
       type: object
-      required:
-        - source
-        - notificationId
       properties:
         sourceObjectInstance:
-          $ref: '#/components/schemas/Dn'
+          $ref: 'comDefs.yaml#/components/schemas/Dn'
         notificationIds:
           type: array
           items:
-            $ref: '#/components/schemas/NotificationId'
+            $ref: 'comDefs.yaml#/components/schemas/NotificationId'
+      required:
+        - sourceObjectInstance
+        - notificationIds
     CorrelatedNotifications:
       type: array
       items:
@@ -667,15 +587,15 @@ components:
         # alarmId:
         #  $ref: '#/components/schemas/AlarmId'
         objectInstance:
-          $ref: '#/components/schemas/Dn'
+          $ref: 'comDefs.yaml#/components/schemas/Dn'
         notificationId:
-          $ref: '#/components/schemas/NotificationId'
+          $ref: 'comDefs.yaml#/components/schemas/NotificationId'
         alarmRaisedTime:
-          $ref: '#/components/schemas/DateTime'
+          $ref: 'comDefs.yaml#/components/schemas/DateTime'
         alarmChangedTime:
-          $ref: '#/components/schemas/DateTime'
+          $ref: 'comDefs.yaml#/components/schemas/DateTime'
         alarmClearedTime:
-          $ref: '#/components/schemas/DateTime'
+          $ref: 'comDefs.yaml#/components/schemas/DateTime'
         alarmType:
           $ref: '#/components/schemas/AlarmType'
         probableCause:
@@ -687,7 +607,7 @@ components:
         backedUpStatus:
           type: boolean
         backUpObject:
-          $ref: '#/components/schemas/Dn'
+          $ref: 'comDefs.yaml#/components/schemas/Dn'
         trendIndication:
           $ref: '#/components/schemas/TrendIndication'
         thresholdinfo:
@@ -695,21 +615,21 @@ components:
         correlatedNotifications:
           $ref: '#/components/schemas/CorrelatedNotifications'
         stateChangeDefinition:
-          $ref: '#/components/schemas/AttributeValueChangeSet'
+          $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet'
         monitoredAttributes:
-          $ref: '#/components/schemas/AttributeNameValuePairSet'
+          $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
         proposedRepairActions:
           type: string
         additionalText:
           type: string
         additionalInformation:
-          $ref: '#/components/schemas/AttributeNameValuePairSet'
+          $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
 
         rootCauseIndicator:
           type: boolean
 
         ackTime:
-          $ref: '#/components/schemas/DateTime'
+          $ref: 'comDefs.yaml#/components/schemas/DateTime'
         ackUserId:
           type: string
         ackSystemId:
@@ -750,7 +670,7 @@ components:
 
     NotifyNewAlarm:
       allOf:
-        - $ref: '#/components/schemas/NotificationHeader'
+        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
         - type: object
           required:
             - alarmId
@@ -771,7 +691,7 @@ components:
             backedUpStatus:
               type: boolean
             backUpObject:
-              $ref: '#/components/schemas/Dn'
+              $ref: 'comDefs.yaml#/components/schemas/Dn'
             trendIndication:
               $ref: '#/components/schemas/TrendIndication'
             thresholdInfo:
@@ -779,20 +699,20 @@ components:
             correlatedNotifications:
               $ref: '#/components/schemas/CorrelatedNotifications'
             stateChangeDefinition:
-              $ref: '#/components/schemas/AttributeValueChangeSet'
+              $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet'
             monitoredAttributes:
-              $ref: '#/components/schemas/AttributeNameValuePairSet'
+              $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
             proposedRepairActions:
               type: string
             additionalText:
               type: string
             additionalInformation:
-              $ref: '#/components/schemas/AttributeNameValuePairSet'
+              $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
             rootCauseIndicator:
               type: boolean
     NotifyNewSecAlarm:
       allOf:
-        - $ref: '#/components/schemas/NotificationHeader'
+        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
         - type: object
           required:
             - alarmId
@@ -816,7 +736,7 @@ components:
             additionalText:
               type: string
             additionalInformation:
-              $ref: '#/components/schemas/AttributeNameValuePairSet'
+              $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
             rootCauseIndicator:
               type: boolean
             serviceUser:
@@ -827,7 +747,7 @@ components:
               type: string
     NotifyClearedAlarm:
       allOf:
-        - $ref: '#/components/schemas/NotificationHeader'
+        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
         - type: object
           required:
             - alarmId
@@ -851,7 +771,7 @@ components:
               type: string
     NotifyChangedAlarm:
       allOf:
-        - $ref: '#/components/schemas/NotificationHeader'
+        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
         - type: object
           required:
             - alarmId
@@ -869,14 +789,11 @@ components:
               $ref: '#/components/schemas/PerceivedSeverity'
     NotifyChangedAlarmGeneral:
       allOf:
-        - $ref: '#/components/schemas/NotificationHeader'
+        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
         - type: object
           required:
             - alarmId
             - alarmType
-            - probableCause
-            - perceivedSeverity
-            - changedAlarmAttributes
           properties:
             alarmId:
               $ref: '#/components/schemas/AlarmId'
@@ -893,38 +810,35 @@ components:
             backedUpStatus:
               type: boolean
             backUpObject:
-              $ref: '#/components/schemas/Dn'
+              $ref: 'comDefs.yaml#/components/schemas/Dn'
             trendIndication:
               $ref: '#/components/schemas/TrendIndication'
             thresholdInfo:
               $ref: '#/components/schemas/ThresholdInfo'
             stateChangeDefinition:
-              $ref: '#/components/schemas/AttributeValueChangeSet'
+              $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet'
             monitoredAttributes:
-              $ref: '#/components/schemas/AttributeNameValuePairSet'
+              $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
             proposedRepairActions:
               type: string
             additionalText:
               type: string
             additionalInformation:
-              $ref: '#/components/schemas/AttributeNameValuePairSet'
+              $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
             rootCauseIndicator:
               type: boolean
             changedAlarmAttributes:
-              $ref: '#/components/schemas/AttributeNameValuePairSet'
+              $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
     NotifyChangedSecAlarmGeneral:
       allOf:
-        - $ref: '#/components/schemas/NotificationHeader'
+        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
         - type: object
           required:
             - alarmId
             - alarmType
-            - probableCause
-            - perceivedSeverity
             - serviceUser
             - serviceProvider
             - securityAlarmDetector
-            - changedAlarmAttributes
           properties:
             alarmId:
               $ref: '#/components/schemas/AlarmId'
@@ -939,7 +853,7 @@ components:
             additionalText:
               type: string
             additionalInformation:
-              $ref: '#/components/schemas/AttributeNameValuePairSet'
+              $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
             rootCauseIndicator:
               type: boolean
             serviceUser:
@@ -949,10 +863,10 @@ components:
             securityAlarmDetector:
               type: string
             changedAlarmAttributes:
-              $ref: '#/components/schemas/AttributeNameValuePairSet'
+              $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
     NotifyCorrelatedNotificationChanged:
       allOf:
-        - $ref: '#/components/schemas/NotificationHeader'
+        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
         - type: object
           required:
             - alarmId
@@ -966,7 +880,7 @@ components:
               type: boolean
     NotifyAckStateChanged:
       allOf:
-        - $ref: '#/components/schemas/NotificationHeader'
+        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
         - type: object
           required:
             - alarmId
@@ -992,7 +906,7 @@ components:
               type: string
     NotifyComments:
       allOf:
-        - $ref: '#/components/schemas/NotificationHeader'
+        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
         - type: object
           required:
             - alarmId
@@ -1013,7 +927,7 @@ components:
               $ref: '#/components/schemas/Comments'
     NotifyPotentialFaultyAlarmList:
       allOf:
-        - $ref: '#/components/schemas/NotificationHeader'
+        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
         - type: object
           required:
             - reason
@@ -1022,7 +936,7 @@ components:
               type: string
     NotifyAlarmListRebuilt:
       allOf:
-        - $ref: '#/components/schemas/NotificationHeader'
+        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
         - type: object
           required:
             - reason
@@ -1119,7 +1033,7 @@ components:
       type: object
       properties:
         commentTime:
-          $ref: '#/components/schemas/DateTime'
+          $ref: 'comDefs.yaml#/components/schemas/DateTime'
         commentUserId:
           type: string
         commentSystemId:
@@ -1137,8 +1051,8 @@ components:
       type: object
       properties:
         consumerReference:
-          $ref: '#/components/schemas/Uri'
+          $ref: 'comDefs.yaml#/components/schemas/Uri'
         timeTick:
-          $ref: '#/components/schemas/Long'
+          type: integer
         filter:
-          $ref: '#/components/schemas/Filter'
+          $ref: 'comDefs.yaml#/components/schemas/Filter'
diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/genericNrm.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/genericNrm.yaml
new file mode 100644 (file)
index 0000000..aedf3c4
--- /dev/null
@@ -0,0 +1,1516 @@
+openapi: 3.0.1
+info:
+  title: Generic NRM
+  version: 16.6.0
+  description: >-
+    OAS 3.0.1 definition of the Generic NRM
+    © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
+    All rights reserved.
+externalDocs:
+  description: 3GPP TS 28.623 V16.5.0; Generic NRM
+  url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.623/
+paths: {}
+components:
+  schemas:
+
+#-------- Definition of types-----------------------------------------------------
+
+    RegistrationState:
+      type: string
+      enum:
+        - REGISTERED
+        - DEREGISTERED
+    VnfParameter:
+      type: object
+      properties:
+        vnfInstanceId:
+          type: string
+        vnfdId:
+          type: string
+        flavourId:
+          type: string
+        autoScalable:
+          type: boolean
+    SiteLatitude:
+      type: number
+      format: float
+      minimum: -90
+      maximum: 90
+    SiteLongitude:
+      type: number
+      format: float
+      minimum: -180
+      maximum: 180
+    PeeParameter:
+      type: object
+      properties:
+        siteIdentification:
+          type: string
+        siteDescription:
+          type: string
+        siteLatitude:
+          $ref: '#/components/schemas/SiteLatitude'
+        siteLongitude:
+          $ref: '#/components/schemas/SiteLongitude'
+        equipmentType:
+          type: string
+        environmentType:
+          type: string
+        powerInterface:
+          type: string
+    ThresholdInfo:
+      type: object
+      properties:
+        thresholdDirection:
+          type: string
+          enum:
+            - UP
+            - DOWN
+            - UP_AND_DOWN
+        thresholdValue:
+          oneOf:
+            - type: integer
+            - $ref: 'comDefs.yaml#/components/schemas/Float'
+        hysteresis:
+          oneOf:
+            - type: integer
+              minimum: 0
+            - type: number
+              format: float
+              minimum: 0
+    Operation:
+      type: object
+      properties:
+        name:
+          type: string
+        allowedNFTypes:
+          $ref: '#/components/schemas/NFType'
+        operationSemantics:
+          $ref: '#/components/schemas/OperationSemantics'
+    NFType:
+      type: string
+      description: ' NF name defined in TS 23.501'
+      enum:
+        - NRF
+        - UDM
+        - AMF
+        - SMF
+        - AUSF
+        - NEF
+        - PCF
+        - SMSF
+        - NSSF
+        - UDR
+        - LMF
+        - GMLC
+        - 5G_EIR
+        - SEPP
+        - UPF
+        - N3IWF
+        - AF
+        - UDSF
+        - DN
+    Fqdn:
+      type: string
+    OperationSemantics:
+      type: string
+      enum:
+        - REQUEST_RESPONSE
+        - SUBSCRIBE_NOTIFY
+    SAP:
+      type: object
+      properties:
+        host:
+          $ref: '#/components/schemas/HostAddr'
+        port:
+          type: integer
+    NFServiceType:
+      type: string
+      enum:
+        - Namf_Communication
+        - Namf_EventExposure
+        - Namf_MT
+        - Namf_Location
+        - Nsmf_PDUSession
+        - Nsmf_EventExposure
+        - Others
+    HostAddr:
+      oneOf:
+        - $ref: '#/components/schemas/Ipv4Addr'
+        - $ref: '#/components/schemas/Ipv6Addr'
+        - $ref: '#/components/schemas/Fqdn'
+    Ipv4Addr:
+      type: string
+      pattern: '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$'
+      example: '198.51.100.1'
+    Ipv6Addr:
+      type: string
+      allOf:
+        - pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))$'
+        - pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))$'
+      example: '2001:db8:85a3::8a2e:370:7334'
+    Ipv6Prefix:
+      type: string
+      allOf:
+        - pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))(\/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))$'
+        - pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))(\/.+)$'
+      example: '2001:db8:abcd:12::0/64'
+    TransportProtocol:
+      anyOf:
+        - type: string
+          enum:
+            - TCP
+        - type: string
+    SupportedPerfMetricGroup:
+      type: object
+      properties:
+        performanceMetrics:
+          type: array
+          items:
+            type: string
+        granularityPeriods:
+          type: array
+          items:
+            type: integer
+            minimum: 1
+        reportingMethods:
+          type: array
+          items:
+            type: string
+            enum:
+             - FILE_BASED_LOC_SET_BY_PRODUCER
+             - FILE_BASED_LOC_SET_BY_CONSUMER
+             - STREAM_BASED 
+        monitorGranularityPeriods:
+          type: array
+          items:
+            type: integer
+            minimum: 1
+    ReportingCtrl:
+      oneOf:
+        - type: object
+          properties:
+            fileReportingPeriod:
+              type: integer
+        - type: object
+          properties:
+            fileReportingPeriod:
+              type: integer
+            fileLocation:
+              $ref: 'comDefs.yaml#/components/schemas/Uri'
+        - type: object
+          properties:
+            streamTarget:
+              $ref: 'comDefs.yaml#/components/schemas/Uri'
+    Scope:
+      type: object
+      properties:
+        scopeType:
+          type: string
+          enum:
+            - BASE_ONLY
+            - BASE_ALL
+            - BASE_NTH_LEVEL
+            - BASE_SUBTREE
+        scopeLevel:
+          type: integer
+
+#-------- Definition of types used in Trace control NRM fragment------------------
+                
+    tjJobType-Type:
+      type: string
+      description: Specifies whether the TraceJob represents only MDT, Logged MBSFN MDT, Trace or a combined Trace and MDT job. Applicable for Trace, MDT, RCEF and RLF reporting. See 3GPP TS 32.422 clause 5.9a for additional details.
+      enum:
+        - IMMEDIATE_MDT_ONLY
+        - LOGGED_MDT_ONLY
+        - TRACE_ONLY
+        - IMMEDIATE_MDT AND TRACE
+        - RLF_REPORT_ONLY
+        - RCEF_REPORT_ONLY
+        - LOGGED_MBSFN_MDT
+
+    tjListOfInterfaces-Type:
+      description: The interfaces to be recorded in the Network Element. See 3GPP TS 32.422 clause 5.5 for additional details.
+      type: object
+      properties:
+        MSCServerInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - A
+              - Iu-CS
+              - Mc
+              - MAP-G
+              - MAP-B
+              - MAP-E
+              - MAP-F
+              - MAP-D
+              - MAP-C
+              - CAP
+        MGWInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - Mc
+              - Nb-UP
+              - Iu-UP
+        RNCInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - Iu-CS
+              - Iu-PS
+              - Iur
+              - Iub
+              - Uu
+        SGSNInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - Gb
+              - Iu-PS
+              - Gn
+              - MAP-Gr
+              - MAP-Gd
+              - MAP-Gf
+              - Ge
+              - Gs
+              - S6d
+              - S4
+              - S3
+              - S13
+        GGSNInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - Gn
+              - Gi
+              - Gmb
+        S-CSCFInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - Mw
+              - Mg
+              - Mr
+              - Mi
+        P-CSCFInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - Gm
+              - Mw
+        I-CSCFInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - Cx
+              - Dx
+              - Mg
+              - Mw
+        MRFCInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - Mp
+              - Mr
+        MGCFInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - Mg
+              - Mj
+              - Mn
+        IBCFInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - Ix
+              - Mx
+        E-CSCFInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - Mw
+              - Ml
+              - Mm
+              - Mi/Mg
+        BGCFInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - Mi
+              - Mj
+              - Mk
+        ASInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - Dh
+              - Sh
+              - ISC
+              - Ut
+        HSSInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - MAP-C
+              - MAP-D
+              - Gc
+              - Gr
+              - Cx
+              - S6d
+              - S6a
+              - Sh
+        EIRInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - MAP-F
+              - S13
+              - MAP-Gf
+        BM-SCInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - Gmb
+        MMEInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - S1-MME
+              - S3
+              - S6a
+              - S10
+              - S11
+              - S13
+        SGWInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - S4
+              - S5
+              - S8
+              - S11
+              - Gxc
+        PDN_GWInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - S2a
+              - S2b
+              - S2c
+              - S5
+              - S6b
+              - Gx
+              - S8
+              - SGi
+        eNBInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - S1-MME
+              - X2
+        en-gNBInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - S1-MME
+              - X2
+              - Uu
+              - F1-C
+              - E1
+        AMFInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - N1
+              - N2
+              - N8
+              - N11
+              - N12
+              - N14
+              - N15
+              - N20
+              - N22
+              - N26
+        AUSFInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - N12
+              - N13
+        NEFInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - N29
+              - N30
+              - N33
+        NRFInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - N27
+        NSSFInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - N22
+              - N31
+        PCFInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - N5
+              - N7
+              - N15
+        SMFInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - N4
+              - N7
+              - N10
+              - N11
+              - S5-C
+        SMSFInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - N20
+              - N21
+        UDMInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - N8
+              - N10
+              - N13
+              - N21
+        UPFInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - N4
+        ng-eNBInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - NG-C
+              - Xn-C
+              - Uu
+        gNB-CU-CPInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - NG-C
+              - Xn-C
+              - Uu
+              - F1-C
+              - E1
+              - X2-C
+        gNB-CU-UPInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - E1
+        gNB-DUInterfaces:
+          type: array
+          items:
+            type: string
+            enum:
+              - F1-C
+
+    tjListOfNeTypes-Type:
+      description: The Network Element types where Trace Session activation is needed. See 3GPP TS 32.422 clause 5.4 for additional details.
+      type: array
+      items:
+        type: string
+        enum:
+          - MSC_SERVER
+          - SGSN
+          - MGW
+          - GGSN
+          - RNC
+          - BM_SC
+          - MME
+          - SGW
+          - PGW
+          - ENB
+          - EN_GNB
+          - GNB_CU_CP
+          - GNB_CU_UP
+          - GNB_DU
+
+    tjPLMNTaget-Type:
+      type: object
+      description: The PLMN for which sessions shall be selected in the Trace Session in case of management based activation when several PLMNs are supported in the RAN (this means that shared cells and not shared cells are allowed for the specified PLMN. Note that the PLMN Target might differ from the PLMN specified in the Trace Reference, as that specifies the PLMN that is containing the management system requesting the Trace Session from the NE. See 3GPP TS 32.422 clause 5.9b for additional details.
+      properties:
+        mcc:
+          $ref: 'comDefs.yaml#/components/schemas/Mcc'
+        mnc:
+          $ref: 'comDefs.yaml#/components/schemas/Mnc'
+      required:
+        - mcc
+        - mnc
+
+    tjStreamingTraceConsumerURI-Type:
+      type: string
+      description: The URI of the Trace Reporting MnS consumer (see 3GPP TS 28.532) to which the Trace records shall be sent. See 3GPP TS 32.422 clause 5.9 for additional details.
+      format: uri
+
+    tjTraceCollectionEntityAddress-Type:
+      description: The IP address to which the Trace records shall be transferred. See 3GPP TS 32.422 clause 5.9 for additional details.
+      oneOf:
+        - $ref: '#/components/schemas/Ipv4Addr'
+        - $ref: '#/components/schemas/Ipv6Addr'
+
+    tjTraceDepth-Type:
+      description: Specifies how detailed information should be recorded in the Network Element. The Trace Depth is a paremeter for Trace Session level, i.e., the Trace Depth is the same for all of the NEs to be traced in the same Trace Session. See 3GPP TS 32.422 clause 5.3 for additional details.
+      type: string
+      enum:
+        - MINIMUM
+        - MEDIUM
+        - MAXIMUM
+        - VENDORMINIMUM
+        - VENDORMEDIUM
+        - VENDORMAXIMUM
+
+    tjTraceReference-Type:
+      type: object
+      description: The Trace Reference parameter shall be globally unique, therefore the Trace Reference shall compose as follows - MCC+MNC+Trace ID, where the MCC and MNC are coming with the Trace activation request from the management system to identify one PLMN containing the management system, and Trace ID is a 3 byte Octet String. See 3GPP TS 32.422 clause 5.6 for additional details.
+      properties:
+        mcc:
+          $ref: 'comDefs.yaml#/components/schemas/Mcc'
+        mnc:
+          $ref: 'comDefs.yaml#/components/schemas/Mnc'
+        traceId:
+          type: integer
+      required:
+        - mcc
+        - mnc
+        - traceId
+
+    tjTraceReportingFormat-Type:
+      type: string
+      description: Specifies whether file-based or streaming reporting shall be used for this Trace Session. See 3GPP TS 32.422 clause 5.11 for additional details.
+      enum:
+        - FILE-BASED
+        - STREAMING
+
+    tjTraceTarget-Type:
+      type: object
+      description: Trace target conveying both the type and value of the target ID. For additional details see 3GPP TS 32.422
+      properties:
+        TargetIdType:
+          type: string
+          enum:
+            - IMSI
+            - IMEI
+            - IMEISV
+            - PUBLIC_ID
+            - UTRAN_CELL
+            - E-UTRAN_CELL
+            - NG-RAN_CELL
+            - eNB
+            - RNC
+            - gNB
+            - SUPI
+        TargetIdValue:
+          type: string
+      required:
+        - TargetIdType
+        - TargetIdValue
+    
+    tjTriggeringEvent-Type:
+      type: object
+      description: Specifies when to start a Trace Recording Session and which message shall be recorded first, when to stop a Trace Recording Session and which message shall be recorded last respectively. See 3GPP TS 32.422 clause 5.1 for additional detials.
+      properties:
+        NetworkElement:
+          type: string
+          enum:
+            - MSC_SERVER
+            - SGSN
+            - MGW
+            - GGSN
+            - BM_SC
+            - MME
+            - SGW
+            - PGW
+            - AMF
+            - SMF
+            - PCF
+            - UPF
+        EventBitmap:
+          type: integer
+      required:
+        - NetworkElement
+        - EventBitmap
+    
+    tjMDTAnonymizationOfData-Type:
+      description: Specifies level of MDT anonymization. For additional details see 3GPP TS 32.422 clause 5.10.12.
+      type: string
+      enum:
+        - NO_IDENTITY
+        - TAC_OF_IMEI
+    
+    tjMDTAreaConfigurationForNeighCell-Type:
+      description: Used for logged NR MDT and defines the area for which UE is requested to perform measurement logging for neighbour cells which have list of frequencies. For additional details see 3GPP TS 32.422 clause 5.10.26.
+      type: array
+      items:
+        type: object
+        properties:
+          frequency:
+            type: string
+          cell:
+            type: string
+      
+    tjMDTAreaScope-Type:
+      description: defines the area in terms or Cells or Tracking Area/Routing Area/Location Area where the MDT data collection shall take place. For additional details see 3GPP TS 32.422 clause 5.10.2.
+      allOf:
+        - $ref: 'comDefs.yaml#/components/schemas/DnList'
+        
+    tjMDTCollectionPeriodRrmLte-Type:
+      description: See details in 3GPP TS 32.422 clause 5.10.20.
+      type: string
+      enum:
+        - 250ms
+        - 500ms
+        - 1000ms
+        - 2000ms
+        - 3000ms
+        - 4000ms
+        - 6000ms
+        - 8000ms
+        - 12000ms
+        - 16000ms
+        - 20000ms
+        - 24000ms
+        - 28000ms
+        - 32000ms
+        - 64000ms
+
+    tjMDTCollectionPeriodRrmUmts-Type:
+      description: See details in 3GPP TS 32.422 clause 5.10.21.
+      type: string
+      enum:
+        - 1024ms
+        - 1280ms
+        - 2048ms
+        - 2560ms
+        - 5120ms
+        - 10240ms
+        - 1min
+    
+    tjMDTCollectionPeriodRrmNR-Type:
+      description: See details in 3GPP TS 32.422 clause 5.10.30.
+      type: string
+      enum:
+        - 1024ms
+        - 1280ms
+        - 2048ms
+        - 5120ms
+        - 10240ms
+        - 60000ms
+
+    tjMDTEventListForTriggeredMeasurement-Type:
+      description: See details in 3GPP TS 32.422 clause 5.10.28.
+      type: string
+      enum:
+        - OUT_OF_COVERAGE
+        - A2_EVENT
+
+    tjMDTEventThreshold-Type:
+      description: See details in 3GPP TS 32.422 clause 5.10.7, 5.10.7a, 5.10.13 and 5.10.14.
+      type: object
+      properties:
+        EventThresholdRSRP:
+          type: integer
+          minimum: 0
+          maximum: 97
+        EventThresholdRSRQ:      
+          type: integer
+          minimum: 0
+          maximum: 34
+        EventThreshold1F:
+          type: object
+          properties:
+            CPICH_RSCP:
+              type: integer
+              minimum: -120
+              maximum: 25
+            CPICH_EcNo:
+              type: integer
+              minimum: -24
+              maximum: 0
+            PathLoss:
+              type: integer
+              minimum: 30
+              maximum: 165
+        EventThreshold1I:
+          type: integer
+          minimum: -120
+          maximum: 25
+
+    tjMDTListOfMeasurements-Type:
+      description: See details in 3GPP TS 32.422 clause 5.10.3 for details.
+      type: object
+      properties:
+        UMTS:
+          type: array
+          items:
+            type: string
+            enum:
+              - M1
+              - M2
+              - M3
+              - M4
+              - M5
+              - M6_DL
+              - M6_UL
+              - M7_DL
+              - M7_UL
+        LTE:
+          type: array
+          items:
+            type: string
+            enum:
+              - M1
+              - M2
+              - M3
+              - M4
+              - M5
+              - M1_EVENT_TRIGGERED
+              - M6
+              - M7
+              - M8
+              - M9
+        NR:
+          type: array
+          items:
+            type: string
+            enum:
+              - M1
+              - M2
+              - M3
+              - M4
+              - M5
+              - M6
+              - M7
+              - M8
+              - M9
+
+    tjMDTLoggingDuration-Type:
+      description: See details in 3GPP TS 32.422 clause 5.10.9.
+      type: string
+      enum:
+        - 600s
+        - 1200s
+        - 2400s
+        - 3600s
+        - 5400s
+        - 7200s
+    
+    tjMDTLoggingInterval-Type:
+      description: See details in 3GPP TS 32.422 clause 5.10.8.
+      type: string
+      enum:
+        - 1.28s
+        - 2.56s
+        - 5.12s
+        - 10.24s
+        - 20.48s
+        - 30.72s
+        - 40.96s
+        - 61.44s
+
+    tjMDTMBSFNAreaList-Type:
+      description: See details in 3GPP TS 32.422 clause 5.10.25.
+      type: array
+      items:
+        type: object
+        properties:
+          mbsfnAreaId:
+            type: integer
+            minimum: 1
+          earfcn:
+            type: integer
+            minimum: 1
+        required:
+          - mbsfnAreaId
+          - earfcn
+
+    tjMDTMeasurementPeriodLTE-Type:
+      description: See details in 3GPP TS 32.422 clause 5.10.23.
+      type: string
+      enum:
+        - 1024ms
+        - 1280ms
+        - 2048ms
+        - 2560ms
+        - 5120ms
+        - 10240ms
+        - 1min
+
+    tjMDTMeasurementPeriodUMTS-Type:
+      description: See details in 3GPP TS 32.422 clause 5.10.22.
+      type: string
+      enum:
+        - 250ms
+        - 500ms
+        - 1000ms
+        - 2000ms
+        - 3000ms
+        - 4000ms
+        - 6000ms
+        - 8000ms
+        - 12000ms
+        - 16000ms
+        - 20000ms
+        - 24000ms
+        - 28000ms
+        - 32000ms
+        - 64000ms
+
+    tjMDTMeasurementQuantity-Type:
+      description: See details in 3GPP TS 32.422 clause 5.10.15.
+      type: string
+      enum:
+        - CPICH_EcNo
+        - CPICH_RSCP
+        - PathLoss
+
+    tjMDTPLMList-Type:
+      description: See details in 3GPP TS 32.422 clause 5.10.24.
+      type: array
+      items:
+        type: object
+        properties:
+          mcc:
+            $ref: 'comDefs.yaml#/components/schemas/Mcc'
+          mnc:
+            $ref: 'comDefs.yaml#/components/schemas/Mnc'
+        required:
+          - mcc
+          - mnc
+      maxItems: 16
+
+    tjMDTPositioningMethod-Type:
+      description: See details in 3GPP TS 32.422 clause 5.10.19.
+      type: string
+      enum:
+        - GNSS
+        - E-CELL_ID
+
+    tjMDTReportAmount-Type:
+      description: See details in 3GPP TS 32.422 clause 5.10.6.
+      type: string
+      enum:
+        - 1
+        - 2
+        - 4
+        - 8
+        - 16
+        - 32
+        - 64
+        - INFINITY
+
+    tjMDTReportingTrigger-Type:
+      description: See details in 3GPP TS 32.422 clause 5.10.4.
+      type: array
+      items:
+        type: string
+        enum:
+          - PERIODICAL
+          - A2_FOR_LTE
+          - 1F_FOR_UMTS
+          - 1I_FOR_UMTS_MCPS_TDD
+          - A2_TRIGGERED_PERIODIC_FOR_LTE
+          - ALL_CONFIGURED_RRM_FOR_LTE
+          - ALL_CONFIGURED_RRM_FOR_UMTS
+
+    tjMDTReportInterval-Type:
+      description: See details in 3GPP TS 32.422 clause 5.10.5.
+      type: string
+      enum:
+        - 250ms
+        - 500ms
+        - 1000ms
+        - 2000ms
+        - 3000ms
+        - 4000ms
+        - 6000ms
+        - 8000ms
+        - 12000ms
+        - 16000ms
+        - 20000ms
+        - 24000ms
+        - 28000ms
+        - 32000ms
+        - 64000ms
+        - 120ms
+        - 240ms
+        - 480ms
+        - 640ms
+        - 1024ms
+        - 2048ms
+        - 5120ms
+        - 10240ms
+        - 60000ms
+        - 360000ms
+        - 720000ms
+        - 1800000ms
+        - 3600000ms
+
+    tjMDTReportType-Type:
+      description: Report type for logged NR MDT. See details in 3GPP TS 32.422 clause 5.10.27.
+      type: string
+      enum:
+        - PERIODICAL
+        - EVENT_TRIGGERED
+
+    tjMDTSensorInformation-Type:
+      description: See details in 3GPP TS 32.422 clause 5.10.29.
+      type: array
+      items:
+        type: string
+        enum:
+          - BAROMETRIC_PRESSURE
+          - UE_SPEED
+          - UE_ORIENTATION
+
+    tjMDTTraceCollectionEntityID-Type:
+      description: See details in 3GPP TS 32.422 clause 5.10.11. Only tceID value may be sent over the air to the UE being configured for Logged MDT.
+      type: object
+      properties:
+        tceID:
+          type: integer
+        tcePLMN:
+          type: object
+          properties:
+            mcc:
+              $ref: 'comDefs.yaml#/components/schemas/Mcc'
+            mnc:
+              $ref: 'comDefs.yaml#/components/schemas/Mnc'
+          required:
+            - mcc
+            - mnc
+        tceAddress:
+          oneOf:
+            - $ref: '#/components/schemas/tjTraceCollectionEntityAddress-Type'
+            - $ref: '#/components/schemas/tjStreamingTraceConsumerURI-Type'
+      required:
+        - tceID
+        - tcePLMN
+        - tceAddress
+
+
+#-------- end of Definition of types used in Trace control NRM fragment ----------
+
+
+#-------- Definition of abstract IOC Top -----------------------------------------
+
+    Top-Attr:
+      #  This definition will be deprecated, when all occurances of Top-Attr
+      #  are replaced by Top.
+      type: object
+      properties:
+        id:
+          type: string
+        VsDataContainer:
+          $ref: '#/components/schemas/VsDataContainer-Multiple'
+    Top:
+      type: object
+      properties:
+        id:
+          type: string
+        VsDataContainer:
+          $ref: '#/components/schemas/VsDataContainer-Multiple'
+
+#-------- Definition of IOCs with new name-containments defined in other TS ------
+
+    SubNetwork-Attr:
+      type: object
+      properties:
+        dnPrefix:
+          type: string
+        userLabel:
+          type: string
+        userDefinedNetworkType:
+          type: string
+        setOfMcc:
+          type: array
+          items:
+            $ref: 'comDefs.yaml#/components/schemas/Mcc'
+        priorityLabel:
+          type: integer
+        supportedPerfMetricGroups:
+          type: array
+          items:
+            $ref: '#/components/schemas/SupportedPerfMetricGroup'
+    ManagedElement-Attr:
+      type: object
+      properties:
+        dnPrefix:
+          type: string
+        managedElementTypeList:
+          type: array
+          items:
+            type: string
+        userLabel:
+          type: string
+        locationName:
+          type: string
+        managedBy:
+          $ref: 'comDefs.yaml#/components/schemas/DnList'
+        vendorName:
+          type: string
+        userDefinedState:
+          type: string
+        swVersion:
+          type: string
+        priorityLabel:
+          type: integer
+        supportedPerfMetricGroups:
+          type: array
+          items:
+            $ref: '#/components/schemas/SupportedPerfMetricGroup'
+
+    SubNetwork-ncO:
+      type: object
+      properties:
+        ManagementNode:
+          $ref: '#/components/schemas/ManagementNode-Multiple'
+        MeContext:
+          $ref: '#/components/schemas/MeContext-Multiple'
+        PerfMetricJob:
+          $ref: '#/components/schemas/PerfMetricJob-Multiple'
+        ThresholdMonitor:
+          $ref: '#/components/schemas/ThresholdMonitor-Multiple'
+        NtfSubscriptionControl:
+          $ref: '#/components/schemas/NtfSubscriptionControl-Multiple'
+        TraceJob:
+          $ref: '#/components/schemas/TraceJob-Multiple'
+        AlarmList:
+          $ref: '#/components/schemas/AlarmList-Single'
+    ManagedElement-ncO:
+      type: object
+      properties:
+        PerfMetricJob:
+          $ref: '#/components/schemas/PerfMetricJob-Multiple'
+        ThresholdMonitor:
+          $ref: '#/components/schemas/ThresholdMonitor-Multiple'
+        NtfSubscriptionControl:
+          $ref: '#/components/schemas/NtfSubscriptionControl-Multiple'
+        TraceJob:
+          $ref: '#/components/schemas/TraceJob-Multiple'
+        AlarmList:
+          $ref: '#/components/schemas/AlarmList-Single'
+
+#-------- Definition of abstract IOCs --------------------------------------------
+
+    ManagedFunction-Attr:
+      type: object
+      properties:
+        userLabel:
+          type: string
+        vnfParametersList:
+          type: array
+          items:
+            $ref: '#/components/schemas/VnfParameter'
+        peeParametersList:
+          type: array
+          items:
+            $ref: '#/components/schemas/PeeParameter'
+        priorityLabel:
+          type: integer
+        supportedPerfMetricGroups:
+          type: array
+          items:
+            $ref: '#/components/schemas/SupportedPerfMetricGroup'
+    EP_RP-Attr:
+      type: object
+      properties:
+        userLabel:
+          type: string
+        farEndEntity:
+          type: string
+        supportedPerfMetricGroups:
+          type: array
+          items:
+            $ref: '#/components/schemas/SupportedPerfMetricGroup'
+
+    TraceJob-Attr:
+      type: object
+      description: abstract class used as a container of all TraceJob attributes
+      properties:
+        tjJobType:
+          $ref: '#/components/schemas/tjJobType-Type'
+        tjListOfInterfaces:
+          $ref: '#/components/schemas/tjListOfInterfaces-Type'                  
+        tjListOfNeTypes:
+          $ref: '#/components/schemas/tjListOfNeTypes-Type'
+        tjPLMNTarget:
+          $ref: '#/components/schemas/tjPLMNTaget-Type'
+        tjTraceConsumer:
+          oneOf:
+            - $ref: '#/components/schemas/tjStreamingTraceConsumerURI-Type'
+            - $ref: '#/components/schemas/tjTraceCollectionEntityAddress-Type'
+        tjTraceDepth:
+          $ref: '#/components/schemas/tjTraceDepth-Type'
+        tjTraceReference:
+          $ref: '#/components/schemas/tjTraceReference-Type'
+        tjTraceReportingFormat:
+          $ref: '#/components/schemas/tjTraceReportingFormat-Type'
+        tjTraceTarget:
+          $ref: '#/components/schemas/tjTraceTarget-Type'
+        tjTriggeringEvent:
+          $ref: '#/components/schemas/tjTriggeringEvent-Type'
+        tjMDTAnonymizationOfData:
+          $ref: '#/components/schemas/tjMDTAnonymizationOfData-Type'
+        tjMDTAreaConfigurationForNeighCell:
+          $ref: '#/components/schemas/tjMDTAreaConfigurationForNeighCell-Type'
+        tjMDTAreaScope:
+          $ref: '#/components/schemas/tjMDTAreaScope-Type'
+        tjMDTCollectionPeriodRrmLte:
+          $ref: '#/components/schemas/tjMDTCollectionPeriodRrmLte-Type'
+        tjMDTCollectionPeriodRrmUmts:
+          $ref: '#/components/schemas/tjMDTCollectionPeriodRrmUmts-Type'
+        tjMDTCollectionPeriodRrmNR:
+          $ref: '#/components/schemas/tjMDTCollectionPeriodRrmNR-Type'
+        tjMDTEventListForTriggeredMeasurement:
+          $ref: '#/components/schemas/tjMDTEventListForTriggeredMeasurement-Type'
+        tjMDTEventThreshold:
+          $ref: '#/components/schemas/tjMDTEventThreshold-Type'
+        tjMDTListOfMeasurements:
+          $ref: '#/components/schemas/tjMDTListOfMeasurements-Type'
+        tjMDTLoggingDuration:
+          $ref: '#/components/schemas/tjMDTLoggingDuration-Type'
+        tjMDTLoggingInterval:
+          $ref: '#/components/schemas/tjMDTLoggingInterval-Type'
+        tjMDTMBSFNAreaList:
+          $ref: '#/components/schemas/tjMDTMBSFNAreaList-Type'
+        tjMDTMeasurementPeriodLTE:
+          $ref: '#/components/schemas/tjMDTMeasurementPeriodLTE-Type'
+        tjMDTMeasurementPeriodUMTS:
+          $ref: '#/components/schemas/tjMDTMeasurementPeriodUMTS-Type'
+        tjMDTMeasurementQuantity:
+          $ref: '#/components/schemas/tjMDTMeasurementQuantity-Type'
+        tjMDTPLMList:
+          $ref: '#/components/schemas/tjMDTPLMList-Type'
+        tjMDTPositioningMethod:
+          $ref: '#/components/schemas/tjMDTPositioningMethod-Type'
+        tjMDTReportAmount:
+          $ref: '#/components/schemas/tjMDTReportAmount-Type'
+        tjMDTReportingTrigger:
+          $ref: '#/components/schemas/tjMDTReportingTrigger-Type'
+        tjMDTReportInterval:
+          $ref: '#/components/schemas/tjMDTReportInterval-Type'
+        tjMDTReportType:
+          $ref: '#/components/schemas/tjMDTReportType-Type'
+        tjMDTSensorInformation:
+          $ref: '#/components/schemas/tjMDTSensorInformation-Type'
+        tjMDTTraceCollectionEntityID:
+          $ref: '#/components/schemas/tjMDTTraceCollectionEntityID-Type'
+      required:
+        - tjJobType
+        - tjTraceReference
+        - tjTraceConsumer
+        - tjTraceReportingFormat
+        - tjTraceTarget
+
+    ManagedFunction-ncO:
+      type: object
+      properties:
+        PerfMetricJob:
+          $ref: '#/components/schemas/PerfMetricJob-Multiple'
+        ThresholdMonitor:
+          $ref: '#/components/schemas/ThresholdMonitor-Multiple'
+        ManagedNFService:
+          $ref: '#/components/schemas/ManagedNFService-Multiple'
+        TraceJob:
+          $ref: '#/components/schemas/TraceJob-Multiple'
+
+#-------- Definition of concrete IOCs --------------------------------------------
+
+    VsDataContainer-Single:
+      type: object
+      properties:
+        id:
+          type: string
+        attributes:
+          type: object
+          properties:
+            vsDataType:
+              type: string
+            vsDataFormatVersion:
+              type: string
+            vsData:
+              nullable: true
+        VsDataContainer:
+          $ref: '#/components/schemas/VsDataContainer-Multiple'
+    ManagedNFService-Single:
+      allOf:
+        - $ref: '#/components/schemas/Top'
+        - type: object
+          properties:
+            attributes:
+              type: object
+              properties:
+                userLabel:
+                  type: string
+                nFServiceType:
+                  $ref: '#/components/schemas/NFServiceType'
+                sAP:
+                  $ref: '#/components/schemas/SAP'
+                operations:
+                  type: array
+                  items:
+                    $ref: '#/components/schemas/Operation'
+                administrativeState:
+                  $ref: 'comDefs.yaml#/components/schemas/AdministrativeState'
+                operationalState:
+                  $ref: 'comDefs.yaml#/components/schemas/OperationalState'
+                usageState:
+                  $ref: 'comDefs.yaml#/components/schemas/UsageState'
+                registrationState:
+                  $ref: '#/components/schemas/RegistrationState'
+    ManagementNode-Single:
+      allOf:
+        - $ref: '#/components/schemas/Top'
+        - type: object
+          properties:
+            attributes:
+              type: object
+              properties:
+                userLabel:
+                  type: string
+                managedElements:
+                  $ref: 'comDefs.yaml#/components/schemas/DnList'
+                vendorName:
+                  type: string
+                userDefinedState:
+                  type: string
+                locationName:
+                  type: string
+                swVersion:
+                  type: string
+    MeContext-Single:
+      allOf:
+        - $ref: '#/components/schemas/Top'
+        - type: object
+          properties:
+            attributes:
+              type: object
+              properties:
+                dnPrefix:
+                  type: string
+    PerfMetricJob-Single:
+      allOf:
+        - $ref: '#/components/schemas/Top'
+        - type: object
+          properties:
+            attributes:
+              type: object
+              properties:
+                administrativeState:
+                  $ref: 'comDefs.yaml#/components/schemas/AdministrativeState'
+                operationalState:
+                  $ref: 'comDefs.yaml#/components/schemas/OperationalState'
+                jobId:
+                  type: string
+                performanceMetrics:
+                  type: array
+                  items:
+                    type: string
+                granularityPeriod:
+                  type: integer
+                  minimum: 1
+                objectInstances:
+                  $ref: 'comDefs.yaml#/components/schemas/DnList'
+                rootObjectInstances:
+                  $ref: 'comDefs.yaml#/components/schemas/DnList'
+                reportingCtrl:
+                  $ref: '#/components/schemas/ReportingCtrl'
+    ThresholdMonitor-Single:
+      allOf:
+        - $ref: '#/components/schemas/Top'
+        - type: object
+          properties:
+            attributes:
+              type: object
+              properties:
+                administrativeState:
+                  $ref: 'comDefs.yaml#/components/schemas/AdministrativeState'
+                operationalState:
+                  $ref: 'comDefs.yaml#/components/schemas/OperationalState'
+                performanceMetrics:
+                  type: array
+                  items:
+                    type: string
+                thresholdInfoList:
+                  type: array
+                  items:
+                    $ref: '#/components/schemas/ThresholdInfo'
+                monitorGranularityPeriod:
+                  type: integer
+                  minimum: 1
+                objectInstances:
+                  $ref: 'comDefs.yaml#/components/schemas/DnList'
+                rootObjectInstances:
+                  $ref: 'comDefs.yaml#/components/schemas/DnList'
+    NtfSubscriptionControl-Single:
+      allOf:
+        - $ref: '#/components/schemas/Top'
+        - type: object
+          properties:
+            attributes:
+              type: object
+              properties:
+                notificationRecipientAddress:
+                  $ref: 'comDefs.yaml#/components/schemas/Uri'
+                notificationTypes:
+                  type: array
+                  items:
+                    $ref: 'comDefs.yaml#/components/schemas/NotificationType'
+                scope:
+                  $ref: '#/components/schemas/Scope'
+                notificationFilter:
+                  type: string
+            HeartbeatControl:
+              $ref: '#/components/schemas/HeartbeatControl-Single'
+    HeartbeatControl-Single:
+      allOf:
+        - $ref: '#/components/schemas/Top'
+        - type: object
+          properties:
+            attributes:
+              type: object
+              properties:
+                heartbeatNtfPeriod:
+                  type: integer
+                triggerHeartbeatNtf:
+                  type: boolean
+    TraceJob-Single:
+      allOf:
+        - $ref: '#/components/schemas/Top'
+        - type: object
+          properties:
+            attributes:
+              $ref: '#/components/schemas/TraceJob-Attr'
+
+    AlarmList-Single:
+      allOf:
+        - $ref: '#/components/schemas/Top'
+        - type: object
+          properties:
+            attributes:
+              type: object
+              properties:
+                administrativeState:
+                  $ref: 'comDefs.yaml#/components/schemas/AdministrativeState'
+                operationalState:
+                  $ref: 'comDefs.yaml#/components/schemas/OperationalState'
+                numOfAlarmRecords:
+                  type: integer
+                lastModification:
+                  $ref: '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: 'faultMnS.yaml#/components/schemas/AlarmRecord'
+
+#-------- Definition of YAML arrays for name-contained IOCs ----------------------
+
+    VsDataContainer-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/VsDataContainer-Single'
+    ManagedNFService-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/ManagedNFService-Single'
+    ManagementNode-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/ManagementNode-Single'
+    MeContext-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/MeContext-Single'
+    PerfMetricJob-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/PerfMetricJob-Single'
+    ThresholdMonitor-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/ThresholdMonitor-Single'
+    TraceJob-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/TraceJob-Single'
+    NtfSubscriptionControl-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/NtfSubscriptionControl-Single'
+
+#-------- Definitions in TS 28.623 for TS 28.532 ---------------------------------
+
+    resources-genericNrm:
+      oneOf:
+
+       - $ref: '#/components/schemas/VsDataContainer-Single'
+
+       - $ref: '#/components/schemas/ManagementNode-Single'
+       - $ref: '#/components/schemas/MeContext-Single'
+
+       - $ref: '#/components/schemas/ManagedNFService-Single'
+
+       - $ref: '#/components/schemas/PerfMetricJob-Single'
+       - $ref: '#/components/schemas/ThresholdMonitor-Single'
+       - $ref: '#/components/schemas/TraceJob-Single'
+
+       - $ref: '#/components/schemas/NtfSubscriptionControl-Single'
+       - $ref: '#/components/schemas/HeartbeatControl-Single'
+
+       - $ref: '#/components/schemas/AlarmList-Single'
@@ -1,23 +1,25 @@
 openapi: 3.0.1
 info:
   title: Heartbeat notification
-  version: 16.3.0
+  version: 16.6.0
   description: >-
-    OAS 3.0.1 specification of the heartbeat notification
+    OAS 3.0.1 definition of the heartbeat notification
     © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
     All rights reserved.
 externalDocs:
-  description: 3GPP TS 28.532 V16.3.0; Heartbeat notification
+  description: 3GPP TS 28.532 V16.6.0; Generic management services
   url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.6532/
 paths: {}
 components:
   schemas:
-    hearbeatNtfPeriod-Type:
-      type: integer
-    notifyHeartbeat-NotifType:
+    HeartbeatNotificationTypes:
+      type: string
+      enum:
+        - notifyHeartbeat
+    NotifyHeartbeat:
       allOf:
-        - $ref: 'provMnS.yaml#/components/schemas/header-Type'
+        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
         - type: object
           properties:
             heartbeatNtfPeriod:
-              $ref: '#/components/schemas/hearbeatNtfPeriod-Type'
+              type: integer
diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/nrNrm.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/nrNrm.yaml
new file mode 100644 (file)
index 0000000..3de2c63
--- /dev/null
@@ -0,0 +1,1868 @@
+openapi: 3.0.1
+info:
+  title: NR NRM
+  version: 16.6.0
+  description: >-
+    OAS 3.0.1 specification of the NR NRM
+    © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
+    All rights reserved.
+externalDocs:
+  description: 3GPP TS 28.541 V16.6.0; 5G NRM, NR NRM
+  url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.541/
+paths: {}
+components:
+  schemas:
+
+#-------- Definition of types-----------------------------------------------------
+
+    GnbId:
+      type: string
+    GnbIdLength:
+      type: integer
+      minimum: 22
+      maximum: 32
+    GnbName:
+      type: string
+      maxLength: 150
+    GnbDuId:
+      type: number
+      minimum: 0
+      maximum: 68719476735
+    GnbCuUpId:
+      type: number
+      minimum: 0
+      maximum: 68719476735
+
+    Sst:
+      type: integer
+      maximum: 255
+    Snssai:
+      type: object
+      properties:
+        sst:
+          $ref: '#/components/schemas/Sst'
+        sd:
+          type: string
+    SnssaiList:
+      type: array
+      items:
+        $ref: '#/components/schemas/Snssai'
+
+    Mnc:
+      type: string
+      pattern: '[0-9]{3}|[0-9]{2}'
+    PlmnId:
+      type: object
+      properties:
+        mcc:
+          $ref: 'comDefs.yaml#/components/schemas/Mcc'
+        mnc:
+          $ref: '#/components/schemas/Mnc'
+    PlmnIdList:
+      type: array
+      items:
+        $ref: '#/components/schemas/PlmnId'
+    PlmnInfo:
+      type: object
+      properties:
+        plmnId":
+          $ref: '#/components/schemas/PlmnId'
+        snssai:
+          $ref: '#/components/schemas/Snssai'
+    PlmnInfoList:
+      type: array
+      items:
+        $ref: '#/components/schemas/PlmnInfo'
+    GGnbId:
+        type: string
+        pattern: '^[0-9]{3}[0-9]{2,3}-(22|23|24|25|26|27|28|29|30|31|32)-[0-9]{1,10}'
+    GEnbId:
+        type: string
+        pattern: '^[0-9]{3}[0-9]{2,3}-(18|20|21|22)-[0-9]{1,7}'
+
+    GGnbIdList:
+        type: array
+        items: 
+          $ref: '#/components/schemas/GGnbId'
+
+    GEnbIdList:
+        type: array
+        items: 
+          $ref: '#/components/schemas/GEnbId'
+
+    NrPci:
+      type: integer
+      maximum: 503
+    NrTac:
+      type: integer
+      maximum: 16777215
+    Tai:
+      type: object
+      properties:
+        plmnId:
+          $ref: '#/components/schemas/PlmnId'
+        nrTac:
+          $ref: '#/components/schemas/NrTac'
+
+    BackhaulAddress:
+      type: object
+      properties:
+        gnbId:
+          $ref: '#/components/schemas/GnbId'
+        tai:
+          $ref: "#/components/schemas/Tai"
+    MappingSetIDBackhaulAddress:
+      type: object
+      properties:
+        setID:
+          type: integer
+        backhaulAddress:
+          $ref: '#/components/schemas/BackhaulAddress'
+    IntraRatEsActivationOriginalCellLoadParameters:
+      type: object
+      properties:
+        loadThreshold:
+          type: integer
+        timeDuration:
+          type: integer
+    IntraRatEsActivationCandidateCellsLoadParameters:
+      type: object
+      properties:
+        loadThreshold:
+          type: integer
+        timeDuration:
+          type: integer
+    IntraRatEsDeactivationCandidateCellsLoadParameters:
+      type: object
+      properties:
+        loadThreshold:
+          type: integer
+        timeDuration:
+          type: integer
+    EsNotAllowedTimePeriod:
+      type: object
+      properties:
+        startTimeandendTime:
+          type: string
+        periodOfDay:
+          type: string
+        daysOfWeekList:
+          type: string
+        listoftimeperiods:
+          type: string
+    InterRatEsActivationOriginalCellParameters:
+      type: object
+      properties:
+        loadThreshold:
+          type: integer
+        timeDuration:
+          type: integer
+    InterRatEsActivationCandidateCellParameters:
+      type: object
+      properties:
+        loadThreshold:
+          type: integer
+        timeDuration:
+          type: integer
+    InterRatEsDeactivationCandidateCellParameters:
+      type: object
+      properties:
+        loadThreshold:
+          type: integer
+        timeDuration:
+          type: integer
+
+    UeAccProbilityDist:
+      type: object
+      properties:
+        targetProbability:
+          type: integer
+        numberofpreamblessent:
+          type: integer
+
+    UeAccDelayProbilityDist:
+      type: object
+      properties:
+        targetProbability:
+          type: integer
+        accessdelay:
+          type: integer
+
+    NRPciList:
+      type: object
+      properties:
+        NRPci:
+          type: integer
+
+    CSonPciList:
+      type: object
+      properties:
+        NRPci:
+          type: integer
+
+    MaximumDeviationHoTrigger:
+      type: integer
+      minimum: -20
+      maximum: 20
+
+    MinimumTimeBetweenHoTriggerChange:
+      type: integer
+      minimum: 0
+      maximum: 604800
+
+    TstoreUEcntxt:
+      type: integer
+      minimum: 0
+      maximum: 1023
+
+    CellState:
+      type: string
+      enum:
+        - IDLE
+        - INACTIVE
+        - ACTIVE
+    CyclicPrefix:
+      type: string
+      enum:
+        - '15'
+        - '30'
+        - '60'
+        - '120'
+    TxDirection:
+      type: string
+      enum:
+        - DL
+        - UL
+        - DL and UL
+    BwpContext:
+      type: string
+      enum:
+        - DL
+        - UL
+        - SUL
+    IsInitialBwp:
+      type: string
+      enum:
+        - INITIAL
+        - OTHER
+        - SUL
+    QuotaType:
+      type: string
+      enum:
+        - STRICT
+        - FLOAT
+    IsESCoveredBy:
+      type: string
+      enum:
+        - NO
+        - PARTIAL
+        - FULL
+    RrmPolicyMember:
+      type: object
+      properties:
+        plmnId:
+          $ref: '#/components/schemas/PlmnId'
+        snssai:
+          $ref: '#/components/schemas/Snssai'
+    RrmPolicyMemberList:
+      type: array
+      items:
+        $ref: '#/components/schemas/RrmPolicyMember'
+    AddressWithVlan:
+      type: object
+      properties:
+        ipv4Address:
+          $ref: 'genericNrm.yaml#/components/schemas/Ipv4Addr'
+        ipv6Address:
+          $ref: 'genericNrm.yaml#/components/schemas/Ipv6Addr'
+        vlanId:
+          type: integer
+          minimum: 0
+          maximum: 4096
+    LocalAddress:
+      type: object
+      properties:
+        addressWithVlan:
+          $ref: '#/components/schemas/AddressWithVlan'
+        port:
+          type: integer
+          minimum: 0
+          maximum: 65535
+    RemoteAddress:
+      type: object
+      properties:
+        ipv4Address:
+          $ref: 'genericNrm.yaml#/components/schemas/Ipv4Addr'
+        ipv6Address:
+          $ref: 'genericNrm.yaml#/components/schemas/Ipv6Addr'
+
+    CellIndividualOffset:
+      type: object
+      properties:
+        rsrpOffsetSSB:
+          type: integer
+        rsrqOffsetSSB:
+          type: integer
+        sinrOffsetSSB:
+          type: integer
+        rsrpOffsetCSI-RS:
+          type: integer
+        rsrqOffsetCSI-RS:
+          type: integer
+        sinrOffsetCSI-RS:
+          type: integer
+    QOffsetRange:
+      type: integer
+      enum:
+        - -24
+        - -22
+        - -20
+        - -18
+        - -16
+        - -14
+        - -12
+        - -10
+        - -8
+        - -6
+        - -5
+        - -4
+        - -3
+        - -2
+        - -1
+        - 0
+        - 24
+        - 22
+        - 20
+        - 18
+        - 16
+        - 14
+        - 12
+        - 10
+        - 8
+        - 6
+        - 5
+        - 4
+        - 3
+        - 2
+        - 1
+    QOffsetRangeList:
+      type: object
+      properties:
+        rsrpOffsetSSB:
+          $ref: '#/components/schemas/QOffsetRange'
+        rsrqOffsetSSB:
+          $ref: '#/components/schemas/QOffsetRange'
+        sinrOffsetSSB:
+          $ref: '#/components/schemas/QOffsetRange'
+        rsrpOffsetCSI-RS:
+          $ref: '#/components/schemas/QOffsetRange'
+        rsrqOffsetCSI-RS:
+          $ref: '#/components/schemas/QOffsetRange'
+        sinrOffsetCSI-RS:
+          $ref: '#/components/schemas/QOffsetRange'
+    QOffsetFreq:
+      type: number
+    TReselectionNRSf:
+      type: integer
+      enum:
+        - 25
+        - 50
+        - 75
+        - 100
+    SsbPeriodicity:
+      type: integer
+      enum:
+        - 5
+        - 10
+        - 20
+        - 40
+        - 80
+        - 160
+    SsbDuration:
+      type: integer
+      enum:
+        - 1
+        - 2
+        - 3
+        - 4
+        - 5
+    SsbSubCarrierSpacing:
+      type: integer
+      enum:
+        - 15
+        - 30
+        - 120
+        - 240
+    CoverageShape:
+      type: integer
+      maximum: 65535
+    DigitalTilt:
+      type: integer
+      minimum: -900
+      maximum: 900
+    DigitalAzimuth:
+      type: integer
+      minimum: -1800
+      maximum: 1800
+
+    RSSetId:
+      type: integer
+      maximum: 4194303
+    
+    RSSetType:
+      type: string
+      enum:
+        - RS1
+        - RS2
+
+    FrequencyDomainPara:
+      type: object
+      properties:
+        rimRSSubcarrierSpacing:
+          type: integer
+        rIMRSBandwidth:
+         type: integer
+        nrofGlobalRIMRSFrequencyCandidates:
+          type: integer
+        rimRSCommonCarrierReferencePoint:
+         type: integer
+        rimRSStartingFrequencyOffsetIdList:
+          type: array
+          items:
+            type: integer
+
+    SequenceDomainPara:
+      type: object
+      properties:
+        nrofRIMRSSequenceCandidatesofRS1:
+         type: integer
+        rimRSScrambleIdListofRS1:
+          type: array
+          items:
+            type: integer
+        nrofRIMRSSequenceCandidatesofRS2:
+         type: integer
+        rimRSScrambleIdListofRS2:
+          type: array
+          items:
+            type: integer
+        enableEnoughNotEnoughIndication:
+          type: string
+          enum:
+            - ENABLE
+            - DISABLE          
+        RIMRSScrambleTimerMultiplier:
+          type: integer
+        RIMRSScrambleTimerOffset:
+          type: integer
+
+    TimeDomainPara:
+      type: object
+      properties:
+        dlULSwitchingPeriod1:
+          type: string
+          enum:
+           - MS0P5
+           - MS0P625
+           - MS1
+           - MS1P25
+           - MS2
+           - MS2P5
+           - MS3
+           - MS4
+           - MS5
+           - MS10
+           - MS20
+        symbolOffsetOfReferencePoint1:
+           type: integer
+        dlULSwitchingPeriod2:
+          type: string
+          enum:
+           - MS0P5
+           - MS0P625
+           - MS1
+           - MS1P25
+           - MS2
+           - MS2P5
+           - MS3
+           - MS4
+           - MS5
+           - MS10
+           - MS20
+        symbolOffsetOfReferencePoint2:
+          type: integer
+        totalnrofSetIdofRS1:
+          type: integer
+        totalnrofSetIdofRS2:
+          type: integer
+        nrofConsecutiveRIMRS1:
+          type: integer
+        nrofConsecutiveRIMRS2:
+          type: integer
+        consecutiveRIMRS1List:
+          type: array
+          items:
+            type: integer
+        consecutiveRIMRS2List:
+          type: array
+          items:
+            type: integer
+        enablenearfarIndicationRS1:
+          type: string
+          enum:
+            - ENABLE
+            - DISABLE          
+        enablenearfarIndicationRS2:
+          type: string
+          enum:
+            - ENABLE
+            - DISABLE          
+
+    RimRSReportInfo:
+      type: object
+      properties:
+        detectedSetID:
+          type: integer
+        propagationDelay:
+          type: integer
+        functionalityOfRIMRS:
+          type: string
+          enum:
+            - RS1
+            - RS2
+            - RS1forEnoughMitigation
+            - RS1forNotEnoughMitigation          
+
+    RimRSReportConf:
+      type: object
+      properties:
+        reportIndicator:
+          type: string
+          enum:
+            - ENABLE
+            - DISABLE          
+        reportInterval:
+           type: integer
+        nrofRIMRSReportInfo:
+          type: integer
+        maxPropagationDelay:
+          type: integer
+        rimRSReportInfoList:
+          type: array
+          items:
+            $ref: '#/components/schemas/RimRSReportInfo'
+    TceMappingInfo:
+      type: object
+      properties:
+        TceIPAddress:
+          oneOf:
+            - $ref: 'genericNrm.yaml#/components/schemas/Ipv4Addr'
+            - $ref: 'genericNrm.yaml#/components/schemas/Ipv6Addr'
+        TceID:
+          type: integer
+        PlmnTarget:
+          $ref: '#/components/schemas/PlmnId'
+    TceMappingInfoList:
+      type: array
+      items:
+        $ref: '#/components/schemas/TceMappingInfo'
+
+
+#-------- Definition of abstract IOCs --------------------------------------------
+
+    RrmPolicy_-Attr:
+      type: object
+      properties:
+        resourceType:
+          type: string
+        rRMPolicyMemberList:
+          $ref: '#/components/schemas/RrmPolicyMemberList'
+
+
+#-------- Definition of concrete IOCs --------------------------------------------
+
+    SubNetwork-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-Attr'
+        - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-ncO'
+        - type: object
+          properties:
+            SubNetwork:
+              $ref: '#/components/schemas/SubNetwork-Multiple'
+            ManagedElement:
+              $ref: '#/components/schemas/ManagedElement-Multiple'
+            NRFrequency:
+              $ref: '#/components/schemas/NRFrequency-Multiple'
+            ExternalGnbCuCpFunction:
+              $ref: '#/components/schemas/ExternalGnbCuCpFunction-Multiple'
+            ExternalENBFunction:
+              $ref: '#/components/schemas/ExternalENBFunction-Multiple'
+            EUtranFrequency:
+              $ref: '#/components/schemas/EUtranFrequency-Multiple'
+            DESManagementFunction:
+              $ref: '#/components/schemas/DESManagementFunction-Single'
+            DRACHOptimizationFunction:
+              $ref: '#/components/schemas/DRACHOptimizationFunction-Single'
+            DMROFunction:
+              $ref: '#/components/schemas/DMROFunction-Single'
+            DPCIConfigurationFunction:
+              $ref: '#/components/schemas/DPCIConfigurationFunction-Single'
+            CPCIConfigurationFunction:
+              $ref: '#/components/schemas/CPCIConfigurationFunction-Single'
+            CESManagementFunction:
+              $ref: '#/components/schemas/CESManagementFunction-Single'
+            Configurable5QISet:
+              $ref: '5gcNrm.yaml#/components/schemas/Configurable5QISet-Multiple'
+            RimRSGlobal:
+              $ref: '#/components/schemas/RimRSGlobal-Single'
+            Dynamic5QISet:
+              $ref: '5gcNrm.yaml#/components/schemas/Dynamic5QISet-Multiple'
+
+    ManagedElement-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              $ref: 'genericNrm.yaml#/components/schemas/ManagedElement-Attr'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedElement-ncO'
+        - type: object
+          properties:
+            GnbDuFunction:
+              $ref: '#/components/schemas/GnbDuFunction-Multiple'
+            GnbCuUpFunction:
+              $ref: '#/components/schemas/GnbCuUpFunction-Multiple'
+            GnbCuCpFunction:
+              $ref: '#/components/schemas/GnbCuCpFunction-Multiple'
+            DESManagementFunction:
+              $ref: '#/components/schemas/DESManagementFunction-Single'
+            DRACHOptimizationFunction:
+              $ref: '#/components/schemas/DRACHOptimizationFunction-Single'
+            DMROFunction:
+              $ref: '#/components/schemas/DMROFunction-Single'
+            DPCIConfigurationFunction:
+              $ref: '#/components/schemas/DPCIConfigurationFunction-Single'
+            CPCIConfigurationFunction:
+              $ref: '#/components/schemas/CPCIConfigurationFunction-Single'
+            CESManagementFunction:
+              $ref: '#/components/schemas/CESManagementFunction-Single'
+            Configurable5QISet:
+              $ref: '5gcNrm.yaml#/components/schemas/Configurable5QISet-Multiple'
+            Dynamic5QISet:
+              $ref: '5gcNrm.yaml#/components/schemas/Dynamic5QISet-Multiple'
+
+    GnbDuFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    gnbDuId:
+                      $ref: '#/components/schemas/GnbDuId'
+                    gnbDuName:
+                      $ref: '#/components/schemas/GnbName'
+                    gnbId:
+                      $ref: '#/components/schemas/GnbId'
+                    gnbIdLength:
+                      $ref: '#/components/schemas/GnbIdLength'
+                    rimRSReportConf:
+                      $ref: '#/components/schemas/RimRSReportConf'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+        - type: object
+          properties:
+            RRMPolicyRatio:
+              $ref: '#/components/schemas/RRMPolicyRatio-Multiple'
+            NrCellDu:
+              $ref: '#/components/schemas/NrCellDu-Multiple'
+            Bwp-Multiple:
+              $ref: '#/components/schemas/Bwp-Multiple'
+            NrSectorCarrier-Multiple:
+              $ref: '#/components/schemas/NrSectorCarrier-Multiple'
+            EP_F1C:
+              $ref: '#/components/schemas/EP_F1C-Single'
+            EP_F1U:
+              $ref: '#/components/schemas/EP_F1U-Multiple'
+            DRACHOptimizationFunction:
+              $ref: '#/components/schemas/DRACHOptimizationFunction-Single'
+    GnbCuUpFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    gnbId:
+                      $ref: '#/components/schemas/GnbId'
+                    gnbIdLength:
+                      $ref: '#/components/schemas/GnbIdLength'
+                    gnbCuUpId:
+                      $ref: '#/components/schemas/GnbCuUpId'
+                    plmnInfoList:
+                      $ref: '#/components/schemas/PlmnInfoList'
+                    configurable5QISetRef:
+                      $ref: 'comDefs.yaml#/components/schemas/Dn'
+                    dynamic5QISetRef:
+                      $ref: 'comDefs.yaml#/components/schemas/Dn'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+        - type: object
+          properties:
+            RRMPolicyRatio:
+              $ref: '#/components/schemas/RRMPolicyRatio-Multiple'
+            EP_E1:
+              $ref: '#/components/schemas/EP_E1-Single'
+            EP_XnU:
+              $ref: '#/components/schemas/EP_XnU-Multiple'
+            EP_F1U:
+              $ref: '#/components/schemas/EP_F1U-Multiple'
+            EP_NgU:
+              $ref: '#/components/schemas/EP_NgU-Multiple'
+            EP_X2U:
+              $ref: '#/components/schemas/EP_X2U-Multiple'
+            EP_S1U:
+              $ref: '#/components/schemas/EP_S1U-Multiple'
+    GnbCuCpFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    gnbId:
+                      $ref: '#/components/schemas/GnbId'
+                    gnbIdLength:
+                      $ref: '#/components/schemas/GnbIdLength'
+                    gnbCuName:
+                      $ref: '#/components/schemas/GnbName'
+                    plmnId:
+                      $ref: '#/components/schemas/PlmnId'
+                    x2BlackList:
+                      $ref: '#/components/schemas/GGnbIdList'
+                    xnBlackList:
+                      $ref: '#/components/schemas/GGnbIdList'
+                    x2WhiteList:
+                      $ref: '#/components/schemas/GGnbIdList'
+                    xnWhiteList:
+                      $ref: '#/components/schemas/GGnbIdList'
+                    x2XnHOBlackList:
+                      $ref: '#/components/schemas/GEnbIdList'
+                    mappingSetIDBackhaulAddress:
+                      $ref: '#/components/schemas/MappingSetIDBackhaulAddress'
+                    tceMappingInfoList:
+                      $ref: '#/components/schemas/TceMappingInfoList'
+                    configurable5QISetRef:
+                      $ref: 'comDefs.yaml#/components/schemas/Dn'
+                    dynamic5QISetRef:
+                      $ref: 'comDefs.yaml#/components/schemas/Dn'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+        - type: object
+          properties:
+            RRMPolicyRatio:
+              $ref: '#/components/schemas/RRMPolicyRatio-Multiple'
+            NrCellCu:
+              $ref: '#/components/schemas/NrCellCu-Multiple'
+            EP_XnC:
+              $ref: '#/components/schemas/EP_XnC-Multiple'
+            EP_E1:
+              $ref: '#/components/schemas/EP_E1-Multiple'
+            EP_F1C:
+              $ref: '#/components/schemas/EP_F1C-Multiple'
+            EP_NgC:
+              $ref: '#/components/schemas/EP_NgC-Multiple'
+            EP_X2C:
+              $ref: '#/components/schemas/EP_X2C-Multiple'
+            DANRManagementFunction:
+              $ref: '#/components/schemas/DANRManagementFunction-Single'
+            DESManagementFunction:
+              $ref: '#/components/schemas/DESManagementFunction-Single'
+            DMROFunction:
+              $ref: '#/components/schemas/DMROFunction-Single'
+
+    NrCellCu-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    cellLocalId:
+                      type: integer
+                    plmnInfoList:
+                      $ref: '#/components/schemas/PlmnInfoList'
+                    nRFrequencyRef:
+                      $ref: 'comDefs.yaml#/components/schemas/Dn'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+        - type: object
+          properties:
+            RRMPolicyRatio:
+              $ref: '#/components/schemas/RRMPolicyRatio-Multiple'
+            NRCellRelation:
+              $ref: '#/components/schemas/NRCellRelation-Multiple'
+            EUtranCellRelation:
+              $ref: '#/components/schemas/EUtranCellRelation-Multiple'
+            NRFreqRelation:
+              $ref: '#/components/schemas/NRFreqRelation-Multiple'
+            EUtranFreqRelation:
+              $ref: '#/components/schemas/EUtranFreqRelation-Multiple'
+            DESManagementFunction:
+              $ref: '#/components/schemas/DESManagementFunction-Single'
+            DMROFunction:
+              $ref: '#/components/schemas/DMROFunction-Single'
+            CESManagementFunction:
+              $ref: '#/components/schemas/CESManagementFunction-Single'
+            DPCIConfigurationFunction:
+              $ref: '#/components/schemas/DPCIConfigurationFunction-Single'
+
+    NrCellDu-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    administrativeState:
+                      $ref: 'comDefs.yaml#/components/schemas/AdministrativeState'
+                    operationalState:
+                      $ref: 'comDefs.yaml#/components/schemas/OperationalState'
+                    cellLocalId:
+                      type: integer
+                    cellState:
+                      $ref: '#/components/schemas/CellState'
+                    plmnInfoList:
+                      $ref: '#/components/schemas/PlmnInfoList'
+                    nrPci:
+                      $ref: '#/components/schemas/NrPci'
+                    nrTac:
+                      $ref: '#/components/schemas/NrTac'
+                    arfcnDL:
+                      type: integer
+                    arfcnUL:
+                      type: integer
+                    arfcnSUL:
+                      type: integer
+                    bSChannelBwDL:
+                      type: integer
+                    bSChannelBwUL:
+                      type: integer
+                    bSChannelBwSUL:
+                      type: integer
+                    ssbFrequency:
+                      type: integer
+                      minimum: 0
+                      maximum: 3279165
+                    ssbPeriodicity:
+                      $ref: '#/components/schemas/SsbPeriodicity'
+                    ssbSubCarrierSpacing:
+                      $ref: '#/components/schemas/SsbSubCarrierSpacing'
+                    ssbOffset:
+                      type: integer
+                      minimum: 0
+                      maximum: 159
+                    ssbDuration:
+                      $ref: '#/components/schemas/SsbDuration'
+                    nrSectorCarrierRef:
+                      type: array
+                      items:
+                        $ref: 'comDefs.yaml#/components/schemas/Dn'
+                    bwpRef:
+                      type: array
+                      items:
+                        $ref: 'comDefs.yaml#/components/schemas/Dn'
+                    nRFrequencyRef:
+                      $ref: 'comDefs.yaml#/components/schemas/Dn'
+                    victimSetRef:
+                      $ref: 'comDefs.yaml#/components/schemas/Dn'
+                    aggressorSetRef:
+                      $ref: 'comDefs.yaml#/components/schemas/Dn'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+        - type: object
+          properties:
+            RRMPolicyRatio:
+              $ref: '#/components/schemas/RRMPolicyRatio-Multiple'
+            CPCIConfigurationFunction:
+              $ref: '#/components/schemas/CPCIConfigurationFunction-Single'
+            DRACHOptimizationFunction:
+              $ref: '#/components/schemas/DRACHOptimizationFunction-Single'
+
+    NRFrequency-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+                type: object
+                properties:
+                  absoluteFrequencySSB:
+                    type: integer
+                    minimum: 0
+                    maximum: 3279165
+                  ssbSubCarrierSpacing:
+                    $ref: '#/components/schemas/SsbSubCarrierSpacing'
+                  multiFrequencyBandListNR:
+                    type: integer
+                    minimum: 1
+                    maximum: 256
+    EUtranFrequency-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              type: object
+              properties:
+                earfcnDL:
+                  type: integer
+                  minimum: 0
+                  maximum: 262143
+                multiBandInfoListEutra:
+                  type: integer
+                  minimum: 1
+                  maximum: 256
+
+    NrSectorCarrier-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    txDirection:
+                      $ref: '#/components/schemas/TxDirection'
+                    configuredMaxTxPower:
+                      type: integer
+                    arfcnDL:
+                      type: integer
+                    arfcnUL:
+                      type: integer
+                    bSChannelBwDL:
+                      type: integer
+                    bSChannelBwUL:
+                      type: integer
+                    sectorEquipmentFunctionRef:
+                      $ref: 'comDefs.yaml#/components/schemas/Dn'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+        - type: object
+          properties:
+            CommonBeamformingFunction:
+              $ref: '#/components/schemas/CommonBeamformingFunction-Single'
+    Bwp-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    bwpContext:
+                      $ref: '#/components/schemas/BwpContext'
+                    isInitialBwp:
+                      $ref: '#/components/schemas/IsInitialBwp'
+                    subCarrierSpacing:
+                      type: integer
+                    cyclicPrefix:
+                      $ref: '#/components/schemas/CyclicPrefix'
+                    startRB:
+                      type: integer
+                    numberOfRBs:
+                      type: integer
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+    CommonBeamformingFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - type: object
+                  properties:
+                    coverageShape:
+                      $ref: '#/components/schemas/CoverageShape'
+                    digitalAzimuth:
+                      $ref: '#/components/schemas/DigitalAzimuth'
+                    digitalTilt:
+                      $ref: '#/components/schemas/DigitalTilt'
+        - type: object
+          properties:
+            Beam:
+              $ref: '#/components/schemas/Beam-Multiple'
+    Beam-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - type: object
+                  properties:
+                    beamIndex:
+                      type: integer
+                    beamType:
+                      type: string
+                      enum:
+                        - SSB-BEAM
+                    beamAzimuth:
+                      type: integer
+                      minimum: -1800
+                      maximum: 1800
+                    beamTilt:
+                      type: integer
+                      minimum: -900
+                      maximum: 900
+                    beamHorizWidth:
+                      type: integer
+                      minimum: 0
+                      maximum: 3599
+                    beamVertWidth:
+                      type: integer
+                      minimum: 0
+                      maximum: 1800
+    RRMPolicyRatio-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: '#/components/schemas/RrmPolicy_-Attr'
+                - type: object
+                  properties:
+                    rRMPolicyMaxRatio:
+                      type: integer
+                    rRMPolicyMinRatio:
+                      type: integer
+                    rRMPolicyDedicatedRatio:
+                      type: integer
+
+    NRCellRelation-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+                  type: object
+                  properties:
+                    nRTCI:
+                      type: integer
+                    cellIndividualOffset:
+                      $ref: '#/components/schemas/CellIndividualOffset'
+                    adjacentNRCellRef:
+                      $ref: 'comDefs.yaml#/components/schemas/Dn'
+                    nRFrequencyRef:
+                      $ref: 'comDefs.yaml#/components/schemas/Dn'
+                    isRemoveAllowed:
+                      type: boolean
+                    isHOAllowed:
+                      type: boolean
+                    isESCoveredBy:
+                      $ref: '#/components/schemas/IsESCoveredBy'
+                    isENDCAllowed:
+                      type: boolean
+    EUtranCellRelation-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    adjacentEUtranCellRef:
+                      $ref: 'comDefs.yaml#/components/schemas/Dn'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+    NRFreqRelation-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+                  type: object
+                  properties:
+                    offsetMO:
+                      $ref: '#/components/schemas/QOffsetRangeList'
+                    blackListEntry:
+                      type: array
+                      items:
+                        type: integer
+                        minimum: 0
+                        maximum: 1007
+                    blackListEntryIdleMode:
+                      type: integer
+                    cellReselectionPriority:
+                      type: integer
+                    cellReselectionSubPriority:
+                      type: number
+                      minimum: 0.2
+                      maximum: 0.8
+                      multipleOf: 0.2
+                    pMax:
+                      type: integer
+                      minimum: -30
+                      maximum: 33
+                    qOffsetFreq:
+                      $ref: '#/components/schemas/QOffsetFreq'
+                    qQualMin:
+                      type: number
+                    qRxLevMin:
+                      type: integer
+                      minimum: -140
+                      maximum: -44
+                    threshXHighP:
+                      type: integer
+                      minimum: 0
+                      maximum: 62
+                    threshXHighQ:
+                      type: integer
+                      minimum: 0
+                      maximum: 31
+                    threshXLowP:
+                      type: integer
+                      minimum: 0
+                      maximum: 62
+                    threshXLowQ:
+                      type: integer
+                      minimum: 0
+                      maximum: 31
+                    tReselectionNr:
+                      type: integer
+                      minimum: 0
+                      maximum: 7
+                    tReselectionNRSfHigh:
+                      $ref: '#/components/schemas/TReselectionNRSf'
+                    tReselectionNRSfMedium:
+                      $ref: '#/components/schemas/TReselectionNRSf'
+                    nRFrequencyRef:
+                      $ref: 'comDefs.yaml#/components/schemas/Dn'
+    EUtranFreqRelation-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              type: object
+              properties:
+                    cellIndividualOffset:
+                      $ref: '#/components/schemas/CellIndividualOffset'
+                    blackListEntry:
+                      type: array
+                      items:
+                        type: integer
+                        minimum: 0
+                        maximum: 1007
+                    blackListEntryIdleMode:
+                      type: integer
+                    cellReselectionPriority:
+                      type: integer
+                    cellReselectionSubPriority:
+                      type: number
+                      minimum: 0.2
+                      maximum: 0.8
+                      multipleOf: 0.2
+                    pMax:
+                      type: integer
+                      minimum: -30
+                      maximum: 33
+                    qOffsetFreq:
+                      $ref: '#/components/schemas/QOffsetFreq'
+                    qQualMin:
+                      type: number
+                    qRxLevMin:
+                      type: integer
+                      minimum: -140
+                      maximum: -44
+                    threshXHighP:
+                      type: integer
+                      minimum: 0
+                      maximum: 62
+                    threshXHighQ:
+                      type: integer
+                      minimum: 0
+                      maximum: 31
+                    threshXLowP:
+                      type: integer
+                      minimum: 0
+                      maximum: 62
+                    threshXLowQ:
+                      type: integer
+                      minimum: 0
+                      maximum: 31
+                    tReselectionEutran:
+                      type: integer
+                      minimum: 0
+                      maximum: 7
+                    tReselectionNRSfHigh:
+                      $ref: '#/components/schemas/TReselectionNRSf'
+                    tReselectionNRSfMedium:
+                      $ref: '#/components/schemas/TReselectionNRSf'
+                    eUTranFrequencyRef:
+                      $ref: 'comDefs.yaml#/components/schemas/Dn'
+    DANRManagementFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+                  type: object
+                  properties:
+                    intrasystemANRManagementSwitch:
+                      type: boolean
+                    intersystemANRManagementSwitch:
+                      type: boolean
+
+    DESManagementFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+                  type: object
+                  properties:
+                    desSwitch:
+                      type: boolean
+                    intraRatEsActivationOriginalCellLoadParameters:
+                      $ref: "#/components/schemas/IntraRatEsActivationOriginalCellLoadParameters"
+                    intraRatEsActivationCandidateCellsLoadParameters:
+                      $ref: "#/components/schemas/IntraRatEsActivationCandidateCellsLoadParameters"
+                    intraRatEsDeactivationCandidateCellsLoadParameters:
+                      $ref: "#/components/schemas/IntraRatEsDeactivationCandidateCellsLoadParameters"
+                    esNotAllowedTimePeriod:
+                      $ref: "#/components/schemas/EsNotAllowedTimePeriod"
+                    interRatEsActivationOriginalCellParameters:
+                      $ref: "#/components/schemas/IntraRatEsActivationOriginalCellLoadParameters"
+                    interRatEsActivationCandidateCellParameters:
+                      $ref: "#/components/schemas/IntraRatEsActivationOriginalCellLoadParameters"
+                    interRatEsDeactivationCandidateCellParameters:
+                      $ref: "#/components/schemas/IntraRatEsActivationOriginalCellLoadParameters"
+                    isProbingCapable:
+                      type: string
+                      enum:
+                         - yes
+                         - no
+                    energySavingState:
+                      type: string
+                      enum:
+                         - isNotEnergySaving
+                         - isEnergySaving
+
+    DRACHOptimizationFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+                  type: object
+                  properties:
+                    drachOptimizationControl:
+                      type: boolean
+                    ueAccProbilityDist:
+                      $ref: "#/components/schemas/UeAccProbilityDist"
+                    ueAccDelayProbilityDist:
+                      $ref: "#/components/schemas/UeAccDelayProbilityDist"
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+
+    DMROFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes: 
+                  type: object
+                  properties:
+                    dmroControl:
+                      type: boolean
+                    maximumDeviationHoTrigger:
+                      $ref: '#/components/schemas/MaximumDeviationHoTrigger'
+                    minimumTimeBetweenHoTriggerChange:
+                      $ref: '#/components/schemas/MinimumTimeBetweenHoTriggerChange'
+                    tstoreUEcntxt:
+                      $ref: '#/components/schemas/TstoreUEcntxt'
+
+    DPCIConfigurationFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+                  type: object
+                  properties:
+                    dPciConfigurationControl:
+                      type: boolean
+                    nRPciList:
+                      $ref: "#/components/schemas/NRPciList"
+
+    CPCIConfigurationFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+                  type: object
+                  properties:
+                    cPciConfigurationControl:
+                      type: boolean
+                    cSonPciList:
+                      $ref: "#/components/schemas/CSonPciList"
+
+    CESManagementFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+                  type: object
+                  properties:
+                    cesSwitch:
+                      type: boolean
+                    energySavingControl:
+                      type: string
+                      enum:
+                         - toBeEnergySaving
+                         - toBeNotEnergySaving
+                    energySavingState:
+                      type: string
+                      enum:
+                         - isNotEnergySaving
+                         - isEnergySaving
+
+    RimRSGlobal-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              type: object
+              properties:
+                frequencyDomainPara:
+                  $ref: '#/components/schemas/FrequencyDomainPara'
+                sequenceDomainPara:
+                  $ref: '#/components/schemas/SequenceDomainPara'
+                timeDomainPara:
+                  $ref: '#/components/schemas/TimeDomainPara'
+            RimRSSet:
+              $ref: '#/components/schemas/RimRSSet-Multiple'
+
+    RimRSSet-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              type: object
+              properties:
+                setId:
+                  $ref: '#/components/schemas/RSSetId'
+                setType:
+                  $ref: '#/components/schemas/RSSetType'
+                rimRSMonitoringStartTime:
+                  type: string
+                rimRSMonitoringStopTime:
+                  type: string
+                rimRSMonitoringWindowDuration:
+                  type: integer
+                rimRSMonitoringWindowStartingOffset:
+                  type: integer
+                rimRSMonitoringWindowPeriodicity:
+                  type: integer
+                rimRSMonitoringOccasionInterval:
+                  type: integer
+                rimRSMonitoringOccasionStartingOffset:
+                  type: integer
+                nRCellDURefs:
+                  $ref: 'comDefs.yaml#/components/schemas/DnList'
+
+    ExternalGnbDuFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    gnbId:
+                      $ref: '#/components/schemas/GnbId'
+                    gnbIdLength:
+                      $ref: '#/components/schemas/GnbIdLength'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+        - type: object
+          properties:
+            EP_F1C:
+              $ref: '#/components/schemas/EP_F1C-Multiple'
+            EP_F1U:
+              $ref: '#/components/schemas/EP_F1U-Multiple'
+    ExternalGnbCuUpFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    gnbId:
+                      $ref: '#/components/schemas/GnbId'
+                    gnbIdLength:
+                      $ref: '#/components/schemas/GnbIdLength'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+        - type: object
+          properties:
+            EP_E1:
+              $ref: '#/components/schemas/EP_E1-Multiple'
+            EP_F1U:
+              $ref: '#/components/schemas/EP_F1U-Multiple'
+            EP_XnU:
+              $ref: '#/components/schemas/EP_XnU-Multiple'
+    ExternalGnbCuCpFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: >-
+                    genericNrm.yaml#/components/schemas/ManagedFunction-Attr
+                - type: object
+                  properties:
+                    gnbId:
+                      $ref: '#/components/schemas/GnbId'
+                    gnbIdLength:
+                      $ref: '#/components/schemas/GnbIdLength'
+                    plmnId:
+                      $ref: '#/components/schemas/PlmnId'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+        - type: object
+          properties:
+            ExternalNrCellCu:
+              $ref: '#/components/schemas/ExternalNrCellCu-Multiple'
+            EP_XnC:
+              $ref: '#/components/schemas/EP_XnC-Multiple'
+            EP_E1:
+              $ref: '#/components/schemas/EP_E1-Multiple'
+            EP_F1C:
+              $ref: '#/components/schemas/EP_F1C-Multiple'
+    ExternalNrCellCu-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    cellLocalId:
+                      type: integer
+                    nrPci:
+                      $ref: '#/components/schemas/NrPci'
+                    plmnIdList:
+                      $ref: '#/components/schemas/PlmnIdList'
+                    nRFrequencyRef:
+                      $ref: 'comDefs.yaml#/components/schemas/Dn'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+    ExternalENBFunction-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    eNBId:
+                      type: integer
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+        - type: object
+          properties:
+            ExternalEUTranCell:
+              $ref: '#/components/schemas/ExternalEUTranCell-Multiple'
+    ExternalEUTranCell-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
+                - type: object
+                  properties:
+                    EUtranFrequencyRef:
+                      $ref: 'comDefs.yaml#/components/schemas/Dn'
+        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
+
+    EP_XnC-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: '#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: '#/components/schemas/RemoteAddress'
+    EP_E1-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: '#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: '#/components/schemas/RemoteAddress'
+    EP_F1C-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: '#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: '#/components/schemas/RemoteAddress'
+    EP_NgC-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: '#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: '#/components/schemas/RemoteAddress'
+    EP_X2C-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: '#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: '#/components/schemas/RemoteAddress'
+    EP_XnU-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: '#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: '#/components/schemas/RemoteAddress'
+    EP_F1U-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: '#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: '#/components/schemas/RemoteAddress'
+    EP_NgU-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: '#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: '#/components/schemas/RemoteAddress'
+                    epTransportRefs:
+                      $ref: 'comDefs.yaml#/components/schemas/DnList'
+
+    EP_X2U-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: '#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: '#/components/schemas/RemoteAddress'
+    EP_S1U-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr'
+                - type: object
+                  properties:
+                    localAddress:
+                      $ref: '#/components/schemas/LocalAddress'
+                    remoteAddress:
+                      $ref: '#/components/schemas/RemoteAddress'
+
+#-------- Definition of JSON arrays for name-contained IOCs ----------------------
+
+    SubNetwork-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/SubNetwork-Single'
+    ManagedElement-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/ManagedElement-Single'
+    GnbDuFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/GnbDuFunction-Single'
+    GnbCuUpFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/GnbCuUpFunction-Single'
+    GnbCuCpFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/GnbCuCpFunction-Single'
+
+    NrCellDu-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/NrCellDu-Single'
+    NrCellCu-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/NrCellCu-Single'
+
+    NRFrequency-Multiple:
+      type: array
+      minItems: 1
+      items:
+        $ref: '#/components/schemas/NRFrequency-Single'
+    EUtranFrequency-Multiple:
+      type: array
+      minItems: 1
+      items:
+        $ref: '#/components/schemas/EUtranFrequency-Single'
+
+    NrSectorCarrier-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/NrSectorCarrier-Single'
+    Bwp-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/Bwp-Single'
+    Beam-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/Beam-Single'
+    RRMPolicyRatio-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/RRMPolicyRatio-Single'
+
+    NRCellRelation-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/NRCellRelation-Single'
+    EUtranCellRelation-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EUtranCellRelation-Single'
+    NRFreqRelation-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/NRFreqRelation-Single'
+    EUtranFreqRelation-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EUtranFreqRelation-Single'
+
+    RimRSSet-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/RimRSSet-Single'
+
+    ExternalGnbDuFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/ExternalGnbDuFunction-Single'
+    ExternalGnbCuUpFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/ExternalGnbCuUpFunction-Single'
+    ExternalGnbCuCpFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/ExternalGnbCuCpFunction-Single'
+    ExternalNrCellCu-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/ExternalNrCellCu-Single'
+    
+    ExternalENBFunction-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/ExternalENBFunction-Single'
+    ExternalEUTranCell-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/ExternalEUTranCell-Single'
+
+    EP_E1-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_E1-Single'
+    EP_XnC-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_XnC-Single'
+    EP_F1C-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_F1C-Single'
+    EP_NgC-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_NgC-Single'
+    EP_X2C-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_X2C-Single'
+    EP_XnU-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_XnU-Single'
+    EP_F1U-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_F1U-Single'
+    EP_NgU-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_NgU-Single'
+    EP_X2U-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_X2U-Single'
+    EP_S1U-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_S1U-Single'
+
+#-------- Definitions in TS 28.541 for TS 28.532 ---------------------------------
+
+    resources-nrNrm:
+      oneOf:
+        - $ref: '#/components/schemas/SubNetwork-Single'
+        - $ref: '#/components/schemas/ManagedElement-Single'
+
+        - $ref: '#/components/schemas/GnbDuFunction-Single'
+        - $ref: '#/components/schemas/GnbCuUpFunction-Single'
+        - $ref: '#/components/schemas/GnbCuCpFunction-Single'
+
+        - $ref: '#/components/schemas/NrCellCu-Single'
+        - $ref: '#/components/schemas/NrCellDu-Single'
+
+        - $ref: '#/components/schemas/NRFrequency-Single'
+        - $ref: '#/components/schemas/EUtranFrequency-Single'
+
+        - $ref: '#/components/schemas/NrSectorCarrier-Single'
+        - $ref: '#/components/schemas/Bwp-Single'
+        - $ref: '#/components/schemas/CommonBeamformingFunction-Single'
+        - $ref: '#/components/schemas/Beam-Single'
+        - $ref: '#/components/schemas/RRMPolicyRatio-Single'
+        
+        - $ref: '#/components/schemas/NRCellRelation-Single'
+        - $ref: '#/components/schemas/EUtranCellRelation-Single'
+        - $ref: '#/components/schemas/NRFreqRelation-Single'
+        - $ref: '#/components/schemas/EUtranFreqRelation-Single'
+
+        - $ref: '#/components/schemas/DANRManagementFunction-Single'
+        - $ref: '#/components/schemas/DESManagementFunction-Single'
+        - $ref: '#/components/schemas/DRACHOptimizationFunction-Single'
+        - $ref: '#/components/schemas/DMROFunction-Single'
+        - $ref: '#/components/schemas/DPCIConfigurationFunction-Single'
+        - $ref: '#/components/schemas/CPCIConfigurationFunction-Single'
+        - $ref: '#/components/schemas/CESManagementFunction-Single'
+     
+        - $ref: '#/components/schemas/RimRSGlobal-Single'
+        - $ref: '#/components/schemas/RimRSSet-Single'
+        
+        - $ref: '#/components/schemas/ExternalGnbDuFunction-Single'
+        - $ref: '#/components/schemas/ExternalGnbCuUpFunction-Single'
+        - $ref: '#/components/schemas/ExternalGnbCuCpFunction-Single'
+        - $ref: '#/components/schemas/ExternalNrCellCu-Single'
+        - $ref: '#/components/schemas/ExternalENBFunction-Single'
+        - $ref: '#/components/schemas/ExternalEUTranCell-Single'
+
+        - $ref: '#/components/schemas/EP_XnC-Single'
+        - $ref: '#/components/schemas/EP_E1-Single'
+        - $ref: '#/components/schemas/EP_F1C-Single'
+        - $ref: '#/components/schemas/EP_NgC-Single'
+        - $ref: '#/components/schemas/EP_X2C-Single'
+        - $ref: '#/components/schemas/EP_XnU-Single'
+        - $ref: '#/components/schemas/EP_F1U-Single'
+        - $ref: '#/components/schemas/EP_NgU-Single'
+        - $ref: '#/components/schemas/EP_X2U-Single'
+        - $ref: '#/components/schemas/EP_S1U-Single'
diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/perfMnS.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/perfMnS.yaml
new file mode 100644 (file)
index 0000000..1fd64a7
--- /dev/null
@@ -0,0 +1,76 @@
+openapi: 3.0.1
+info:
+  title: TS 28.532 Performance Threshold Monitoring MnS
+  version: 16.6.0
+  description: >-
+    OAS 3.0.1 definition of the Performance Threshold Monitoring MnS
+    © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
+    All rights reserved.
+externalDocs:
+  description: 3GPP TS 28.532 V16.6.0; Generic management services
+  url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/
+servers:
+  - url: '{root}'
+    variables:
+      root:
+        description: >-
+          The open API server of the performance threshold monitoring service is
+          located in the consumer side, see monitoringNotifTarget attribute of
+          the IOC ThresholdMonitor defined in 3GPP TS 28.622 [11]. 
+        default: http://example.com/3GPPManagement
+paths:
+  /notificationSink:
+    post:
+      summary: Send notifications about performance threshold crossing
+      description: To send a notifyThresholdCrossing notification
+      requestBody:
+        required: true
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/NotifyThresholdCrossing'
+      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: 'comDefs.yaml#/components/schemas/ErrorResponse'
+components:
+  schemas:
+    PerfNotificationTypes:
+      type: string
+      enum:
+        - notifyThresholdCrossing
+    PerfMetricValue:
+      oneOf:
+        - type: integer
+        - $ref: 'comDefs.yaml#/components/schemas/Float'
+    PerfMetricDirection:
+      type: string
+      enum:
+        - UP
+        - DOWN
+    NotifyThresholdCrossing:
+      allOf:
+        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
+        - type: object
+          properties:
+            observedPerfMetricName:
+              type: string
+            observedPerfMetricValue:
+              $ref: '#/components/schemas/PerfMetricValue'
+            observedPerfMetricDirection:
+              $ref: '#/components/schemas/PerfMetricDirection'
+            thresholdValue:
+              $ref: '#/components/schemas/PerfMetricValue'
+            hysteresis:
+              $ref: '#/components/schemas/PerfMetricValue'
+            monitorGranularityPeriod:
+              type: integer
+            additionalText:
+              type: string
@@ -1,25 +1,25 @@
 openapi: 3.0.1
 info:
   title: Provisioning MnS
-  version: 16.4.0
+  version: 16.5.0
   description: >-
     OAS 3.0.1 definition of the Provisioning MnS
     © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
     All rights reserved.
 externalDocs:
-  description: 3GPP TS 28.532 V16.4.0; Generic management services
+  description: 3GPP TS 28.532; Generic management services
   url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/
 servers:
-  - url: 'http://{URI-DN-prefix}/{root}/ProvMnS/v1640/{LDN-first-part}'
+  - url: '{MnSRoot}/ProvMnS/{MnSVersion}/{URI-LDN-first-part}'
     variables:
-      URI-DN-prefix:
-        description: See subclause 4.4 of TS 32.158
-        default: example.com
-      root:
-        description: See subclause 4.4 of TS 32.158
-        default: 3GPPManagement
-      LDN-first-part:
-        description: See subclause 4.4 of TS 32.158
+      MnSRoot:
+        description: See clause 4.4.2 of TS 32.158
+        default: http://example.com/3GPPManagement
+      MnSVersion:
+        description: Version number of the OpenAPI definition
+        default: XXX
+      URI-LDN-first-part:
+        description: See clause 4.4.2 of TS 32.158
         default: ''
 paths:
   '/{className}={id}':
@@ -28,12 +28,12 @@ paths:
         in: path
         required: true
         schema:
-          $ref: '#/components/schemas/className-PathType'
+          type: string
       - name: id
         in: path
         required: true
         schema:
-          $ref: '#/components/schemas/id-PathType'
+          type: string
     put:
       summary: Replaces a complete single resource or creates it if it does not exist
       description: >-
@@ -44,7 +44,7 @@ paths:
         content:
           application/json:
             schema:
-              $ref: '#/components/schemas/resourcePut-RequestType'
+              $ref: '#/components/schemas/Resource'
       responses:
         '200':
           description: >-
@@ -60,7 +60,7 @@ paths:
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/resourceUpdate-ResponseType'
+                $ref: '#/components/schemas/Resource'
         '201':
           description: >-
             Success case ("201 Created").
@@ -70,7 +70,7 @@ paths:
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/resourceCreation-ResponseType'
+                $ref: '#/components/schemas/Resource'
         '204':
           description: >-
             Success case ("204 No Content").
@@ -82,7 +82,7 @@ paths:
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/error-ResponseType'
+                $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
       callbacks:
         notifyMOICreation:
           '{request.body#/notificationRecipientAddress}':
@@ -92,7 +92,7 @@ paths:
                 content:
                   application/json:
                     schema:
-                      $ref: '#/components/schemas/notifyMOICreation-NotifType'
+                      $ref: '#/components/schemas/NotifyMoiCreation'
               responses:
                 '204':
                   description: >-
@@ -104,7 +104,7 @@ paths:
                   content:
                     application/json:
                       schema:
-                        $ref: '#/components/schemas/error-ResponseType'
+                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
         notifyMOIDeletion:
           '{request.body#/notificationRecipientAddress}':
             post:
@@ -113,7 +113,7 @@ paths:
                 content:
                   application/json:
                     schema:
-                      $ref: '#/components/schemas/notifyMOIDeletion-NotifType'
+                      $ref: '#/components/schemas/NotifyMoiDeletion'
               responses:
                 '204':
                   description: >-
@@ -125,8 +125,8 @@ paths:
                   content:
                     application/json:
                       schema:
-                        $ref: '#/components/schemas/error-ResponseType'
-        notifyMOIAttributeValueChange:
+                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
+        notifyMOIAttributeValueChanges:
           '{request.body#/notificationRecipientAddress}':
             post:
               requestBody:
@@ -134,7 +134,7 @@ paths:
                 content:
                   application/json:
                     schema:
-                      $ref: '#/components/schemas/notifyMOIAttributeValueChange-NotifType'
+                      $ref: '#/components/schemas/NotifyMoiAttributeValueChanges'
               responses:
                 '204':
                   description: >-
@@ -146,7 +146,7 @@ paths:
                   content:
                     application/json:
                       schema:
-                        $ref: '#/components/schemas/error-ResponseType'
+                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
         notifyMOIChanges:
           '{request.body#/notificationRecipientAddress}':
             post:
@@ -155,7 +155,7 @@ paths:
                 content:
                   application/json:
                     schema:
-                      $ref: '#/components/schemas/notifyMOIChanges-NotifType'
+                      $ref: '#/components/schemas/NotifyMoiChanges'
               responses:
                 '204':
                   description: >-
@@ -167,7 +167,7 @@ paths:
                   content:
                     application/json:
                       schema:
-                        $ref: '#/components/schemas/error-ResponseType'
+                        $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
     get:
       summary: Reads one or multiple resources
       description: >-
@@ -183,7 +183,7 @@ paths:
             mechanism is specified in the present document.
           required: false
           schema:
-            $ref: '#/components/schemas/scope-QueryType'
+            $ref: '#/components/schemas/Scope'
           style: form
           explode: true
         - name: filter
@@ -196,7 +196,7 @@ paths:
             document.
           required: false
           schema:
-            $ref: '#/components/schemas/filter-QueryType'
+            $ref: 'comDefs.yaml#/components/schemas/Filter'
         - name: attributes
           in: query
           description: >-
@@ -204,7 +204,9 @@ paths:
             are returned.
           required: true
           schema:
-            $ref: '#/components/schemas/attributes-QueryType'
+            type: array
+            items:
+              type: string
           style: form
           explode: false
         - name: fields
@@ -214,7 +216,9 @@ paths:
             that are returned.
           required: false
           schema:
-            $ref: '#/components/schemas/fields-QueryType'
+            type: array
+            items:
+              type: string
           style: form
           explode: false
       responses:
@@ -229,13 +233,13 @@ paths:
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/resourceRetrieval-ResponseType'
+                $ref: '#/components/schemas/Resource'
         default:
           description: Error case.
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/error-ResponseType'
+                $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
     patch:
       summary: Patches one or multiple resources
       description: >-
@@ -254,16 +258,20 @@ paths:
         content:
           application/merge-patch+json:
             schema:
-              $ref: '#/components/schemas/jsonMergePatch-RequestType'
+              $ref: '#/components/schemas/Resource'
           application/3gpp-merge-patch+json:
             schema:
-              $ref: '#/components/schemas/3gppJsonMergePatch-RequestType'
+              $ref: '#/components/schemas/Resource'
           application/json-patch+json:
             schema:
-              $ref: '#/components/schemas/jsonPatch-RequestType'
+              type: array
+              items:
+                type: object
           application/3gpp-json-patch+json:
             schema:
-              $ref: '#/components/schemas/3gppJsonPatch-RequestType'
+              type: array
+              items:
+                type: object
       responses:
         '200':
           description: >-
@@ -276,7 +284,7 @@ paths:
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/resourceUpdate-ResponseType'
+                $ref: '#/components/schemas/Resource'
         '204':
           description: >-
             Success case ("204 No Content").
@@ -288,7 +296,7 @@ paths:
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/error-ResponseType'
+                $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
     delete:
       summary: Deletes one or multiple resources
       description: >-
@@ -303,7 +311,9 @@ paths:
             mechanism is specified in the present document.
           required: false
           schema:
-            $ref: '#/components/schemas/scope-QueryType'
+            $ref: '#/components/schemas/Scope'
+          style: form
+          explode: true
         - name: filter
           in: query
           description: >-
@@ -314,7 +324,7 @@ paths:
             document.
           required: false
           schema:
-            $ref: '#/components/schemas/filter-QueryType'
+            $ref: 'comDefs.yaml#/components/schemas/Filter'
       responses:
         '200':
           description: >-
@@ -331,136 +341,66 @@ paths:
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/resourceDeletion-ResponseType'
+                type: array
+                items:
+                  $ref: 'comDefs.yaml#/components/schemas/Uri'
         default:
           description: Error case.
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/error-ResponseType'
+                $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
 components:
   schemas:
-    dateTime-Type:
-      type: string
-      format: date-time
-    long-Type:
-      type: integer
-      format: int64
-    uri-Type:
-      type: string
-    correlatedNotification-Type:
+    CorrelatedNotification:
       type: object
       properties:
         source:
-          $ref: '#/components/schemas/uri-Type'
+          $ref: 'comDefs.yaml#/components/schemas/Dn'
         notificationIds:
           type: array
           items:
-            $ref: '#/components/schemas/notificationId-Type'
-    notificationId-Type:
-      $ref: '#/components/schemas/long-Type'
-    notificationType-Type:
+            $ref: 'comDefs.yaml#/components/schemas/NotificationId'
+      required:
+        - source
+        - notificationIds
+    CmNotificationTypes:
       type: string
       enum:
         - notifyMOICreation
         - notifyMOIDeletion
-        - notifyMOIAttributeValueChange
-    systemDN-Type:
+        - notifyMOIAttributeValueChanges
+        - notifyMOIChanges
+    SourceIndicator:
       type: string
-    additionalText-Type:
-      type: string
-    sourceIndicator-Type:
+      enum:
+        - RESOURCE_OPERATION
+        - MANAGEMENT_OPERATION
+        - SON_OPERATION
+        - UNKNOWN
+    Operation:
       type: string
       enum:
-        - resourceOperation
-        - mangementOperation
-        - sONOperation
-        - unknown
-    header-Type:
-      type: object
-      properties:
-        href:
-          $ref: '#/components/schemas/uri-Type'
-        notificationId:
-          $ref: '#/components/schemas/notificationId-Type'
-        notificationType:
-          $ref: '#/components/schemas/notificationType-Type'
-        eventTime:
-          $ref: '#/components/schemas/dateTime-Type'
-        systemDN:
-          $ref: '#/components/schemas/systemDN-Type'
-      required:
-        - href
-        - notificationId
-        - notificationType
-        - eventTime
-        - systemDN
-    scopeType-Type:
+        - CREATE
+        - DELETE
+        - REPLACE
+    ScopeType:
       type: string
       enum:
         - BASE_ONLY
         - BASE_NTH_LEVEL
         - BASE_SUBTREE
         - BASE_ALL
-    scopeLevel-Type:
-      type: integer
-    className-PathType:
-      type: string
-    id-PathType:
-      type: string
-    attributes-QueryType:
-      type: array
-      items:
-        type: string
-    fields-QueryType:
-      type: array
-      items:
-        type: string
-    filter-QueryType:
-      type: string
-    scope-QueryType:
+    Scope:
       type: object
       properties:
         scopeType:
-          $ref: '#/components/schemas/scopeType-Type'
+          $ref: '#/components/schemas/ScopeType'
         scopeLevel:
-          $ref: '#/components/schemas/scopeLevel-Type'
+          type: integer
 
-    resourcePut-RequestType:
-      $ref: '#/components/schemas/resourceRepresentation-Type'
-    jsonMergePatch-RequestType:
-      $ref: '#/components/schemas/resourceRepresentation-Type'
-    3gppJsonMergePatch-RequestType:
-      $ref: '#/components/schemas/resourceRepresentation-Type'
-    jsonPatch-RequestType:
-      type: array
-      items:
-        type: object
-    3gppJsonPatch-RequestType:
-      type: array
-      items:
-        type: object
 
-    error-ResponseType:
-      type: object
-      properties:
-        error:
-          type: object
-          properties:
-            errorInfo:
-              type: string
-    resourceRetrieval-ResponseType:
-      $ref: '#/components/schemas/resourceRepresentation-Type'
-    resourceCreation-ResponseType:
-      $ref: '#/components/schemas/resourceRepresentation-Type'
-    resourceUpdate-ResponseType:
-      $ref: '#/components/schemas/resourceRepresentation-Type'
-    resourceDeletion-ResponseType:
-      type: array
-      items:
-        $ref: '#/components/schemas/uri-Type'
-
-    resourceRepresentation-Type:
+    Resource:
       oneOf:
         - type: object
           properties:
@@ -478,102 +418,83 @@ components:
             - $ref: '5gcNrm.yaml#/components/schemas/resources-5gcNrm'
             - $ref: 'sliceNrm.yaml#/components/schemas/resources-sliceNrm'
 
-    mOIChange-Type:
+    MoiChange:
       type: object
       properties:
         notificationId:
-          $ref: '#/components/schemas/notificationId-Type'
+          $ref: 'comDefs.yaml#/components/schemas/NotificationId'
         correlatedNotifications:
           type: array
           items:
-            $ref: '#/components/schemas/correlatedNotification-Type'
+            $ref: '#/components/schemas/CorrelatedNotification'
         additionalText:
-          $ref: '#/components/schemas/additionalText-Type'
+          type: string
         sourceIndicator:
-          $ref: '#/components/schemas/sourceIndicator-Type'
+          $ref: '#/components/schemas/SourceIndicator'
         path:
-          $ref: '#/components/schemas/uri-Type'
+          $ref: 'comDefs.yaml#/components/schemas/Uri'
         operation:
-          type: string
-          enum:
-            - CREATE
-            - DELETE
-            - REPLACE
+          $ref: '#/components/schemas/Operation'
         value:
           oneOf:
-            - type: object
-              additionalProperties:
-                nullable: true
-            - type: array
-              items:
-                type: object
-              minItems: 1
-              maxItems: 2
+            - $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
+            - $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet'
 
-    notifyMOICreation-NotifType:
+    NotifyMoiCreation:
       allOf:
-        - $ref: '#/components/schemas/header-Type'
+        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
         - type: object
           properties:
             correlatedNotifications:
               type: array
               items:
-                $ref: '#/components/schemas/correlatedNotification-Type'
+                $ref: '#/components/schemas/CorrelatedNotification'
             additionalText:
-              $ref: '#/components/schemas/additionalText-Type'
+              type: string
             sourceIndicator:
-              $ref: '#/components/schemas/sourceIndicator-Type'
+              $ref: '#/components/schemas/SourceIndicator'
             attributeList:
-              type: object
-              additionalProperties:
-                nullable: true
-    notifyMOIDeletion-NotifType:
+              $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
+    NotifyMoiDeletion:
       allOf:
-        - $ref: '#/components/schemas/header-Type'
+        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
         - type: object
           properties:
             correlatedNotifications:
               type: array
               items:
-                $ref: '#/components/schemas/correlatedNotification-Type'
+                $ref: '#/components/schemas/CorrelatedNotification'
             additionalText:
-              $ref: '#/components/schemas/additionalText-Type'
+              type: string
             sourceIndicator:
-              $ref: '#/components/schemas/sourceIndicator-Type'
+              $ref: '#/components/schemas/SourceIndicator'
             attributeList:
-              type: object
-              additionalProperties: true
-    notifyMOIAttributeValueChange-NotifType:
+              $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
+    NotifyMoiAttributeValueChanges:
       allOf:
-        - $ref: '#/components/schemas/header-Type'
+        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
         - type: object
           properties:
             correlatedNotifications:
               type: array
               items:
-                $ref: '#/components/schemas/correlatedNotification-Type'
+                $ref: '#/components/schemas/CorrelatedNotification'
             additionalText:
-              $ref: '#/components/schemas/additionalText-Type'
+              type: string
             sourceIndicator:
-              $ref: '#/components/schemas/sourceIndicator-Type'
-            attributeValueChange:
-              type: object
-              additionalProperties:
-                type: array
-                minItems: 1
-                maxItems: 2
-                items:
-                  nullable: true
+              $ref: '#/components/schemas/SourceIndicator'
+            attributeListValueChanges:
+              $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet'
           required:
-            - attributeValueChange
-    notifyMOIChanges-NotifType:
+            - attributeListValueChanges
+    NotifyMoiChanges:
       allOf:
-        - $ref: '#/components/schemas/header-Type'
+        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
         - type: object
           properties:
-            mOIChanges:
+            moiChanges:
               type: array
               items:
-                $ref: '#/components/schemas/mOIChange-Type'
+                $ref: '#/components/schemas/MoiChange'
           required:
-            - mOIChanges
+            - moiChanges
diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/sliceNrm.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/sliceNrm.yaml
new file mode 100644 (file)
index 0000000..1fa8d70
--- /dev/null
@@ -0,0 +1,418 @@
+openapi: 3.0.1
+info:
+  title: Slice NRM
+  version: 16.8.0
+  description: >-
+    OAS 3.0.1 specification of the Slice NRM
+    @ 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
+    All rights reserved.
+externalDocs:
+  description: 3GPP TS 28.541 V16.4.0; 5G NRM, Slice NRM
+  url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.541/
+paths: {}
+components:
+  schemas:
+
+#------------ Type definitions ---------------------------------------------------
+
+    Float:
+      type: number
+      format: float
+    MobilityLevel:
+      type: string
+      enum:
+        - STATIONARY
+        - NOMADIC
+        - RESTRICTED MOBILITY
+        - FULLY MOBILITY
+    SharingLevel:
+      type: string
+      enum:
+        - SHARED
+        - NON-SHARED
+    NetworkSliceSharingIndicator:
+      type: string
+      enum:
+        - SHARED
+        - NON-SHARED
+    PerfReqEmbb:
+      type: object
+      properties:
+        expDataRateDL:
+          type: number
+        expDataRateUL:
+          type: number
+        areaTrafficCapDL:
+          type: number
+        areaTrafficCapUL:
+          type: number
+        userDensity:
+          type: number
+        activityFactor:
+          type: number
+    PerfReqEmbbList:
+      type: array
+      items:
+        $ref: '#/components/schemas/PerfReqEmbb'
+    PerfReqUrllc:
+      type: object
+      properties:
+        cSAvailabilityTarget:
+          type: number
+        cSReliabilityMeanTime:
+          type: string
+        expDataRate:
+          type: number
+        msgSizeByte:
+          type: string
+        transferIntervalTarget:
+          type: string
+        survivalTime:
+          type: string
+    PerfReqUrllcList:
+      type: array
+      items:
+        $ref: '#/components/schemas/PerfReqUrllc'
+    PerfReq:
+      oneOf:
+        - $ref: '#/components/schemas/PerfReqEmbbList'
+        - $ref: '#/components/schemas/PerfReqUrllcList'
+    Category:
+      type: string
+      enum:
+        - CHARACTER
+        - SCALABILITY
+    Tagging:
+      type: array
+      items:
+        type: string
+        enum:
+          - PERFORMANCE
+          - FUNCTION
+          - OPERATION
+
+
+    Exposure:
+      type: string
+      enum:
+        - API
+        - KPI
+    ServAttrCom:
+      type: object
+      properties:
+        category:
+          $ref: '#/components/schemas/Category'
+        tagging:
+          $ref: '#/components/schemas/Tagging'
+        exposure:
+          $ref: '#/components/schemas/Exposure'
+    Support:
+      type: string
+      enum:
+        - NOT SUPPORTED
+        - SUPPORTED
+    DelayTolerance:
+      type: object
+      properties:
+        servAttrCom:
+          $ref: '#/components/schemas/ServAttrCom'
+        support:
+          $ref: '#/components/schemas/Support'
+    DeterministicComm:
+      type: object
+      properties:
+        servAttrCom:
+          $ref: '#/components/schemas/ServAttrCom'
+        availability:
+          $ref: '#/components/schemas/Support'
+        periodicityList:
+          type: string
+    DLThptPerSlice:
+      type: object
+      properties:
+        servAttrCom:
+          $ref: '#/components/schemas/ServAttrCom'
+        guaThpt:
+          $ref: '#/components/schemas/Float'
+        maxThpt:
+          $ref: '#/components/schemas/Float'
+    DLThptPerUE:
+      type: object
+      properties:
+        servAttrCom:
+          $ref: '#/components/schemas/ServAttrCom'
+        guaThpt:
+          $ref: '#/components/schemas/Float'
+        maxThpt:
+          $ref: '#/components/schemas/Float'
+    ULThptPerSlice:
+      type: object
+      properties:
+        servAttrCom:
+          $ref: '#/components/schemas/ServAttrCom'
+        guaThpt:
+          $ref: '#/components/schemas/Float'
+        maxThpt:
+          $ref: '#/components/schemas/Float'
+    ULThptPerUE:
+      type: object
+      properties:
+        servAttrCom:
+          $ref: '#/components/schemas/ServAttrCom'
+        guaThpt:
+          $ref: '#/components/schemas/Float'
+        maxThpt:
+          $ref: '#/components/schemas/Float'
+    MaxPktSize:
+      type: object
+      properties:
+        servAttrCom:
+          $ref: '#/components/schemas/ServAttrCom'
+        maxsize:
+          type: integer
+    MaxNumberofConns:
+      type: object
+      properties:
+        servAttrCom:
+          $ref: '#/components/schemas/ServAttrCom'
+        nOofConn:
+          type: integer
+    KPIMonitoring:
+      type: object
+      properties:
+        servAttrCom:
+          $ref: '#/components/schemas/ServAttrCom'
+        kPIList:
+          type: string
+    UserMgmtOpen:
+      type: object
+      properties:
+        servAttrCom:
+          $ref: '#/components/schemas/ServAttrCom'
+        support:
+          $ref: '#/components/schemas/Support'
+    V2XCommModels:
+      type: object
+      properties:
+        servAttrCom:
+          $ref: '#/components/schemas/ServAttrCom'
+        v2XMode:
+          $ref: '#/components/schemas/Support'
+    TermDensity:
+      type: object
+      properties:
+        servAttrCom:
+          $ref: '#/components/schemas/ServAttrCom'
+        density:
+          type: integer
+    NsInfo:
+      type: object
+      properties:
+        nsInstanceId:
+          type: string
+        nsName:
+          type: string
+    ServiceProfile:
+      type: object
+      properties:
+          serviceProfileId: 
+            type: string
+          plmnInfoList:
+            $ref: 'nrNrm.yaml#/components/schemas/PlmnInfoList'
+          maxNumberofUEs:
+            type: number
+          latency:
+            type: number
+          uEMobilityLevel:
+            $ref: '#/components/schemas/MobilityLevel'
+          sst:
+            $ref: 'nrNrm.yaml#/components/schemas/Sst'
+          networkSliceSharingIndicator:
+            $ref: '#/components/schemas/NetworkSliceSharingIndicator'
+          availability:
+            type: number
+          delayTolerance:
+            $ref: '#/components/schemas/DelayTolerance'
+          deterministicComm:
+            $ref: '#/components/schemas/DeterministicComm'
+          dLThptPerSlice:
+            $ref: '#/components/schemas/DLThptPerSlice'
+          dLThptPerUE:
+            $ref: '#/components/schemas/DLThptPerUE'
+          uLThptPerSlice:
+            $ref: '#/components/schemas/ULThptPerSlice'
+          uLThptPerUE:
+            $ref: '#/components/schemas/ULThptPerUE'
+          maxPktSize:
+            $ref: '#/components/schemas/MaxPktSize'
+          maxNumberofConns:
+            $ref: '#/components/schemas/MaxNumberofConns'
+          kPIMonitoring:
+            $ref: '#/components/schemas/KPIMonitoring'
+          userMgmtOpen:
+            $ref: '#/components/schemas/UserMgmtOpen'
+          v2XModels:
+            $ref: '#/components/schemas/V2XCommModels'
+          coverageArea:
+            type: string
+          termDensity:
+            $ref: '#/components/schemas/TermDensity'
+          activityFactor:
+            $ref: '#/components/schemas/Float'
+          uESpeed:
+            type: integer
+          jitter:
+            type: integer
+          survivalTime:
+            type: string
+          reliability:
+            type: string
+    SliceProfile:
+      type: object
+      properties:
+          sliceProfileId:
+            type: string
+
+          plmnInfoList:
+            $ref: 'nrNrm.yaml#/components/schemas/PlmnInfoList'
+          perfReq:
+            $ref: '#/components/schemas/PerfReq'
+          maxNumberofUEs:
+            type: number
+          coverageAreaTAList:
+            $ref: '5gcNrm.yaml#/components/schemas/TACList'
+          latency:
+            type: number
+          uEMobilityLevel:
+            $ref: '#/components/schemas/MobilityLevel'
+          resourceSharingLevel:
+            $ref: '#/components/schemas/SharingLevel'
+
+    IpAddress:
+      oneOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Ipv4Addr'
+        - $ref: 'genericNrm.yaml#/components/schemas/Ipv6Addr'
+    ServiceProfileList:
+       type: array
+       items:
+        $ref: '#/components/schemas/ServiceProfile'
+            
+    SliceProfileList:
+      type: array
+      items:
+        $ref: '#/components/schemas/SliceProfile'
+
+#------------ Definition of concrete IOCs ----------------------------------------
+
+    SubNetwork-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-Attr'
+        - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-ncO'
+        - type: object
+          properties:
+            SubNetwork:
+              $ref: '#/components/schemas/SubNetwork-Multiple'
+            NetworkSlice:
+              $ref: '#/components/schemas/NetworkSlice-Multiple'
+            NetworkSliceSubnet:
+              $ref: '#/components/schemas/NetworkSliceSubnet-Multiple'
+            EP_Transport:
+              $ref: '#/components/schemas/EP_Transport-Multiple'
+
+    NetworkSlice-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-Attr'
+                - type: object
+                  properties:
+                    networkSliceSubnetRef:
+                      $ref: 'comDefs.yaml#/components/schemas/Dn'
+                    operationalState:
+                      $ref: 'comDefs.yaml#/components/schemas/OperationalState'
+                    administrativeState:
+                      $ref: 'comDefs.yaml#/components/schemas/AdministrativeState'
+                    serviceProfileList:
+                      $ref: '#/components/schemas/ServiceProfileList'
+
+    NetworkSliceSubnet-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              allOf:
+                - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-Attr'
+                - type: object
+                  properties:
+                    managedFunctionRefList:
+                      $ref: 'comDefs.yaml#/components/schemas/DnList'
+                    networkSliceSubnetRefList:
+                      $ref: 'comDefs.yaml#/components/schemas/DnList'
+                    operationalState:
+                      $ref: 'comDefs.yaml#/components/schemas/OperationalState'
+                    administrativeState:
+                      $ref: 'comDefs.yaml#/components/schemas/AdministrativeState'
+                    nsInfo:
+                      $ref: '#/components/schemas/NsInfo'
+                    sliceProfileList:
+                      $ref: '#/components/schemas/SliceProfileList'
+                    epTransportRefList:
+                      $ref: 'comDefs.yaml#/components/schemas/DnList'
+
+    EP_Transport-Single:
+      allOf:
+        - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr'
+        - type: object
+          properties:
+            attributes:
+              type: object
+              properties:
+                ipAddress:
+                  $ref: '#/components/schemas/IpAddress'
+                logicInterfaceId:
+                  type: string 
+                nextHopInfo:
+                  type: string 
+                qosProfile:
+                  type: string 
+                epApplicationRefs:
+                  $ref: 'comDefs.yaml#/components/schemas/DnList'
+                      
+#-------- Definition of JSON arrays for name-contained IOCs ----------------------
+    SubNetwork-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/SubNetwork-Single'
+
+    NetworkSlice-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/NetworkSlice-Single'
+
+    NetworkSliceSubnet-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/NetworkSliceSubnet-Single'
+
+    EP_Transport-Multiple:
+      type: array
+      items:
+        $ref: '#/components/schemas/EP_Transport-Single'
+
+#------------ Definitions in TS 28.541 for TS 28.532 -----------------------------
+
+    resources-sliceNrm:
+      oneOf:
+       - $ref: '#/components/schemas/SubNetwork-Single'
+       - $ref: '#/components/schemas/NetworkSlice-Single'
+       - $ref: '#/components/schemas/NetworkSliceSubnet-Single'
+       - $ref: '#/components/schemas/EP_Transport-Single'
index a2c7c56..32451cd 100644 (file)
@@ -24,4 +24,20 @@ metadata:
   name: {{ include "common.release" . }}-dcae-expected-microservices
   namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/*").AsConfig . | indent 2 }}
\ No newline at end of file
+{{ tpl (.Files.Glob "resources/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.release" . }}-dcae-external-repo-configmap-schema-map
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ (.Files.Glob "resources/external/map/*").AsConfig | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.release" . }}-dcae-external-repo-configmap-sa91-rel16
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ (.Files.Glob "resources/external/schema/sa91-rel16/*").AsConfig | indent 2 }}
\ No newline at end of file
index 929b380..f2826a7 100644 (file)
@@ -55,7 +55,7 @@ spec:
       volumes:
         - name: schema-map
           configMap:
-            name: dcae-external-repo-configmap-schema-map
+            name: {{ include "common.release" . }}-dcae-external-repo-configmap-schema-map
             defaultMode: 0755
             items:
               - key: {{ .Values.schemaMap.filename }}
diff --git a/kubernetes/dcaegen2/resources/external/map/schema-map.json b/kubernetes/dcaegen2/resources/external/map/schema-map.json
deleted file mode 100644 (file)
index a70c597..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-[
-  {
-    "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/faultMnS.yaml",
-    "localURL": "3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/faultMnS.yaml"
-  },
-  {
-    "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/heartbeatNtf.yaml",
-    "localURL": "3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/heartbeatNtf.yaml"
-  },
-  {
-    "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/PerDataFileReportMnS.yaml",
-    "localURL": "3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/PerDataFileReportMnS.yaml"
-  },
-  {
-    "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/provMnS.yaml",
-    "localURL": "3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/provMnS.yaml"
-  }
-]
\ No newline at end of file
index a9917a5..8a389ed 100644 (file)
@@ -24,19 +24,3 @@ metadata:
   namespace: {{ include "common.namespace" . }}
 data:
 {{ tpl (.Files.Glob "resources/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: dcae-external-repo-configmap-schema-map
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ (.Files.Glob "resources/external/map/*").AsConfig | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: dcae-external-repo-configmap-sa88-rel16
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ (.Files.Glob "resources/external/schema/rel16/*").AsConfig | indent 2 }}