diff --git a/OpenAPI/intentNrm.yaml b/OpenAPI/intentNrm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5c28cc77a3e7548188796fbef3192eae93ed6920 --- /dev/null +++ b/OpenAPI/intentNrm.yaml @@ -0,0 +1,383 @@ +openapi: 3.0.2 +info: + title: Intent NRM + description: OAS 3.0.1 specification of the Intent NRM + version: 17.0.0 +paths: {} +components: + schemas: + + Intent-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top' + - type: object + properties: + userLabel: + type: string + intentExpectations: + type: array + items: + $ref: "#/components/schemas/IntentExpectation" + intentContexts: + type: array + items: + $ref: "#/components/schemas/IntentContext" + intentFulfilStatus: + $ref: "#/components/schemas/IntentFulfilStatus" + IntentExpectation: + type: object + properties: + expectationId: + type: string + expectationObjects: + type: array + items: + $ref: "#/components/schemas/ExpectationObject" + expectationTargets: + type: array + items: + $ref: "#/components/schemas/ExpectationTarget" + expectationContexts: + type: array + items: + $ref: "#/components/schemas/ExpectationContext" + + ExpectationObject: + type: object + properties: + objectType: + type: string + enum: + - RAN_SubNetwrok #--value for Radio Network Expectation--# + - TBD #-This will be added based on defined scenario specfic intent expectation-# + objectInstance: + $ref: "comDefs.yaml#/components/schemas/Dn" + objectContexts: + type: array + items: + $ref: "#/components/schemas/ObjectContext" + + ExpectationTarget: + oneOf: + #--ExpectationTargets defind for Radio Network Expectation (ObjectType is RAN_SubNetwork)- # + - $ref: "#/components/schemas/WeakRSRPRatioTarget" + - $ref: "#/components/schemas/LowSINRRatioTarget" + - $ref: "#/components/schemas/AveULRANUEThptTarget" + - $ref: "#/components/schemas/AveDLRANUEThptTarget" + - $ref: "#/components/schemas/LowULRANUEThptRatioTarget" + - $ref: "#/components/schemas/LowDLRANUEThptRatioTarget" + #--ExpectationTargets defind for Radio Network Expectation (ObjectType is RAN_SubNetwork)- # + + #--ExpectationTargets defind for other Scenario specific Expectation-----TBD---------------# + #--ExpectationTargets defind for other Scenario specific Expectation-----TBD---------------# + + + ObjectContext: + oneOf: + #--ObjectContext defind for Radio Network Expectation (ObjectType is RAN_SubNetwork)-------# + - $ref: "#/components/schemas/CoverageAreaPolygonContext" + - $ref: "#/components/schemas/CoverageTACContext" + - $ref: "#/components/schemas/PLMNContext" + - $ref: "#/components/schemas/NRFqBandContext" + - $ref: "#/components/schemas/RATContext" + #--ObjectContext defind for Radio Network Expectation (ObjectType is RAN_SubNetwork)------# + + #--ObjectContext defind for other Scenario specific Expectation -----------TBD------------# + #--ObjectContext defind for other Scenario specific Expectation -----------TBD------------# + + + + ExpectationContext: + type: object + properties: + contextAttribute: + type: string + contextCondition: + $ref: "#/components/schemas/Condition" + contextValueRange: + type: array + items: + type: number + + IntentContext: + type: object + properties: + contextAttribute: + type: string + contextCondition: + $ref: "#/components/schemas/Condition" + contextValueRange: + type: array + items: + type: number + Condition: + type: string + enum: + - Is_equal_to + - Is_less_than + - Is_greater_than + - Is_within_the_range + + IntentFulfilStatus: + type: string + enum: + - FULFILLED + - NOT_FULFILLED + #-------Definition of the concrete ExpectationTarget dataType----------# + WeakRSRPRatioTarget: + type: object + properties: + targetName: + type: string + enum: + - WeakRSRPRatio + targetCondition: + type: string + enum: + - Is_less_than + targetValueRange: + type: integer + minimum: 0 + maximum: 100 + targetContexts: + $ref: "#/components/schemas/WeakRSRPContext" + + WeakRSRPContext: + type: object + properties: + contextAttribute: + type: string + enum: + - WeakRSRPThreshold + contextCondition: + type: string + enum: + - Is_less_than + contextValueRange: + type: number + + LowSINRRatioTarget: + type: object + properties: + targetName: + type: string + enum: + - LowSINRRatio + targetCondition: + type: string + enum: + - Is_less_than + targetValueRange: + type: integer + minimum: 0 + maximum: 100 + targetContexts: + $ref: "#/components/schemas/LowSINRContext" + + LowSINRContext: + type: object + properties: + contextAttribute: + type: string + enum: + - LowSINRThreshold + contextCondition: + type: string + enum: + - Is_less_than + contextValueRange: + type: integer + + AveULRANUEThptTarget: + type: object + properties: + targetName: + type: string + enum: + - AveULRANUEThpt + targetCondition: + type: string + enum: + - Is_greater_than + targetValueRange: + type: integer + + AveDLRANUEThptTarget: + type: object + properties: + targetName: + type: string + enum: + - AveDLRANUEThpt + targetCondition: + type: string + enum: + - Is_greater_than + targetValueRange: + type: integer + + LowULRANUEThptRatioTarget: + type: object + properties: + targetName: + type: string + enum: + - LowULRANUEThptRatio + targetCondition: + type: string + enum: + - Is_less_than + targetValueRange: + type: integer + minimum: 0 + maximum: 100 + targetContexts: + $ref: "#/components/schemas/LowULRANUEThptContext" + + LowULRANUEThptContext: + type: object + properties: + contextAttribute: + type: string + enum: + - LowULRANUEThptThreshold + contextCondition: + type: string + enum: + - Is_less_than + contextValueRange: + type: number + + LowDLRANUEThptRatioTarget: + type: object + properties: + targetName: + type: string + enum: + - LowDLRANUEThptRatio + targetCondition: + type: string + enum: + - Is_less_than + targetValueRange: + type: integer + minimum: 0 + maximum: 100 + targetContexts: + $ref: "#/components/schemas/LowDLRANUEThptContext" + + LowDLRANUEThptContext: + type: object + properties: + contextAttribute: + type: string + enum: + - LowDLRANUEThptThreshold + contextCondition: + type: string + enum: + - Is_less_than + contextValueRange: + type: number + #-------Definition of the concrete ExpectationTarget dataType----------# + + #-------Definition of the concrete ObjectTarget dataType----------------# + CoverageAreaPolygonContext: + type: object + properties: + contextAttribute: + type: string + enum: + - CoverageAreaPolygon + contextCondition: + type: string + enum: + - Is_within_the_range + contextValueRange: + type: array + items: + $ref: "#/components/schemas/CoverageArea" + CoverageArea: + type: string + CoverageTACContext: + type: object + properties: + contextAttribute: + type: string + enum: + - CoverageAreaTac + contextCondition: + type: string + enum: + - Is_within_the_range + contextValueRange: + type: array + items: + $ref: "nrNrm.yaml#/components/schemas/NrTac" + + PLMNContext: + type: object + properties: + contextAttribute: + type: string + enum: + - PLMN + contextCondition: + type: string + enum: + - Is_within_the_range + contextValueRange: + type: array + items: + $ref: "nrNrm.yaml#/components/schemas/PlmnId" + + NRFqBandContext: + type: object + properties: + contextAttribute: + type: string + enum: + - NRFqBand + contextCondition: + type: string + enum: + - Is_within_the_range + contextValueRange: + type: array + items: + type: string + + RATContext: + type: object + properties: + contextAttribute: + type: string + enum: + - RAT + contextCondition: + type: string + enum: + - Is_within_the_range + contextValueRange: + type: array + items: + type: string + enum: + - UTRAN + - EUTRAN + - NR + #-------Definition of the concrete ObjectTarget dataType----------------# + + #------Definition of JSON arrays for name-contained IOCs ---------------# + + Intent-Multiple: + type: array + items: + $ref: '#/components/schemas/Intent-Single' + #------Definition of JSON arrays for name-contained IOCs --------------# + + #----- Definitions in TS 28.312 for TS 28.532 --------------------------# + resources-intentNrm: + oneOf: + - $ref: '#/components/schemas/Intent-Single' + #----- Definitions in TS 28.312 for TS 28.532 --------------------------#