blob: 1dd467e16a8bf2d06bd2b635644252e20504d5fc [file] [log] [blame]
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +01001openapi: 3.0.1
2info:
3 title: Provisioning MnS
Michal Banka028e1c22021-05-10 11:00:39 +02004 version: 16.5.0
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +01005 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:
Michal Banka028e1c22021-05-10 11:00:39 +020010 description: 3GPP TS 28.532; Generic management services
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +010011 url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/
12servers:
Michal Banka028e1c22021-05-10 11:00:39 +020013 - url: '{MnSRoot}/ProvMnS/{MnSVersion}/{URI-LDN-first-part}'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +010014 variables:
Michal Banka028e1c22021-05-10 11:00:39 +020015 MnSRoot:
16 description: See clause 4.4.2 of TS 32.158
17 default: http://example.com/3GPPManagement
18 MnSVersion:
19 description: Version number of the OpenAPI definition
20 default: XXX
21 URI-LDN-first-part:
22 description: See clause 4.4.2 of TS 32.158
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +010023 default: ''
24paths:
25 '/{className}={id}':
26 parameters:
27 - name: className
28 in: path
29 required: true
30 schema:
Michal Banka028e1c22021-05-10 11:00:39 +020031 type: string
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +010032 - name: id
33 in: path
34 required: true
35 schema:
Michal Banka028e1c22021-05-10 11:00:39 +020036 type: string
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +010037 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:
Michal Banka028e1c22021-05-10 11:00:39 +020047 $ref: '#/components/schemas/Resource'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +010048 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:
Michal Banka028e1c22021-05-10 11:00:39 +020063 $ref: '#/components/schemas/Resource'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +010064 '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:
Michal Banka028e1c22021-05-10 11:00:39 +020073 $ref: '#/components/schemas/Resource'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +010074 '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:
Michal Banka028e1c22021-05-10 11:00:39 +020085 $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +010086 callbacks:
87 notifyMOICreation:
88 '{request.body#/notificationRecipientAddress}':
89 post:
90 requestBody:
91 required: true
92 content:
93 application/json:
94 schema:
Michal Banka028e1c22021-05-10 11:00:39 +020095 $ref: '#/components/schemas/NotifyMoiCreation'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +010096 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:
Michal Banka028e1c22021-05-10 11:00:39 +0200107 $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100108 notifyMOIDeletion:
109 '{request.body#/notificationRecipientAddress}':
110 post:
111 requestBody:
112 required: true
113 content:
114 application/json:
115 schema:
Michal Banka028e1c22021-05-10 11:00:39 +0200116 $ref: '#/components/schemas/NotifyMoiDeletion'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100117 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:
Michal Banka028e1c22021-05-10 11:00:39 +0200128 $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
129 notifyMOIAttributeValueChanges:
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100130 '{request.body#/notificationRecipientAddress}':
131 post:
132 requestBody:
133 required: true
134 content:
135 application/json:
136 schema:
Michal Banka028e1c22021-05-10 11:00:39 +0200137 $ref: '#/components/schemas/NotifyMoiAttributeValueChanges'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100138 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:
Michal Banka028e1c22021-05-10 11:00:39 +0200149 $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100150 notifyMOIChanges:
151 '{request.body#/notificationRecipientAddress}':
152 post:
153 requestBody:
154 required: true
155 content:
156 application/json:
157 schema:
Michal Banka028e1c22021-05-10 11:00:39 +0200158 $ref: '#/components/schemas/NotifyMoiChanges'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100159 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:
Michal Banka028e1c22021-05-10 11:00:39 +0200170 $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100171 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:
Michal Banka028e1c22021-05-10 11:00:39 +0200186 $ref: '#/components/schemas/Scope'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100187 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:
Michal Banka028e1c22021-05-10 11:00:39 +0200199 $ref: 'comDefs.yaml#/components/schemas/Filter'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100200 - 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:
Michal Banka028e1c22021-05-10 11:00:39 +0200207 type: array
208 items:
209 type: string
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100210 style: form
211 explode: false
212 - name: fields
213 in: query
214 description: >-
215 This parameter specifies the attribute field of the scoped resources
216 that are returned.
217 required: false
218 schema:
Michal Banka028e1c22021-05-10 11:00:39 +0200219 type: array
220 items:
221 type: string
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100222 style: form
223 explode: false
224 responses:
225 '200':
226 description: >-
227 Success case ("200 OK").
228 The resources identified in the request for retrieval are returned
229 in the response message body. In case the attributes or fields query
230 parameters are used, only the selected attributes or sub-attributes are
231 returned. The response message body is constructed according to the
232 hierarchical response construction method (TS 32.158 [15]).
233 content:
234 application/json:
235 schema:
Michal Banka028e1c22021-05-10 11:00:39 +0200236 $ref: '#/components/schemas/Resource'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100237 default:
238 description: Error case.
239 content:
240 application/json:
241 schema:
Michal Banka028e1c22021-05-10 11:00:39 +0200242 $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100243 patch:
244 summary: Patches one or multiple resources
245 description: >-
246 With HTTP PATCH resources are created, updated or deleted. The resources
247 to be modified are identified with the target URI (base resource) and
248 the patch document included in the request message body.
249 requestBody:
250 description: >-
251 The request body describes changes to be made to the target resources.
252 The following patch media types are available
253 - "application/merge-patch+json" (RFC 7396)
254 - "application/3gpp-merge-patch+json" (TS 32.158)
255 - "application/json-patch+json" (RFC 6902)
256 - "application/3gpp-json-patch+json" (TS 32.158)
257 required: true
258 content:
259 application/merge-patch+json:
260 schema:
Michal Banka028e1c22021-05-10 11:00:39 +0200261 $ref: '#/components/schemas/Resource'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100262 application/3gpp-merge-patch+json:
263 schema:
Michal Banka028e1c22021-05-10 11:00:39 +0200264 $ref: '#/components/schemas/Resource'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100265 application/json-patch+json:
266 schema:
Michal Banka028e1c22021-05-10 11:00:39 +0200267 type: array
268 items:
269 type: object
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100270 application/3gpp-json-patch+json:
271 schema:
Michal Banka028e1c22021-05-10 11:00:39 +0200272 type: array
273 items:
274 type: object
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100275 responses:
276 '200':
277 description: >-
278 Success case ("200 OK").
279 This status code is returned when the updated the resource representations
280 shall be returned for some reason.
281 The resource representations are returned in the response message body. The
282 response message body is constructed according to the hierarchical response
283 construction method (TS 32.158 [15])
284 content:
285 application/json:
286 schema:
Michal Banka028e1c22021-05-10 11:00:39 +0200287 $ref: '#/components/schemas/Resource'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100288 '204':
289 description: >-
290 Success case ("204 No Content").
291 This status code is returned when there is no need to return the updated
292 resource representations.
293 The response message body is empty.
294 default:
295 description: Error case.
296 content:
297 application/json:
298 schema:
Michal Banka028e1c22021-05-10 11:00:39 +0200299 $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100300 delete:
301 summary: Deletes one or multiple resources
302 description: >-
303 With HTTP DELETE resources are deleted. The resources to be deleted are
304 identified with the target URI.
305 parameters:
306 - name: scope
307 in: query
308 description: >-
309 This parameter extends the set of targeted resources beyond the base
310 resource identified with the path component of the URI. No scoping
311 mechanism is specified in the present document.
312 required: false
313 schema:
Michal Banka028e1c22021-05-10 11:00:39 +0200314 $ref: '#/components/schemas/Scope'
315 style: form
316 explode: true
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100317 - name: filter
318 in: query
319 description: >-
320 This parameter reduces the targeted set of resources by applying a
321 filter to the scoped set of resource representations. Only resources
322 representations for which the filter construct evaluates to "true"
323 are returned. No filter language is specified in the present
324 document.
325 required: false
326 schema:
Michal Banka028e1c22021-05-10 11:00:39 +0200327 $ref: 'comDefs.yaml#/components/schemas/Filter'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100328 responses:
329 '200':
330 description: >-
331 Success case ("200 OK").
332 This status code shall be returned, when query parameters are present in
333 the request and one or multiple resources are deleted.
334 The URIs of the deleted resources are returned in the response message body.
335 '204':
336 description: >-
337 Success case ("204 No Content").
338 This status code shall be returned, when no query parameters are present in
339 the request and only one resource is deleted.
340 The message body is empty.
341 content:
342 application/json:
343 schema:
Michal Banka028e1c22021-05-10 11:00:39 +0200344 type: array
345 items:
346 $ref: 'comDefs.yaml#/components/schemas/Uri'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100347 default:
348 description: Error case.
349 content:
350 application/json:
351 schema:
Michal Banka028e1c22021-05-10 11:00:39 +0200352 $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100353components:
354 schemas:
Michal Banka028e1c22021-05-10 11:00:39 +0200355 CorrelatedNotification:
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100356 type: object
357 properties:
358 source:
Michal Banka028e1c22021-05-10 11:00:39 +0200359 $ref: 'comDefs.yaml#/components/schemas/Dn'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100360 notificationIds:
361 type: array
362 items:
Michal Banka028e1c22021-05-10 11:00:39 +0200363 $ref: 'comDefs.yaml#/components/schemas/NotificationId'
364 required:
365 - source
366 - notificationIds
367 CmNotificationTypes:
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100368 type: string
369 enum:
370 - notifyMOICreation
371 - notifyMOIDeletion
Michal Banka028e1c22021-05-10 11:00:39 +0200372 - notifyMOIAttributeValueChanges
373 - notifyMOIChanges
374 SourceIndicator:
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100375 type: string
376 enum:
Michal Banka028e1c22021-05-10 11:00:39 +0200377 - RESOURCE_OPERATION
378 - MANAGEMENT_OPERATION
379 - SON_OPERATION
380 - UNKNOWN
381 Operation:
382 type: string
383 enum:
384 - CREATE
385 - DELETE
386 - REPLACE
387 ScopeType:
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100388 type: string
389 enum:
390 - BASE_ONLY
391 - BASE_NTH_LEVEL
392 - BASE_SUBTREE
393 - BASE_ALL
Michal Banka028e1c22021-05-10 11:00:39 +0200394 Scope:
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100395 type: object
396 properties:
397 scopeType:
Michal Banka028e1c22021-05-10 11:00:39 +0200398 $ref: '#/components/schemas/ScopeType'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100399 scopeLevel:
Michal Banka028e1c22021-05-10 11:00:39 +0200400 type: integer
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100401
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100402
Michal Banka028e1c22021-05-10 11:00:39 +0200403 Resource:
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100404 oneOf:
405 - type: object
406 properties:
407 id:
408 type: string
409 attributes:
410 type: object
411 additionalProperties:
412 type: array
413 items:
414 type: object
415 - anyOf:
416 - $ref: 'genericNrm.yaml#/components/schemas/resources-genericNrm'
417 - $ref: 'nrNrm.yaml#/components/schemas/resources-nrNrm'
418 - $ref: '5gcNrm.yaml#/components/schemas/resources-5gcNrm'
419 - $ref: 'sliceNrm.yaml#/components/schemas/resources-sliceNrm'
420
Michal Banka028e1c22021-05-10 11:00:39 +0200421 MoiChange:
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100422 type: object
423 properties:
424 notificationId:
Michal Banka028e1c22021-05-10 11:00:39 +0200425 $ref: 'comDefs.yaml#/components/schemas/NotificationId'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100426 correlatedNotifications:
427 type: array
428 items:
Michal Banka028e1c22021-05-10 11:00:39 +0200429 $ref: '#/components/schemas/CorrelatedNotification'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100430 additionalText:
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100431 type: string
Michal Banka028e1c22021-05-10 11:00:39 +0200432 sourceIndicator:
433 $ref: '#/components/schemas/SourceIndicator'
434 path:
435 $ref: 'comDefs.yaml#/components/schemas/Uri'
436 operation:
437 $ref: '#/components/schemas/Operation'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100438 value:
439 oneOf:
Michal Banka028e1c22021-05-10 11:00:39 +0200440 - $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
441 - $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100442
Michal Banka028e1c22021-05-10 11:00:39 +0200443 NotifyMoiCreation:
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100444 allOf:
Michal Banka028e1c22021-05-10 11:00:39 +0200445 - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100446 - type: object
447 properties:
448 correlatedNotifications:
449 type: array
450 items:
Michal Banka028e1c22021-05-10 11:00:39 +0200451 $ref: '#/components/schemas/CorrelatedNotification'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100452 additionalText:
Michal Banka028e1c22021-05-10 11:00:39 +0200453 type: string
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100454 sourceIndicator:
Michal Banka028e1c22021-05-10 11:00:39 +0200455 $ref: '#/components/schemas/SourceIndicator'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100456 attributeList:
Michal Banka028e1c22021-05-10 11:00:39 +0200457 $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
458 NotifyMoiDeletion:
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100459 allOf:
Michal Banka028e1c22021-05-10 11:00:39 +0200460 - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100461 - type: object
462 properties:
463 correlatedNotifications:
464 type: array
465 items:
Michal Banka028e1c22021-05-10 11:00:39 +0200466 $ref: '#/components/schemas/CorrelatedNotification'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100467 additionalText:
Michal Banka028e1c22021-05-10 11:00:39 +0200468 type: string
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100469 sourceIndicator:
Michal Banka028e1c22021-05-10 11:00:39 +0200470 $ref: '#/components/schemas/SourceIndicator'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100471 attributeList:
Michal Banka028e1c22021-05-10 11:00:39 +0200472 $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
473 NotifyMoiAttributeValueChanges:
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100474 allOf:
Michal Banka028e1c22021-05-10 11:00:39 +0200475 - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100476 - type: object
477 properties:
478 correlatedNotifications:
479 type: array
480 items:
Michal Banka028e1c22021-05-10 11:00:39 +0200481 $ref: '#/components/schemas/CorrelatedNotification'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100482 additionalText:
Michal Banka028e1c22021-05-10 11:00:39 +0200483 type: string
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100484 sourceIndicator:
Michal Banka028e1c22021-05-10 11:00:39 +0200485 $ref: '#/components/schemas/SourceIndicator'
486 attributeListValueChanges:
487 $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100488 required:
Michal Banka028e1c22021-05-10 11:00:39 +0200489 - attributeListValueChanges
490 NotifyMoiChanges:
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100491 allOf:
Michal Banka028e1c22021-05-10 11:00:39 +0200492 - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100493 - type: object
494 properties:
Michal Banka028e1c22021-05-10 11:00:39 +0200495 moiChanges:
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100496 type: array
497 items:
Michal Banka028e1c22021-05-10 11:00:39 +0200498 $ref: '#/components/schemas/MoiChange'
Bogumil Zebek2bc52ea2021-02-24 07:46:24 +0100499 required:
Michal Banka028e1c22021-05-10 11:00:39 +0200500 - moiChanges