Commit e6c4ead5 authored by Jan Groenendijk's avatar Jan Groenendijk
Browse files

Update coslaNrm.yaml, update references for operational and administrative state

parent 77254b29
Loading
Loading
Loading
Loading
+103 −82
Original line number Diff line number Diff line
openapi: 3.0.3
openapi: 3.0.2

info:
  title: coslaNrm
@@ -9,7 +9,7 @@ info:
    All rights reserved.

externalDocs:
  description: 3GPP TS 28.536 V16.4.0; 5G NRM, Slice NRM
  description: 3GPP TS 28.536 V16.4.0; Cosla NRM
  url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.536/

paths: {}
@@ -21,111 +21,132 @@ components:
#------------ Type definitions ---------------------------------------------------

    ControlLoopLifeCyclePhase:
      anyOf: 
        - type: string
      type: string
      enum:
        - PREPARATION
        - COMMISSIONING
        - OPERATION
        - DECOMMISSIONING
        - type: string

    TimeUnit:
      anyOf:
        - type: string
          enum:
            - SECOND
            - MINUTE
            - HOUR
            - DAY
        - type: string

    OperationalState:
      anyOf:
        - type: string
          enum: 
            - ENABLED
            - DISABLED
        - type: string

    AdministrativeState:
      anyOf:
        - type: string
          enum: 
            - LOCKED
            - SHUTTING_DOWN
            - UNLOCKED
        - type: string

    ObservationTime:
      type: integer

    ObservationTimePeriod:
      type: object
    AssuranceGoalStatusObserved:
      type: string
      enum:
        - FULFILLED
        - NOT_FULFILLED

    AssuranceControlLoopGoal:
      type: object
    AssuranceGoalStatusPredicted:
      type: string
      enum:
        - FULFILLED
        - NOT_FULFILLED

    AssuranceGoalStatus:
    AssuranceTarget:
      type: object
      properties:
        assuranceTargetName:
          type: string
        assuranceTargetValue:
          type: string
         
    AssuranceGoalStatusObserved:
      type: object
    AssuranceTargetList:
      type: array
      items:
         $ref: '#/components/schemas/AssuranceTarget'

    AssuranceGoalStatusPredicted:
      type: object

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

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

    AssuranceClosedControlLoop-Single:
      allOf:
        - $ref: 'genericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              type: object
              properties:
                    operationalState:
              $ref: '#/components/schemas/OperationalState'
                      $ref: 'genericNrm.yaml#/components/schemas/OperationalState'
                    administrativeState:
              $ref: '#/components/schemas/AdministrativeState'
                      $ref: 'genericNrm.yaml#/components/schemas/AdministrativeState'
                    controlLoopLifeCyclePhase:
                      $ref: '#/components/schemas/ControlLoopLifeCyclePhase'
            observationTimePeriod:
            AssuranceGoal:
              $ref: '#/components/schemas/AssuranceGoal-Multiple'

    AssuranceGoal-Single:
      allOf:
                - $ref: '#/components/schemas/ObservationTimePeriod'
        - $ref: 'genericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
                    observationTime:
                      $ref: '#/components/schemas/ObservationTime'
                    timeUnit:
                      $ref: '#/components/schemas/TimeUnit'    
            AssuranceGoalStatus:
            attributes:
              allOf:
                - $ref: '#/components/schemas/AssuranceGoalStatus'
                - type: object
                  properties:
                    observationTime:
                      $ref: '#/components/schemas/ObservationTime'
                    assuranceTargetList:
                      $ref: '#/components/schemas/AssuranceTargetList'
                    assuranceGoalStatusObserved:
                      $ref: '#/components/schemas/AssuranceGoalStatusObserved'
                    assuranceGoalStatusPredicted:
                      $ref: '#/components/schemas/AssuranceGoalStatusPredicted'
            managedEntity-Multiple:
              $ref: '#/components/schemas/ManagedEntity-Multiple'
            assuranceControlLoopGoal:
              $ref: '#/components/schemas/AssuranceControlLoopGoal'

    ManagedEntity-Single:
      oneOf:
        - $ref: 'sliceNrm.yaml#/components/schemas/NetworkSlice-Single'
        - $ref: 'sliceNrm.yaml#/components/schemas/NetworkSliceSubnet-Single'
        - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr'
        - $ref: 'genericNrm.yaml#/components/schemas/ManagedElement-Attr'
                    serviceProfileId:
                      type: string
                    sliceProfileId:
                      type: string
                    networkSliceRef:
                      $ref: 'comDefs.yaml#/components/schemas/Dn'
                    networkSliceSubnetRef:
                      $ref: 'comDefs.yaml#/components/schemas/Dn' 
                      
#-------- Definition of JSON arrays for name-contained IOCs ----------------------
                                
    AssuranceControlLoop-Multiple:
    AssuranceClosedControlLoop-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/AssuranceControlLoop-Single'                 
        $ref: '#/components/schemas/AssuranceClosedControlLoop-Single'                 
               
    ManagedEntity-Multiple:
    AssuranceGoal-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/ManagedEntity-Single'      
        $ref: '#/components/schemas/AssuranceGoal-Single'   

#------------ Definitions in TS 28.536 for TS 28.623 ----------------------------- 

    resources-coslaNrm:
      oneOf:
       - $ref: '#/components/schemas/AssuranceClosedControlLoop-Single'
       - $ref: '#/components/schemas/AssuranceGoal-Single'    
       - $ref: '#/components/schemas/SubNetwork-Single'
       - $ref: '#/components/schemas/ManagedElement-Single'
 No newline at end of file