VES stndDefined PM streaming OpenAPI 26/6926/5
authordemx8as6 <martin.skorupski@highstreet-technologies.com>
Sun, 24 Oct 2021 14:23:16 +0000 (16:23 +0200)
committerMartin Skorupski <martin.skorupski@highstreet-technologies.com>
Mon, 1 Nov 2021 12:22:55 +0000 (12:22 +0000)
- format yaml was choosen
- the pm-job config and status could be provided too.
- validated wiht online swagger editor.

IssueID: OAM-234
Change-Id: Idef5e08b86096f9489c13811a8d14ac0b7a73b13
Signed-off-by: demx8as6 <martin.skorupski@highstreet-technologies.com>
data-model/oas3/experimental/o-ran-sc-du-hello-world-pm-streaming-oas3.yaml [new file with mode: 0644]

diff --git a/data-model/oas3/experimental/o-ran-sc-du-hello-world-pm-streaming-oas3.yaml b/data-model/oas3/experimental/o-ran-sc-du-hello-world-pm-streaming-oas3.yaml
new file mode 100644 (file)
index 0000000..7b91191
--- /dev/null
@@ -0,0 +1,222 @@
+openapi: 3.0.3
+info:
+  version: 0.0.0
+  title: O-RAN-SC-DU PM Streaming
+  description: >-
+    The O-RAN-SC E-Release provides a mechanism for Performance Measurement
+    streaming.
+
+
+    The streaming interfaces depends on the o-ran-sc-du-hello-world.yang and
+    the schemas could be used as extension sot the VES domain 'stndDefind'.
+    The event message is send from a network-function to a SMO.
+
+
+    Copyright 2021 highstreet technologies GmbH
+
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+
+    reference: https://jira.o-ran-sc.org/browse/OAM-234.
+
+servers:
+  - url: https://management-service-consumer:8443/v1
+    description: The url of an event stream consumer.
+paths:
+  /performance-measurement-stream:
+    post:
+      description: Posts a collection of measurements.
+      summary: POST performance-measurement-stream
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/performance-measurement-job'
+        description: Collection of measurements.
+      responses:
+        '201':
+          description: Posted
+        '400':
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-response'
+        '401':
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-response'
+        '403':
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-response'
+        '404':
+          description: Not Found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-response'
+        '405':
+          description: Method Not allowed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-response'
+        '409':
+          description: Conflict
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-response'
+        '500':
+          description: Internal Server Error
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-response'
+        default:
+          description: Error case.
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-response'
+components:
+  schemas:
+    error-response:
+      description: >-
+        Used when an API throws an error with a HTTP error response-code (3xx,
+        4xx, 5xx)
+      type: object
+      required:
+        - reason
+      properties:
+        reason:
+          type: string
+          description: >-
+            Explanation of the reason for the error which can be shown to a
+            human user.
+        message:
+          type: string
+          description: >-
+            More details and corrective actions related to the error which can
+            be shown to a human user.
+        documentation-reference:
+          type: string
+          format: uri
+          description: URI of describing the error.
+    measurement:
+      description: An abstract object class of a measurement.
+      type: object
+      required:
+        - measurement-type-instance-reference
+        - value
+      properties:
+        measurement-type-instance-reference:
+          type: string
+          description: >-
+            A YANG instance identifier for a supported measurement type
+            according to the definitions in o-ran-sc-du-hello-world.yang.
+
+            Example for average downlink user equipment throughput per cell
+            /network-function/distributed-unit-functions[id='<id-value>']/cell[id='<id-value']/supported-measurements/performance-measurement-type[.='user-equipment-average-throughput-downlink']
+
+            Example for a specific slice-differentiator (here sd=12345) subcounter of average downlink user equipment throughput
+            /network-function/distributed-unit-functions[id='<id-value>']/cell[id='<id-value']/supported-measurements/performance-measurement-type[.='user-equipment-average-throughput-downlink']/supported-snssai-subcounter-instances/slice-differentiator[.=12345]";
+        value:
+          oneOf:
+            - type: boolean
+              description: A boolean value for the measurement.
+            - type: integer
+              description: A integer value for the measurement.
+            - type: number
+              description: A number value for the measurement.
+            - type: string
+              description: A string value for the measurement.
+          description: 'The value of the measurement type for its period. '
+        unit:
+          type: string
+          maxLength: 255
+          description: >-
+            The unit for the measurement. If there is a unit associated to the
+            measurement the network-function MUST provide this field. It is
+            recommended to follow International System of Units (SI).
+    measurements:
+      description: A collection of measurements.
+      type: array
+      items:
+        $ref: '#/components/schemas/measurement'
+    performance-measurement-job:
+      description: The performance measurement job header and a collection of measurements.
+      type: object
+      required:
+        - id
+        - start-time
+        - granularity-period
+        - measurements
+      properties:
+        id:
+          type: string
+          description: >-
+            The identifier configured by the event stream consumer within a
+            event stream provider for a performance-measurement-job.
+        start-time:
+          type: string
+          format: date-time
+          description: 'The timestamp when the measurement was started. '
+        administrative-state:
+          description: >-
+            Administrative state of an object. Indicates the permission to use
+            or prohibition against the object, imposed through the OAM services.
+          type: string
+          default: locked
+          enum:
+            - locked
+            - unlocked
+            - shutting-down
+        operational-state:
+          type: string
+          default: disabled
+          enum:
+            - enabled
+            - disabled
+          description: >-
+            Operational state of the object. Indicates whether the associated
+            resource is installed and partially or fully operable (enabled) or
+            the associated resource is not installed or not operable (disabled).
+        user-label:
+          type: string
+          maxLength: 255
+          description: >-
+            A user defined label of the object. There is no function associated
+            to the user label. However, the network function stores the value
+            persistently.
+        job-tag:
+          type: string
+          maxLength: 255
+          description: >-
+            A job group identifier to combine several
+            performance-measurement-jobs to one logical job.
+        granularity-period:
+          type: number
+          format: int32
+          description: >-
+            The interval time in seconds between the start of a measurement and
+            the end of a measurement
+        measurements:
+          $ref: '#/components/schemas/measurements'
+          description: The collection of measurements.