summaryrefslogtreecommitdiffstats
path: root/kubernetes/dcaegen2-services/resources/external/schemas/sa88-rel16/streamingDataMnS.yaml
blob: f57454f78edb198b2cba12240dc26bcbb09379ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
openapi: 3.0.1
info:
  title: TS 28.532 Streaming data reporting service
  version: 16.4.0
  description: OAS 3.0.1 specification for the Streaming data reporting service (Streaming MnS)
servers:
  - url: '{protocol}://{root}/StreamingDataReportingMnS/{version}'
    variables:
      protocol:
        description: Protocol used
        enum:
          - http
          - https
          - wss
        default: https
      root:
        description: Indicates the host name and optional port, and an optional sequence of path segments that together represent a prefix path.
        default: example.com
      version:
        description: Indicates the current version of the specification
        default: 16.4.0
paths:
  '/connections':
    post:
      summary: Inform consumer about reporting streams to be carried by the new connection and receive a new connection id.
      description: Exchange of meta-data (producer informs consumer about its own identity and the nature of the data to be reported via streaming) phase of the connection establishement by streaming data reporting producer to the streaming data reporting consumer (i.e. streaming target).
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/connectionRequest-Type'
      responses:
        '201':
          description: Success case (201 Created).
          headers:
            Location:
              description: Location of the created connection resource.
              schema:
                $ref: '#/components/schemas/connectionId-Type'
        default:
          description: Error case.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/failedConnectionResponse-Type'
    get:
      summary: Obtain information about connections.
      description: Enables the streaming data reporting service producer to obtain information about one or more streaming connections.
      parameters:
        - name: connectionIdList
          in: query
          description: The list of connectionId for which the connection information is to be returned.
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/connectionId-Type'
      responses:
        '200':
          description: Success case (200 OK). The resources identified in the request for retrieval are returned in the response message body. In case the fields query parameter is used, the selected resources are returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/connectionInfo-Type'
        '202':
          description: Partial success case (202 Partially retrieved). Subset of the resources identified in the request for retrieval are returned in the response message body.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/connectionInfo-Type'
        default:
          description: Error case.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse-Type'
  '/connections/{connectionId}':
    get:
      summary: Obtain information about a connection.
      description: Enables the streaming data reporting service producer to obtain information about one streaming connection.
      parameters:
        - name: connectionId
          in: path
          description: Indicate the ID (URI) of the connection for which the information is being retrieved
          required: true
          schema:
            $ref: '#/components/schemas/connectionId-Type'
        - name: Connection
          in: header
          schema:
            $ref: '#/components/schemas/websocketHeaderConnection-Type'
        - name: Sec-WebSocket-Extensions
          in: header
          schema:
            $ref: '#/components/schemas/websocketHeader-Sec-WebSocket-Extensions-Type'
        - name: Sec-WebSocket-Key
          in: header
          schema:
            $ref: '#/components/schemas/websocketHeader-Sec-WebSocket-Key-Type'
        - name: Sec-WebSocket-Protocol
          in: header
          schema:
            $ref: '#/components/schemas/websocketHeader-Sec-WebSocket-Protocol-Type'
        - name: Sec-WebSocket-Version
          in: header
          schema:
            $ref: '#/components/schemas/websocketHeader-Sec-WebSocket-Version-Type'
      responses:
        '101':
          description: Success case (101 Switching Protocols). The connection has been successfully switched to WebSocket. The response message body is absent.
          headers:
            Upgrade:
              schema:
                $ref: '#/components/schemas/websocketHeaderUpgrade-Type'
            Connection:
              schema:
                $ref: '#/components/schemas/websocketHeaderConnection-Type'
            Sec-WebSocket-Accept:
              schema:
                $ref: '#/components/schemas/websocketHeader-Sec-WebSocket-Accept-Type'
        '200':
          description: Success case (200 OK). The resource identified in the request for retrieval returned in the response message body.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connectionInfo-Type'
        default:
          description: Error case.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse-Type'
  '/connections/{connectionId}/streams':
    post:
      summary: Inform consumer about new reporting streams on an existing connection.
      description: Allows the producer to add one or more reporting streams to an already established streaming connection.
      parameters:
        - name: connectionId
          in: path
          description: Indicate the ID (URI) of the connection for which the reporting stream information is being added.
          required: true
          schema:
            $ref: '#/components/schemas/connectionId-Type'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/streamInfo-Type'
      responses:
        '201':
          description: Success case (201 Posted).
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/streamInfo-Type'
        '202':
          description: Partial success case (202 Posted).
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/streamInfo-Type'
        default:
          description: Error case.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse-Type'
    delete:
      summary: Remove reporting streams from an existing connection
      description: Allows the producer to remove one or more reporting streams from an already established streaming connection.
      parameters:
        - name: connectionId
          in: path
          description: Indicate the ID (URI) of the connection for which the reporting stream information is being removed.
          required: true
          schema:
            $ref: '#/components/schemas/connectionId-Type'
        - name: streamIds
          in: query
          description: The list of streamId for the stream(s) to be deleted.
          required: true
          schema:
            type: array
            items:
              $ref: '#/components/schemas/streamId-Type'
      responses:
        '204':
          description: Success case (204 No Content). The stream information resource has been deleted. The response message body is absent.
        default:
          description: Error case.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse-Type'
    get:
      summary: Obtain information about streams.
      description: Enables the streaming data reporting service producer to obtain information about one or more reporting streams.
      parameters:
        - name: connectionId
          in: path
          description: Indicate the ID (URI) of the connection for which the information is being retrieved
          required: true
          schema:
            $ref: '#/components/schemas/connectionId-Type'
        - name: streamIds
          in: query
          description: The list of streamId for which the stream information is to be retrieved.
          required: true
          schema:
            type: array
            items:
              $ref: '#/components/schemas/streamId-Type'
      responses:
        '200':
          description: Success case (200 OK).
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/streamInfoWithReporters-Type'
        '202':
          description: Partial success case (202 Partially retrieved).
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/streamInfoWithReporters-Type'
        default:
          description: Error case.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse-Type'
  '/connections/{connectionId}/streams/{streamId}':
    get:
      summary: Obtain information about stream
      description: Enables the streaming data reporting service producer to obtain information about a reporting stream.
      parameters:
        - name: connectionId
          in: path
          description: Indicate the ID (URI) of the connection for which the information is being retrieved
          required: true
          schema:
            $ref: '#/components/schemas/connectionId-Type'
        - name: streamId
          in: path
          description: Indicate the ID of the reporting stream for which the information is being retrieved
          required: true
          schema:
            $ref: '#/components/schemas/streamId-Type'
      responses:
        '200':
          description: Success case (200 OK).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/streamInfoWithReporters-Type'
        default:
          description: Error case.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse-Type'
