Commit 1fdab103 authored by yaoyiz's avatar yaoyiz Committed by sunse
Browse files

Add new file

parent 2cf9daf8
Loading
Loading
Loading
Loading

OpenAPI/mdaNrm.yaml

0 → 100644
+216 −0
Original line number Diff line number Diff line
openapi: 3.0.1
info:
  title: MDA NRM
  version: 17.0.0
  description: >-
    OAS 3.0.1 specification of the MDA NRM
    © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.
externalDocs:
  description: 3GPP TS 28.104; MDA 
  url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.104/
paths: {}
components:
  schemas:

#-------- Definition of types-----------------------------------------------------

    MDATypes:
      type: array
      items:
        type: string

    MDAOutputs:
      type: array
      items:
        $ref: '#/components/schemas/MDAOutputPerMDAType'

    MDAOutputPerMDAType:
      type: object
      properties:
        mDAType:
          type: string
        mDAOutputIEFilters:
          type: array
          items:
            $ref: '#/components/schemas/MDAOutputIEFilter'

    MDAOutputIEFilter:
      type: object
      properties:
        mDAOutputIEName:
          type: string
        filterValue:
          type: string
        threshold:
          $ref: 'genericNrm.yaml#/components/schemas/ThresholdInfo'
        analyticsPeriod:
          type: array
          items:
            $ref: 'comDefs.yaml#/components/schemas/DateTime'
        timeOut:
          $ref: 'comDefs.yaml#/components/schemas/DateTime'

    ReportingMethod:
      type: string
      enum:
        - FILE
        - STREAMING
        - NOTIFICATION

    ReportingTarget:
      $ref: 'comDefs.yaml#/components/schemas/Uri'

    AnalyticsScope:
      oneOf:
        - type: object
          properties:
            managedEntitiesScope:
              $ref: 'comDefs.yaml#/components/schemas/DnList'
        - type: object
          properties:
            areaScope:
              $ref: '#/components/schemas/GeoAreaList'

    GeoAreaList:
      type: array
      items:
        $ref: '#/components/schemas/GeoArea'

    GeoArea:
      type: object
      properties:
        coordinates:
          type: array
          items:
            $ref: '#/components/schemas/Coordinate'
        altitude:
          type: number
          format: float

    Coordinate:
      type: object
      properties:
        latitude:
          $ref: 'comDefs.yaml#/components/schemas/Latitude'
        longitude:
          $ref: 'comDefs.yaml#/components/schemas/Longitude'


#-------- Definition of abstract IOCs --------------------------------------------



#-------- Definition of concrete IOCs --------------------------------------------

    SubNetwork-Single:
      allOf:
        - $ref: 'genericNrm.yaml#/components/schemas/Top'
        - 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'
            MDAFunction:
              $ref: '#/components/schemas/MDAFunction-Multiple'
            MDAReport:
              $ref: '#/components/schemas/MDAReport-Multiple'


    ManagedElement-Single:
      allOf:
        - $ref: 'genericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              $ref: 'genericNrm.yaml#/components/schemas/ManagedElement-Attr'
        - $ref: 'genericNrm.yaml#/components/schemas/ManagedElement-ncO'
        - type: object
          properties:
            MDAFunction:
              $ref: '#/components/schemas/MDAFunction-Multiple'

    MDAFunction-Single:
      allOf:
        - $ref: 'genericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              allOf:
                - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
                - type: object
                  properties:
                    supportedMDACapabilities:
                      $ref: '#/components/schemas/MDATypes'
        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO'
        - type: object
          properties:
            MDARequest:
              $ref: '#/components/schemas/MDARequest-Multiple'

    MDARequest-Single:
      allOf:
        - $ref: 'genericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              allOf:
                - type: object
                  properties:
                    requestedMDAOutputs:
                      $ref: '#/components/schemas/MDAOutputs'
                    reportingMethod:
                      $ref: '#/components/schemas/ReportingMethod'
                    reportingTarget:
                      $ref: '#/components/schemas/ReportingTarget'
                    analyticsScope:
                      $ref: '#/components/schemas/AnalyticsScope'
                    startTime:
                      $ref: 'comDefs.yaml#/components/schemas/DateTime'
                    stopTime:
                      $ref: 'comDefs.yaml#/components/schemas/DateTime'

    MDAReport-Single:
      $ref: 'mdaReport.yaml#/components/schemas/MDAReport'


#-------- 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'
    MDAFunction-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/MDAFunction-Single'
    MDARequest-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/MDARequest-Single'

    MDAReport-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/MDAReport-Single'

#-------- Definitions in TS 28.104 for TS 28.532 ---------------------------------

    resources-mdaNrm:
      oneOf:
        - $ref: '#/components/schemas/SubNetwork-Single'
        - $ref: '#/components/schemas/ManagedElement-Single'

        - $ref: '#/components/schemas/MDAFunction-Single'
        - $ref: '#/components/schemas/MDARequest-Single'
        - $ref: '#/components/schemas/MDAReport-Single'