blob: e040e14c80af94fc200a0b40424c35ddc6aa29eb [file] [log] [blame]
Krzysztof Kuzmicki11e395a2021-10-05 14:10:35 +02001openapi: 3.0.1
2info:
3 title: TS 28.550 Performance Data Streaming Service
4 version: 16.3.0
5 description: OAS 3.0.1 specification of the Performance Data Streaming Service
6servers:
7 - url: 'http://{streamTarget}/PerfDataStreamMnS/v1630'
8 description: This URL is used for posting the set of information about streams supported on the connection between the producer and the consumer.
9 variables:
10 streamTarget:
11 description: 'The open API server of the performance data streaming service is located in the consumer side,and the “streamTarget” part corresponds to the streamTarget parameter provided in the createMeasurementJob operation (see clause 6.1.1.2) or the streamTarget attribute of the MOI of MeasurementControlor MeasurementReader, see 3GPP TS 28.622 [5]).'
12 default: example.com
13 - url: 'wss://{streamTarget}/PerfDataStreamMnS/v1630/streamingConnection'
14 description: This URL is used for establishing the WebSocket connection for the performance data streaming service.
15 variables:
16 streamTarget:
17 description: 'The open API server of the performance data streaming service is located in the consumer side,and the “streamTarget” part corresponds to the streamTarget parameter provided in the createMeasurementJob operation (see clause 6.1.1.2) or the streamTarget attribute of the MOI of MeasurementControlor MeasurementReader, see 3GPP TS 28.622 [5]).'
18 default: example.com
19paths:
20 /streamInfoList:
21 post:
22 summary: The set of information about the streams sent from the producer to the consumer
23 description: To send the streamInfoList from the producer to the consumer
24 requestBody:
25 required: true
26 content:
27 application/json:
28 schema:
29 $ref: '#/components/schemas/streamInfoListPost-RequestType'
30 responses:
31 '201':
32 description: Success case ("201 Posted"). The streamInfoList is successfully posted.
33 content:
34 application/json:
35 schema:
36 $ref: '#/components/schemas/streamInfoListPost-ResponseType'
37 '202':
38 description: Partial success case ("202 Partially posted"). The representation of the posted resource on stream information.
39 content:
40 application/json:
41 schema:
42 $ref: '#/components/schemas/streamInfoListPost-ResponseType'
43 default:
44 description: Error case.
45 content:
46 application/json:
47 schema:
48 $ref: '#/components/schemas/error-ResponseType'
49 get:
50 summary: Read resources of stream information from the streaming consumer
51 description: 'With HTTP GET, resources of stream information are read. The resources to be read are identified with the path component (base resource) and the query component (streamIdList) of the URI. The fields query component allows to select the resource properties to be returned.'
52 parameters:
53 - name: streamIdList
54 in: query
55 description: This parameter identifies the list of streamId to select from the collection resources identified with the path component of the URI.
56 required: true
57 schema:
58 type: array
59 items:
60 type: integer
61 responses:
62 '200':
63 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.'
64 content:
65 application/json:
66 schema:
67 $ref: '#/components/schemas/listOfStreamInfoRetrieval-ResponseType'
68 '202':
69 description: Partial success case ("202 Partially retrieved"). The representation of the retrieved resources on stream information.
70 content:
71 application/json:
72 schema:
73 $ref: '#/components/schemas/listOfStreamInfoRetrieval-ResponseType'
74 default:
75 description: Error case.
76 content:
77 application/json:
78 schema:
79 $ref: '#/components/schemas/error-ResponseType'
80 patch:
81 summary: Update resources of stream information to the streaming consumer
82 description: 'With HTTP PATCH, resources of stream information are to be updated. The resources to be updated are identified with the path component (base resource) and the query component (streamIdList) of the URI. The fields query component allows to select the resource properties to be updated.'
83 parameters:
84 - name: streamIdList
85 in: query
86 description: This parameter identifies the list of streamId to select from the collection resources identified with the path component of the URI.
87 required: true
88 schema:
89 type: array
90 items:
91 type: integer
92 requestBody:
93 required: true
94 content:
95 application/json:
96 schema:
97 $ref: '#/components/schemas/listOfStreamInfoToUpdate-RequestType'
98 responses:
99 '200':
100 description: Success case ("200 OK"). The resources selected by the query parameter are updated and returned in the response message body.
101 content:
102 application/json:
103 schema:
104 $ref: '#/components/schemas/listOfStreamInfoUpdate-ResponseType'
105 '202':
106 description: Partial success case ("202 Partially updated"). The representation of the updated resources on stream information
107 content:
108 application/json:
109 schema:
110 $ref: '#/components/schemas/listOfStreamInfoUpdate-ResponseType'
111 default:
112 description: Error case.
113 content:
114 application/json:
115 schema:
116 $ref: '#/components/schemas/error-ResponseType'
117 delete:
118 summary: The information of streams to be deleted by the producer to the consumer
119 description: 'With HTTP DELETE, resources of stream information are to be deleted. The resources to be deleted are identified with the path component (base resource) and the query component (streamIdList) of the URI. The fields query component allows to select the resource properties to be deleted.'
120 parameters:
121 - name: streamIdList
122 in: query
123 description: This parameter identifies the list of streamId to select from the collection resources identified with the path component of the URI.
124 required: true
125 schema:
126 type: array
127 items:
128 type: integer
129 responses:
130 '204':
131 description: Success case ("204 No Content"). The stream information resource has been deleted. The response message body is absent.
132 default:
133 description: Error case.
134 content:
135 application/json:
136 schema:
137 $ref: '#/components/schemas/error-ResponseType'
138 '/streamInfoList/{streamId}':
139 get:
140 summary: Read resource of the stream information from the streaming consumer
141 description: 'With HTTP GET, resource of stream information is read. The resource to be read is identified with the path component the URI.'
142 parameters:
143 - name: streamId
144 in: path
145 description: Identifies the stream for which the information is to be retrieved.
146 required: true
147 schema:
148 $ref: '#/components/schemas/uri-Type'
149 responses:
150 '200':
151 description: Success case ("200 OK"). The resource identified in the request for retrieval is returned in the response message body.
152 content:
153 application/json:
154 schema:
155 $ref: '#/components/schemas/listOfStreamInfoRetrieval-ResponseType'
156 default:
157 description: Error case.
158 content:
159 application/json:
160 schema:
161 $ref: '#/components/schemas/error-ResponseType'
162 patch:
163 summary: Update the resource of stream information to the streaming consumer
164 description: 'With HTTP PATCH, resource of stream information is to be updated. The resource to be updated is identified by the path component of the URI. '
165 parameters:
166 - name: streamId
167 in: path
168 description: Identifies the stream for which the information is to be updated.
169 required: true
170 schema:
171 $ref: '#/components/schemas/uri-Type'
172 requestBody:
173 required: true
174 content:
175 application/json:
176 schema:
177 $ref: '#/components/schemas/streamInfoToUpdate-RequestType'
178 responses:
179 '200':
180 description: Success case ("200 OK"). The resources identified by the path of the URI is updated and returned in the response message body.
181 content:
182 application/json:
183 schema:
184 $ref: '#/components/schemas/streamInfoUpdate-ResponseType'
185 default:
186 description: Error case.
187 content:
188 application/json:
189 schema:
190 $ref: '#/components/schemas/error-ResponseType'
191 delete:
192 summary: The stream information to be deleted by the producer to the consumer
193 description: 'With HTTP DELETE, resource of stream information identified by the path component of the URI is to be deleted.'
194 parameters:
195 - name: streamId
196 in: path
197 description: Identifies the stream for which the information is to be deleted
198 required: true
199 schema:
200 $ref: '#/components/schemas/uri-Type'
201 responses:
202 '204':
203 description: Success case ("204 No Content"). The stream information resource has been deleted. The response message body is absent.
204 default:
205 description: Error case.
206 content:
207 application/json:
208 schema:
209 $ref: '#/components/schemas/error-ResponseType'
210 /streamConnection:
211 get:
212 summary: The connection for streaming from the producer to the consumer
213 description: To establish the WebSocket connection between the producer and the consumer. The HTTP version of this operation shall not be earlier than HTTP/1.1
214 parameters:
215 - in: header
216 name: Upgrade
217 required: true
218 schema:
219 $ref: '#/components/schemas/Upgrade-HeaderType'
220 - in: header
221 name: Connection
222 required: true
223 schema:
224 $ref: '#/components/schemas/Connection-HeaderType'
225 - in: header
226 name: Sec-WebSocket-Key
227 required: true
228 schema:
229 $ref: '#/components/schemas/Sec-WebSocket-Key-HeaderType'
230 - in: header
231 name: Sec-WebSocket-Version
232 required: true
233 schema:
234 $ref: '#/components/schemas/Sec-WebSocket-Version-HeaderType'
235 responses:
236 '101':
237 description: Success case ("101 Switching Protocols "). The connection has been successfully switched to WebSocket. The response message body is absent.
238 headers:
239 Upgrade:
240 schema:
241 $ref: '#/components/schemas/Upgrade-HeaderType'
242 Connection:
243 schema:
244 $ref: '#/components/schemas/Connection-HeaderType'
245 Sec-WebSocket-Accept-HeaderType:
246 schema:
247 $ref: '#/components/schemas/Sec-WebSocket-Accept-HeaderType'
248 default:
249 description: Error case.
250 content:
251 application/json:
252 schema:
253 $ref: '#/components/schemas/error-ResponseType'
254components:
255 schemas:
256 uri-Type:
257 type: string
258 streamInfoIn-Type:
259 type: object
260 properties:
261 streamId:
262 type: integer
263 iOCInstance:
264 $ref: '#/components/schemas/uri-Type'
265 measTypes:
266 type: array
267 items:
268 type: string
269 streamInfoOut-Type:
270 type: object
271 properties:
272 streamId:
273 $ref: '#/components/schemas/uri-Type'
274 iOCInstance:
275 $ref: '#/components/schemas/uri-Type'
276 measTypes:
277 type: array
278 items:
279 type: string
280 error-ResponseType:
281 type: object
282 properties:
283 error:
284 type: object
285 properties:
286 errorInfo:
287 type: string
288 streamInfoListPost-RequestType:
289 type: object
290 properties:
291 streamInfoList:
292 type: array
293 items:
294 $ref: '#/components/schemas/streamInfoIn-Type'
295 streamInfoListPost-ResponseType:
296 type: object
297 properties:
298 streamInfoListPosted:
299 type: array
300 items:
301 $ref: '#/components/schemas/streamInfoOut-Type'
302 streamInfoRetrieval-ResponseType:
303 type: object
304 properties:
305 streamInfoOut:
306 $ref: '#/components/schemas/streamInfoOut-Type'
307 listOfStreamInfoRetrieval-ResponseType:
308 type: object
309 properties:
310 listOfStreamInfoOut:
311 type: array
312 items:
313 $ref: '#/components/schemas/streamInfoOut-Type'
314 streamInfoToUpdatePropertyType:
315 type: object
316 properties:
317 iOCInstance:
318 description: 'The updated measured object instance, empty value means no update.'
319 allOf:
320 - $ref: '#/components/schemas/uri-Type'
321 measTypes:
322 description: 'The updated list of measurement type, empty value means no update.'
323 type: array
324 items:
325 type: string
326 streamInfoToUpdate-RequestType:
327 type: object
328 properties:
329 streamInfoToUpdate:
330 $ref: '#/components/schemas/streamInfoToUpdatePropertyType'
331 listOfStreamInfoToUpdate-RequestType:
332 type: object
333 properties:
334 listOfStreamInfoToUpdate:
335 type: array
336 items:
337 $ref: '#/components/schemas/streamInfoToUpdatePropertyType'
338 streamInfoUpdate-ResponseType:
339 type: object
340 properties:
341 streamInfoUpdated:
342 $ref: '#/components/schemas/streamInfoOut-Type'
343 listOfStreamInfoUpdate-ResponseType:
344 type: object
345 properties:
346 listOfStreamInfoUpdated:
347 type: array
348 items:
349 $ref: '#/components/schemas/streamInfoOut-Type'
350 Upgrade-HeaderType:
351 type: string
352 enum:
353 - websocket
354 Connection-HeaderType:
355 type: string
356 enum:
357 - Upgrade
358 Sec-WebSocket-Key-HeaderType:
359 type: string
360 Sec-WebSocket-Version-HeaderType:
361 type: string
362 Sec-WebSocket-Accept-HeaderType:
363 type: string