components:
  schemas:
    analyticsInfo-Type:
      description: Information specific to analytics reporting.
      type: object
      properties:
        activityDetails:
          type: string
    connectionId-Type:
      $ref: '#/components/schemas/uri-Type'
    connectionInfo-Type:
      type: object
      properties:
        connection:
          $ref: '#/components/schemas/connectionId-Type'
        producer:
          $ref: '#/components/schemas/producerId-Type'
        streams:
          type: array
          items:
            $ref: '#/components/schemas/streamId-Type'
    connectionRequest-Type:
      type: object
      properties:
        producer:
          $ref: '#/components/schemas/producerId-Type'
        streams:
          type: array
          items:
            $ref: '#/components/schemas/streamInfo-Type'
    errorResponse-Type:
      type: object
      properties:
        error:
          type: object
          properties:
            errorInfo:
              type: string
    failedConnectionResponse-Type:
      type: object
      properties:
        error:
          type: array
          items:
            type: object
            properties:
              streamId:
                $ref: '#/components/schemas/streamId-Type'
              errorReason:
                type: string
    measObjDn-Type:
      description: DN of the measured object instance (see 3GPP TS 28.550)
      allOf:
        - $ref: '#/components/schemas/systemDN-Type'
    measTypes-Type:
      description: an ordered list of measurement type or KPI whose measurement values or KPI result values are to be reported by the Performance Data Stream Units (see Annex C of TS 28.550) via this stream
      type: array
      items:
        type: string
    performanceInfo-Type:
      description: Information specific to performance data reporting
      type: object
      properties:
        measObjDn:
          $ref: '#/components/schemas/measObjDn-Type'
        measTypes:
          $ref: '#/components/schemas/measTypes-Type'
        measurementReaderId:
          $ref: '#/components/schemas/systemDN-Type'
        jobId:
          type: string
      required:
        - measObjDn
        - measTypes
    producerId-Type:
      description: DN of the streaming data reporting MnS producer.
      allOf:
        - $ref: '#/components/schemas/systemDN-Type'
    serializationFormat-Type:
      type: string
      enum:
        - GPB
        - ASN1
    streamId-Type:
      description: globally unique stream identifier
      type: string
      example: '26F452550021'
    streamInfo-Type:
      description: Reporting stream meta-data.
      type: object
      properties:
        streamType:
          $ref: '#/components/schemas/streamType-Type'
        serializationFormat:
          $ref: '#/components/schemas/serializationFormat-Type'
        streamId:
          oneOf:
            - $ref: '#/components/schemas/streamId-Type'
            - $ref: '#/components/schemas/traceReference-Type'
        additionalInfo:
          oneOf:
            - $ref: '#/components/schemas/traceInfo-Type'
            - $ref: '#/components/schemas/performanceInfo-Type'
            - $ref: '#/components/schemas/analyticsInfo-Type'
            - $ref: '#/components/schemas/vsDataContainer-Type'
      required:
        - streamType
        - serializationFormat
        - streamId
    streamInfoWithReporters-Type:
      description: Reporting stream meta-data with added information about reporters.
      type: object
      properties:
        streamInfo:
          $ref: '#/components/schemas/streamInfo-Type'
        reporters:
          type: array
          items:
            $ref: '#/components/schemas/producerId-Type'
    systemDN-Type:
      description: See 3GPP TS 32.300 for details
      type: string
      example: 'SubNetwork=ABCNetwork,SubNetwork=MUC01,GNBDUFunction=XYZ0100'
    streamType-Type:
      type: string
      enum:
        - TRACE
        - PERFORMANCE
        - ANALYTICS
        - PROPRIETARY
    traceInfo-Type:
      description: Information specific to trace data reporting
      allOf:
        - $ref: 'genericNrm.yaml#/components/schemas/TraceJob-Attr'
    traceReference-Type:
      description: Trace Reference (see clause 5.6 of 3GPP TS 32.422) as stream identifier for streaming trace data reporting
      type: string
      example: '4358070034D7'
    uri-Type:
      description: Resource URI
      type: string
    vsDataContainer-Type:
      description: container for vendor specific data (see 3GPP TS 28.622)
      type: object
      properties:
        vsDataType:
          type: string
        vsData:
          type: string
        vsDataFormatVersion:
          type: string
    websocketHeaderConnection-Type:
      description: Header value for the upgrade request and response.
      type: string
      enum:
        - Upgrade
    websocketHeaderUpgrade-Type:
      description: Header value for the upgrade to WebSocket request and response.
      type: string
      enum:
        - websocket
    websocketHeader-Sec-WebSocket-Accept-Type:
      description: Header value for secure WebSocket response. Carries hash.
      type: string
    websocketHeader-Sec-WebSocket-Extensions-Type:
      description: Header value for secure WebSocket request. Carries protocol extensions.
      type: string
    websocketHeader-Sec-WebSocket-Key-Type:
      description: Header value for secure WebSocket request. Provides information to the server which is needed in order to confirm that the client is entitled to request an upgrade to WebSocket.
      type: string
    websocketHeader-Sec-WebSocket-Protocol-Type:
      description: Header value for secure WebSocket request. Carries a comma-separated list of subprotocol names, in the order of preference.
      type: string
    websocketHeader-Sec-WebSocket-Version-Type:
      description: Header value for secure WebSocket request and response. Carries the WebSocket protocol version to be used.
      type: string