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