From e6c4ead5fd46682c44ba3f731103c083a1fb624b Mon Sep 17 00:00:00 2001 From: Jan Groenendijk Date: Mon, 17 May 2021 11:06:34 +0200 Subject: [PATCH] Update coslaNrm.yaml, update references for operational and administrative state --- OpenAPI/coslaNrm.yaml | 185 +++++++++++++++++++++++------------------- 1 file changed, 103 insertions(+), 82 deletions(-) diff --git a/OpenAPI/coslaNrm.yaml b/OpenAPI/coslaNrm.yaml index 6aae2f61c..6862dff42 100644 --- a/OpenAPI/coslaNrm.yaml +++ b/OpenAPI/coslaNrm.yaml @@ -1,4 +1,4 @@ -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 - 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 + type: string + enum: + - PREPARATION + - COMMISSIONING + - OPERATION + - DECOMMISSIONING ObservationTime: type: integer - ObservationTimePeriod: - type: object - - AssuranceControlLoopGoal: - type: object - - AssuranceGoalStatus: - type: object - AssuranceGoalStatusObserved: - type: object - + type: string + enum: + - FULFILLED + - NOT_FULFILLED + AssuranceGoalStatusPredicted: + type: string + enum: + - FULFILLED + - NOT_FULFILLED + + AssuranceTarget: type: object + properties: + assuranceTargetName: + type: string + assuranceTargetValue: + type: string + + AssuranceTargetList: + type: array + items: + $ref: '#/components/schemas/AssuranceTarget' + #-------- 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/SubNetwork-Attr' + - $ref: 'genericNrm.yaml#/components/schemas/Top' - type: object properties: - operationalState: - $ref: '#/components/schemas/OperationalState' - administrativeState: - $ref: '#/components/schemas/AdministrativeState' - controlLoopLifeCyclePhase: - $ref: '#/components/schemas/ControlLoopLifeCyclePhase' - observationTimePeriod: + attributes: + type: object + properties: + operationalState: + $ref: 'genericNrm.yaml#/components/schemas/OperationalState' + administrativeState: + $ref: 'genericNrm.yaml#/components/schemas/AdministrativeState' + controlLoopLifeCyclePhase: + $ref: '#/components/schemas/ControlLoopLifeCyclePhase' + AssuranceGoal: + $ref: '#/components/schemas/AssuranceGoal-Multiple' + + AssuranceGoal-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: allOf: - - $ref: '#/components/schemas/ObservationTimePeriod' - type: object properties: observationTime: $ref: '#/components/schemas/ObservationTime' - timeUnit: - $ref: '#/components/schemas/TimeUnit' - AssuranceGoalStatus: - allOf: - - $ref: '#/components/schemas/AssuranceGoalStatus' - - type: object - properties: + 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' - - ManagedEntity-Multiple: + $ref: '#/components/schemas/AssuranceClosedControlLoop-Single' + + 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 -- GitLab