blob: b2f84a4d2a55e09c0eff04207d290384fb9f59ed [file] [log] [blame]
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +01001openapi: 3.0.1
2info:
3 title: Provisioning MnS
4 version: 16.4.0
5 description: >-
6 OAS 3.0.1 definition of the Provisioning MnS
7 © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
8 All rights reserved.
9externalDocs:
10 description: 3GPP TS 28.532 V16.4.0; Generic management services
11 url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/
12servers:
13 - url: 'http://{URI-DN-prefix}/{root}/ProvMnS/v1640/{LDN-first-part}'
14 variables:
15 URI-DN-prefix:
16 description: See subclause 4.4 of TS 32.158
17 default: example.com
18 root:
19 description: See subclause 4.4 of TS 32.158
20 default: 3GPPManagement
21 LDN-first-part:
22 description: See subclause 4.4 of TS 32.158
23 default: ''
24paths:
25 '/{className}={id}':
26 parameters:
27 - name: className
28 in: path
29 required: true
30 schema:
31 $ref: '#/components/schemas/className-PathType'
32 - name: id
33 in: path
34 required: true
35 schema:
36 $ref: '#/components/schemas/id-PathType'
37 put:
38 summary: Replaces a complete single resource or creates it if it does not exist
39 description: >-
40 With HTTP PUT a complete resource is replaced or created if it does not
41 exist. The target resource is identified by the target URI.
42 requestBody:
43 required: true
44 content:
45 application/json:
46 schema:
47 $ref: '#/components/schemas/resourcePut-RequestType'
48 responses:
49 '200':
50 description: >-
51 Success case ("200 OK").
52 This status code shall be returned when the resource is replaced, and
53 when the replaced resource representation is not identical to the resource
54 representation in the request.
55 This status code may be retourned when the resource is updated and when the
56 updated resource representation is identical to the resource representation
57 in the request.
58 The representation of the updated resource is returned in the response
59 message body.
60 content:
61 application/json:
62 schema:
63 $ref: '#/components/schemas/resourceUpdate-ResponseType'
64 '201':
65 description: >-
66 Success case ("201 Created").
67 This status code shall be returned when the resource is created.
68 The representation of the created resource is returned in the response
69 message body.
70 content:
71 application/json:
72 schema:
73 $ref: '#/components/schemas/resourceCreation-ResponseType'
74 '204':
75 description: >-
76 Success case ("204 No Content").
77 This status code may be returned only when the replaced resource
78 representation is identical to the representation in the request.
79 The response has no message body.
80 default:
81 description: Error case.
82 content:
83 application/json:
84 schema:
85 $ref: '#/components/schemas/error-ResponseType'
86 callbacks:
87 notifyMOICreation:
88 '{request.body#/notificationRecipientAddress}':
89 post:
90 requestBody:
91 required: true
92 content:
93 application/json:
94 schema:
95 $ref: '#/components/schemas/notifyMOICreation-NotifType'
96 responses:
97 '204':
98 description: >-
99 Success case ("204 No Content").
100 The notification is successfully delivered. The response
101 has no message body.
102 default:
103 description: Error case.
104 content:
105 application/json:
106 schema:
107 $ref: '#/components/schemas/error-ResponseType'
108 notifyMOIDeletion:
109 '{request.body#/notificationRecipientAddress}':
110 post:
111 requestBody:
112 required: true
113 content:
114 application/json:
115 schema:
116 $ref: '#/components/schemas/notifyMOIDeletion-NotifType'
117 responses:
118 '204':
119 description: >-
120 Success case ("204 No Content").
121 The notification is successfully delivered. The response
122 has no message body.
123 default:
124 description: Error case.
125 content:
126 application/json:
127 schema:
128 $ref: '#/components/schemas/error-ResponseType'
129 notifyMOIAttributeValueChange:
130 '{request.body#/notificationRecipientAddress}':
131 post:
132 requestBody:
133 required: true
134 content:
135 application/json:
136 schema:
137 $ref: '#/components/schemas/notifyMOIAttributeValueChange-NotifType'
138 responses:
139 '204':
140 description: >-
141 Success case ("204 No Content").
142 The notification is successfully delivered. The response
143 has no message body.
144 default:
145 description: Error case.
146 content:
147 application/json:
148 schema:
149 $ref: '#/components/schemas/error-ResponseType'
150 notifyMOIChanges:
151 '{request.body#/notificationRecipientAddress}':
152 post:
153 requestBody:
154 required: true
155 content:
156 application/json:
157 schema:
158 $ref: '#/components/schemas/notifyMOIChanges-NotifType'
159 responses:
160 '204':
161 description: >-
162 Success case ("204 No Content").
163 The notification is successfully delivered. The response
164 has no message body.
165 default:
166 description: Error case.
167 content:
168 application/json:
169 schema:
170 $ref: '#/components/schemas/error-ResponseType'
171 get:
172 summary: Reads one or multiple resources
173 description: >-
174 With HTTP GET resources are read. The resources to be retrieved are
175 identified with the target URI. The attributes and fields parameter
176 of the query components allow to select the resource properties to be returned.
177 parameters:
178 - name: scope
179 in: query
180 description: >-
181 This parameter extends the set of targeted resources beyond the base
182 resource identified with the path component of the URI. No scoping
183 mechanism is specified in the present document.
184 required: false
185 schema:
186 $ref: '#/components/schemas/scope-QueryType'
187 style: form
188 explode: true
189 - name: filter
190 in: query
191 description: >-
192 This parameter reduces the targeted set of resources by applying a
193 filter to the scoped set of resource representations. Only resource
194 representations for which the filter construct evaluates to "true"
195 are targeted. No filter language is specified in the present
196 document.
197 required: false
198 schema:
199 $ref: '#/components/schemas/filter-QueryType'
200 - name: attributes
201 in: query
202 description: >-
203 This parameter specifies the attributes of the scoped resources that
204 are returned.
205 required: true
206 schema:
207 $ref: '#/components/schemas/attributes-QueryType'
208 style: form
209 explode: false
210 - name: fields
211 in: query
212 description: >-
213 This parameter specifies the attribute field of the scoped resources
214 that are returned.
215 required: false
216 schema:
217 $ref: '#/components/schemas/fields-QueryType'
218 style: form
219 explode: false
220 responses:
221 '200':
222 description: >-
223 Success case ("200 OK").
224 The resources identified in the request for retrieval are returned
225 in the response message body. In case the attributes or fields query
226 parameters are used, only the selected attributes or sub-attributes are
227 returned. The response message body is constructed according to the
228 hierarchical response construction method (TS 32.158 [15]).
229 content:
230 application/json:
231 schema:
232 $ref: '#/components/schemas/resourceRetrieval-ResponseType'
233 default:
234 description: Error case.
235 content:
236 application/json:
237 schema:
238 $ref: '#/components/schemas/error-ResponseType'
239 patch:
240 summary: Patches one or multiple resources
241 description: >-
242 With HTTP PATCH resources are created, updated or deleted. The resources
243 to be modified are identified with the target URI (base resource) and
244 the patch document included in the request message body.
245 requestBody:
246 description: >-
247 The request body describes changes to be made to the target resources.
248 The following patch media types are available
249 - "application/merge-patch+json" (RFC 7396)
250 - "application/3gpp-merge-patch+json" (TS 32.158)
251 - "application/json-patch+json" (RFC 6902)
252 - "application/3gpp-json-patch+json" (TS 32.158)
253 required: true
254 content:
255 application/merge-patch+json:
256 schema:
257 $ref: '#/components/schemas/jsonMergePatch-RequestType'
258 application/3gpp-merge-patch+json:
259 schema:
260 $ref: '#/components/schemas/3gppJsonMergePatch-RequestType'
261 application/json-patch+json:
262 schema:
263 $ref: '#/components/schemas/jsonPatch-RequestType'
264 application/3gpp-json-patch+json:
265 schema:
266 $ref: '#/components/schemas/3gppJsonPatch-RequestType'
267 responses:
268 '200':
269 description: >-
270 Success case ("200 OK").
271 This status code is returned when the updated the resource representations
272 shall be returned for some reason.
273 The resource representations are returned in the response message body. The
274 response message body is constructed according to the hierarchical response
275 construction method (TS 32.158 [15])
276 content:
277 application/json:
278 schema:
279 $ref: '#/components/schemas/resourceUpdate-ResponseType'
280 '204':
281 description: >-
282 Success case ("204 No Content").
283 This status code is returned when there is no need to return the updated
284 resource representations.
285 The response message body is empty.
286 default:
287 description: Error case.
288 content:
289 application/json:
290 schema:
291 $ref: '#/components/schemas/error-ResponseType'
292 delete:
293 summary: Deletes one or multiple resources
294 description: >-
295 With HTTP DELETE resources are deleted. The resources to be deleted are
296 identified with the target URI.
297 parameters:
298 - name: scope
299 in: query
300 description: >-
301 This parameter extends the set of targeted resources beyond the base
302 resource identified with the path component of the URI. No scoping
303 mechanism is specified in the present document.
304 required: false
305 schema:
306 $ref: '#/components/schemas/scope-QueryType'
307 - name: filter
308 in: query
309 description: >-
310 This parameter reduces the targeted set of resources by applying a
311 filter to the scoped set of resource representations. Only resources
312 representations for which the filter construct evaluates to "true"
313 are returned. No filter language is specified in the present
314 document.
315 required: false
316 schema:
317 $ref: '#/components/schemas/filter-QueryType'
318 responses:
319 '200':
320 description: >-
321 Success case ("200 OK").
322 This status code shall be returned, when query parameters are present in
323 the request and one or multiple resources are deleted.
324 The URIs of the deleted resources are returned in the response message body.
325 '204':
326 description: >-
327 Success case ("204 No Content").
328 This status code shall be returned, when no query parameters are present in
329 the request and only one resource is deleted.
330 The message body is empty.
331 content:
332 application/json:
333 schema:
334 $ref: '#/components/schemas/resourceDeletion-ResponseType'
335 default:
336 description: Error case.
337 content:
338 application/json:
339 schema:
340 $ref: '#/components/schemas/error-ResponseType'
341components:
342 schemas:
343 dateTime-Type:
344 type: string
345 format: date-time
346 long-Type:
347 type: integer
348 format: int64
349 uri-Type:
350 type: string
351 correlatedNotification-Type:
352 type: object
353 properties:
354 source:
355 $ref: '#/components/schemas/uri-Type'
356 notificationIds:
357 type: array
358 items:
359 $ref: '#/components/schemas/notificationId-Type'
360 notificationId-Type:
361 $ref: '#/components/schemas/long-Type'
362 notificationType-Type:
363 type: string
364 enum:
365 - notifyMOICreation
366 - notifyMOIDeletion
367 - notifyMOIAttributeValueChange
368 systemDN-Type:
369 type: string
370 additionalText-Type:
371 type: string
372 sourceIndicator-Type:
373 type: string
374 enum:
375 - resourceOperation
376 - mangementOperation
377 - sONOperation
378 - unknown
379 header-Type:
380 type: object
381 properties:
382 href:
383 $ref: '#/components/schemas/uri-Type'
384 notificationId:
385 $ref: '#/components/schemas/notificationId-Type'
386 notificationType:
387 $ref: '#/components/schemas/notificationType-Type'
388 eventTime:
389 $ref: '#/components/schemas/dateTime-Type'
390 systemDN:
391 $ref: '#/components/schemas/systemDN-Type'
392 required:
393 - href
394 - notificationId
395 - notificationType
396 - eventTime
397 - systemDN
398 scopeType-Type:
399 type: string
400 enum:
401 - BASE_ONLY
402 - BASE_NTH_LEVEL
403 - BASE_SUBTREE
404 - BASE_ALL
405 scopeLevel-Type:
406 type: integer
407 className-PathType:
408 type: string
409 id-PathType:
410 type: string
411 attributes-QueryType:
412 type: array
413 items:
414 type: string
415 fields-QueryType:
416 type: array
417 items:
418 type: string
419 filter-QueryType:
420 type: string
421 scope-QueryType:
422 type: object
423 properties:
424 scopeType:
425 $ref: '#/components/schemas/scopeType-Type'
426 scopeLevel:
427 $ref: '#/components/schemas/scopeLevel-Type'
428
429 resourcePut-RequestType:
430 $ref: '#/components/schemas/resourceRepresentation-Type'
431 jsonMergePatch-RequestType:
432 $ref: '#/components/schemas/resourceRepresentation-Type'
433 3gppJsonMergePatch-RequestType:
434 $ref: '#/components/schemas/resourceRepresentation-Type'
435 jsonPatch-RequestType:
436 type: array
437 items:
438 type: object
439 3gppJsonPatch-RequestType:
440 type: array
441 items:
442 type: object
443
444 error-ResponseType:
445 type: object
446 properties:
447 error:
448 type: object
449 properties:
450 errorInfo:
451 type: string
452 resourceRetrieval-ResponseType:
453 $ref: '#/components/schemas/resourceRepresentation-Type'
454 resourceCreation-ResponseType:
455 $ref: '#/components/schemas/resourceRepresentation-Type'
456 resourceUpdate-ResponseType:
457 $ref: '#/components/schemas/resourceRepresentation-Type'
458 resourceDeletion-ResponseType:
459 type: array
460 items:
461 $ref: '#/components/schemas/uri-Type'
462
463 resourceRepresentation-Type:
464 oneOf:
465 - type: object
466 properties:
467 id:
468 type: string
469 attributes:
470 type: object
471 additionalProperties:
472 type: array
473 items:
474 type: object
475 - anyOf:
476 - $ref: 'genericNrm.yaml#/components/schemas/resources-genericNrm'
477 - $ref: 'nrNrm.yaml#/components/schemas/resources-nrNrm'
478 - $ref: '5gcNrm.yaml#/components/schemas/resources-5gcNrm'
479 - $ref: 'sliceNrm.yaml#/components/schemas/resources-sliceNrm'
480
481 mOIChange-Type:
482 type: object
483 properties:
484 notificationId:
485 $ref: '#/components/schemas/notificationId-Type'
486 correlatedNotifications:
487 type: array
488 items:
489 $ref: '#/components/schemas/correlatedNotification-Type'
490 additionalText:
491 $ref: '#/components/schemas/additionalText-Type'
492 sourceIndicator:
493 $ref: '#/components/schemas/sourceIndicator-Type'
494 path:
495 $ref: '#/components/schemas/uri-Type'
496 operation:
497 type: string
498 enum:
499 - CREATE
500 - DELETE
501 - REPLACE
502 value:
503 oneOf:
504 - type: object
505 additionalProperties:
506 nullable: true
507 - type: array
508 items:
509 type: object
510 minItems: 1
511 maxItems: 2
512
513 notifyMOICreation-NotifType:
514 allOf:
515 - $ref: '#/components/schemas/header-Type'
516 - type: object
517 properties:
518 correlatedNotifications:
519 type: array
520 items:
521 $ref: '#/components/schemas/correlatedNotification-Type'
522 additionalText:
523 $ref: '#/components/schemas/additionalText-Type'
524 sourceIndicator:
525 $ref: '#/components/schemas/sourceIndicator-Type'
526 attributeList:
527 type: object
528 additionalProperties:
529 nullable: true
530 notifyMOIDeletion-NotifType:
531 allOf:
532 - $ref: '#/components/schemas/header-Type'
533 - type: object
534 properties:
535 correlatedNotifications:
536 type: array
537 items:
538 $ref: '#/components/schemas/correlatedNotification-Type'
539 additionalText:
540 $ref: '#/components/schemas/additionalText-Type'
541 sourceIndicator:
542 $ref: '#/components/schemas/sourceIndicator-Type'
543 attributeList:
544 type: object
545 additionalProperties: true
546 notifyMOIAttributeValueChange-NotifType:
547 allOf:
548 - $ref: '#/components/schemas/header-Type'
549 - type: object
550 properties:
551 correlatedNotifications:
552 type: array
553 items:
554 $ref: '#/components/schemas/correlatedNotification-Type'
555 additionalText:
556 $ref: '#/components/schemas/additionalText-Type'
557 sourceIndicator:
558 $ref: '#/components/schemas/sourceIndicator-Type'
559 attributeValueChange:
560 type: object
561 additionalProperties:
562 type: array
563 minItems: 1
564 maxItems: 2
565 items:
566 nullable: true
567 required:
568 - attributeValueChange
569 notifyMOIChanges-NotifType:
570 allOf:
571 - $ref: '#/components/schemas/header-Type'
572 - type: object
573 properties:
574 mOIChanges:
575 type: array
576 items:
577 $ref: '#/components/schemas/mOIChange-Type'
578 required:
579 - mOIChanges