Commit 88b57f66 authored by zhaoxxian's avatar zhaoxxian Committed by ruiyue
Browse files

initial NDT NRM stage 3

parent 9a3eeac5
Loading
Loading
Loading
Loading
+199 −0
Original line number Diff line number Diff line
openapi: 3.0.1
info:
  title: NDT NRM
  version: 19.0.0
  description: >-
    OAS 3.0.1 definition of the NDT NRM
    © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.
externalDocs:
  description: 3GPP TS 28.561; Management aspects of Network Digital Twins
  url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.561/
paths: {}
components:
  schemas:

  #-------- Definition of types for name-containments ------
    SubNetwork-ncO-NDTNrm:
      type: object
      properties:
        NDTFunction:
          $ref: '#/components/schemas/NDTFunction-Multiple'

   #-------Definition of generic IOCs ----------#  
    NDTFunction-Single:
      description: >-
        This IOC represents the properties of an NDT Function  
      allOf:
      - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'    
      - type: object
        properties:
          supportedNDTCapabilities:
            type: array
            uniqueItems: true
            items:
              enum:
                - RISKY-ACTIONS_PREDICTION
                - EVENTS-IMPACTS_VERIFICATION
                - FAULT_INJECTION
                - NETWORK_EVENTS_VERIFICATION
                - NETWORK_CONFIGURATIONS_VERIFICATION
                - AUTOMATION_CONFIGURATION_VERIFICATION
                - ML-TRAINING_DATA_GENERATION
                - USER_EXPERIENCE_DATA_GENERATION
            description: >-
              It indicates the different types of NDT application use cases which the NDT is capable of undertaking..
              New values can be added to this list in future releases to support new use cases.
          nDTFunctionScope:
            $ref: "#/components/schemas/NDTFunctionScope"

    NDTJob-Single:
      description: >-
        This IOC represents the properties of an NDT job demand created by an MnS consumer. An NDT job represents the requirements for a network simulation/emulation task  
      allOf:
      - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'    
      - type: object
        properties:
          nDTCapability:
            type: string
            enum:
              - RISKY-ACTIONS_PREDICTION
              - EVENTS-IMPACTS_VERIFICATION
              - FAULT_INJECTION
              - NETWORK_EVENTS_VERIFICATION
              - NETWORK_CONFIGURATIONS_VERIFICATION
              - AUTOMATION_CONFIGURATION_VERIFICATION
              - ML-TRAINING_DATA_GENERATION
              - USER_EXPERIENCE_DATA_GENERATION
            description: >-
              It indicates the type of application use cases that is desired to be executed. 
              New values can be added to this list in future releases to support new use cases.
          nDTJobSynchScope:
            $ref: "#/components/schemas/ScopeDefinition"
          nDTJobScenario:
            $ref: "#/components/schemas/NDTInputDescription"
          nDTJobExecutionRequirements:
            $ref: "#/components/schemas/NdtJobExecutionReqts"
          collaboratingNDT:
            description: >-
              It indicates the related NDT Job contributing as a collaborator to the executed NDT Job. It describes the DN of the collaborated NDT Job
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo'
          ndtReportRefList:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo'

    NDTReport-Single:
      description: >-
        This IOC represents the properties of an NDT report corresponding to an NDT job  
      allOf:
      - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'    
      - type: object
        properties:
          nDTJobOutputData:
            type: array
            uniqueItems: true
            items:
              $ref: "#/components/schemas/NDTOutputDataPoint"
            description: It indicates the list of NDTOutput(s) that are provided by the NDT function as the output for any task executed in an instantiated NDT job.
          ndtJobRef:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo'
          ndtFunctionRef:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo'

   #-------Definition of the dataType ----------#
    NDTFunctionScope:  
      type: object
      properties:
        nDTRANScope:
          $ref: '#/components/schemas/ScopeDefinition'
        nDTCNScope:
          $ref: "#/components/schemas/ScopeDefinition"
    NDTInputDescription:  
      type: object
      properties:
        nDTInputDescriptionId:
          type: string
        simulationData:
          type: array
          uniqueItems: true
          items:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet'
        networkEventInfo:
          type: string
        condition:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo'
    NDTOutputDescription:  
      type: object
      properties:
        nDTOutputDescriptionId:
          type: string
        objectInstance:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo'
        objectAttributeList:
          type: array
          uniqueItems: true
          items:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet'
    ScopeDefinition:
      type: object
      oneOf:
        - required: [ managedEntitiesScope ]
        - required: [ areaScope ]
      properties:
        managedEntitiesScope:
          type: array
          uniqueItems: true
          items:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo'
        areaScope:
          type: array
          uniqueItems: true
          items:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea'
    NdtJobExecutionReqts:  
      type: object
      properties:
        maxRuntime:
          type: integer
    NDTOutputDataPoint:  
      type: object
      properties:
        networkState:
          type: array
          uniqueItems: true
          items:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/NDTOutputDescription'
        networkConfiguration:
          type: array
          uniqueItems: true
          items:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/NDTOutputDescription'
        observations:
          type: array
          uniqueItems: true
          items:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/NDTOutputDescription'

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

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

    NDTReport-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/NDTReport-Single'
   
    NDTFunction-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/NDTFunction-Single'
   #------Definition of JSON arrays for name-contained IOCs ---------------#
   
   #----- Definitions in TS 28.561 for TS 28.532 --------------------------#
    resources-intentNrm:
      oneOf:
       - $ref: '#/components/schemas/NDTFunction-Single'       
       - $ref: '#/components/schemas/NDTJob-Single'
       - $ref: '#/components/schemas/NDTReport-Single'