Commit 0d41787d authored by ruiyue's avatar ruiyue
Browse files

Upload New File

parent fa1e1a06
Loading
Loading
Loading
Loading
Loading
+157 −0
Original line number Diff line number Diff line
openapi: 3.0.1
info:
  title: File Management NRM
  version: 18.2.0
  description: >-
    OAS 3.0.1 definition of the File Management NRM fragment
    © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.
externalDocs:
  description: 3GPP TS 28.623; Generic NRM
  url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.623/
paths: {}
components:
  schemas:
#-------- Definition of types-----------------------------------------------------
    FileDownloadJobProcessMonitor:
      description: >-
        This data type is the "ProcessMonitor" data type with specialisations
        for usage in the "FileDownloadJob".
      type: object
      properties:
        jobId:
          type: string
        status:
          type: string
          enum:
            - NOT_STARTED
            - RUNNING
            - FINSHED
            - FAILED
            - CANCELLING
            - CANCELLED
        progressPercentage:
          type: integer
          minimum: 0
          maximum: 100
        progressStateInfo:
          type: string
        resultStateInfo:
          oneOf:
            - type: string
              enum:
                - NULL
                - UNKNOWN
                - NO_STORAGE
                - LOW_MEMROY
                - NO_CONNECTION_TO_REMOTE_SERVER
                - FILE_NOT_AVAILABLE
                - DNS_CANNOT_BE_RESOLVED
                - TIMER_EXPIRED
                - OTHER
            - type: string
        startTime:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime'
        endTime:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime'
        timer:
          type: integer

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


    FileDownloadJob-Single:
      allOf:
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              type: object
              properties:
                fileLocation:
                  type: string
                notificationRecipientAddress:
                  $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri'
                cancelJob:
                  type: string
                  enum:
                    - TRUE
                    - FALSE
                jobMonitor:
                  $ref: '#/components/schemas/FileDownloadJobProcessMonitor'
    Files-Single:
      allOf:
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              type: object
              properties:
                numberOfFiles:
                  type: integer
                jobRef:
                  $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
                jobId:
                  type: string
                File:
                  $ref: '#/components/schemas/File-Multiple'
    File-Single:
      allOf:
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              type: object
              properties:
                fileLocation:
                  $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri'
                fileCompression:
                  type: string
                fileSize:
                  type: integer
                fileDataType:
                  type: string
                  enum:
                    - PERFORMANCE
                    - TRACE
                    - ANALYTICS
                    - PROPRIETARY
                fileFormat:
                  type: string
                fileReadyTime:
                  $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime'
                fileExpirationTime:
                  $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime'
                fileContent:
                  type: string
                jobRef:
                  $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
                jobId:
                  type: string
 
            

#-------- Definition of YAML arrays for name-contained IOCs ----------------------

    FileDownloadJob-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/FileDownloadJob-Single'
    Files-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/Files-Single'
    File-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/File-Single'



#-------- Definitions in TS 28.623 for TS 28.532 ---------------------------------
    resources-FileMgmtNrm:
      oneOf:
       - $ref: '#/components/schemas/FileDownloadJob-Single'
       - $ref: '#/components/schemas/Files-Single'    
       - $ref: '#/components/schemas/File-Single'