[HOLMES] Bumped the version of holmes-rule-mgmt
[oom.git] / kubernetes / dcaegen2-services / resources / external / schemas / sa91-rel16 / provMnS.yaml
1 openapi: 3.0.1
2 info:
3   title: Provisioning MnS
4   version: 16.5.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.
9 externalDocs:
10   description: 3GPP TS 28.532; Generic management services
11   url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/
12 servers:
13   - url: '{MnSRoot}/ProvMnS/{MnSVersion}/{URI-LDN-first-part}'
14     variables:
15       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
23         default: ''
24 paths:
25   '/{className}={id}':
26     parameters:
27       - name: className
28         in: path
29         required: true
30         schema:
31           type: string
32       - name: id
33         in: path
34         required: true
35         schema:
36           type: string
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/Resource'
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/Resource'
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/Resource'
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: 'comDefs.yaml#/components/schemas/ErrorResponse'
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'
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: 'comDefs.yaml#/components/schemas/ErrorResponse'
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'
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: 'comDefs.yaml#/components/schemas/ErrorResponse'
129         notifyMOIAttributeValueChanges:
130           '{request.body#/notificationRecipientAddress}':
131             post:
132               requestBody:
133                 required: true
134                 content:
135                   application/json:
136                     schema:
137                       $ref: '#/components/schemas/NotifyMoiAttributeValueChanges'
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: 'comDefs.yaml#/components/schemas/ErrorResponse'
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'
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: 'comDefs.yaml#/components/schemas/ErrorResponse'
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'
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: 'comDefs.yaml#/components/schemas/Filter'
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             type: array
208             items:
209               type: string
210           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:
219             type: array
220             items:
221               type: string
222           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:
236                 $ref: '#/components/schemas/Resource'
237         default:
238           description: Error case.
239           content:
240             application/json:
241               schema:
242                 $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
243     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:
261               $ref: '#/components/schemas/Resource'
262           application/3gpp-merge-patch+json:
263             schema:
264               $ref: '#/components/schemas/Resource'
265           application/json-patch+json:
266             schema:
267               type: array
268               items:
269                 type: object
270           application/3gpp-json-patch+json:
271             schema:
272               type: array
273               items:
274                 type: object
275       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:
287                 $ref: '#/components/schemas/Resource'
288         '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:
299                 $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
300     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:
314             $ref: '#/components/schemas/Scope'
315           style: form
316           explode: true
317         - 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:
327             $ref: 'comDefs.yaml#/components/schemas/Filter'
328       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:
344                 type: array
345                 items:
346                   $ref: 'comDefs.yaml#/components/schemas/Uri'
347         default:
348           description: Error case.
349           content:
350             application/json:
351               schema:
352                 $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
353 components:
354   schemas:
355     CorrelatedNotification:
356       type: object
357       properties:
358         source:
359           $ref: 'comDefs.yaml#/components/schemas/Dn'
360         notificationIds:
361           type: array
362           items:
363             $ref: 'comDefs.yaml#/components/schemas/NotificationId'
364       required:
365         - source
366         - notificationIds
367     CmNotificationTypes:
368       type: string
369       enum:
370         - notifyMOICreation
371         - notifyMOIDeletion
372         - notifyMOIAttributeValueChanges
373         - notifyMOIChanges
374     SourceIndicator:
375       type: string
376       enum:
377         - 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:
388       type: string
389       enum:
390         - BASE_ONLY
391         - BASE_NTH_LEVEL
392         - BASE_SUBTREE
393         - BASE_ALL
394     Scope:
395       type: object
396       properties:
397         scopeType:
398           $ref: '#/components/schemas/ScopeType'
399         scopeLevel:
400           type: integer
401
402
403     Resource:
404       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
421     MoiChange:
422       type: object
423       properties:
424         notificationId:
425           $ref: 'comDefs.yaml#/components/schemas/NotificationId'
426         correlatedNotifications:
427           type: array
428           items:
429             $ref: '#/components/schemas/CorrelatedNotification'
430         additionalText:
431           type: string
432         sourceIndicator:
433           $ref: '#/components/schemas/SourceIndicator'
434         path:
435           $ref: 'comDefs.yaml#/components/schemas/Uri'
436         operation:
437           $ref: '#/components/schemas/Operation'
438         value:
439           oneOf:
440             - $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
441             - $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet'
442
443     NotifyMoiCreation:
444       allOf:
445         - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
446         - type: object
447           properties:
448             correlatedNotifications:
449               type: array
450               items:
451                 $ref: '#/components/schemas/CorrelatedNotification'
452             additionalText:
453               type: string
454             sourceIndicator:
455               $ref: '#/components/schemas/SourceIndicator'
456             attributeList:
457               $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
458     NotifyMoiDeletion:
459       allOf:
460         - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
461         - type: object
462           properties:
463             correlatedNotifications:
464               type: array
465               items:
466                 $ref: '#/components/schemas/CorrelatedNotification'
467             additionalText:
468               type: string
469             sourceIndicator:
470               $ref: '#/components/schemas/SourceIndicator'
471             attributeList:
472               $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
473     NotifyMoiAttributeValueChanges:
474       allOf:
475         - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
476         - type: object
477           properties:
478             correlatedNotifications:
479               type: array
480               items:
481                 $ref: '#/components/schemas/CorrelatedNotification'
482             additionalText:
483               type: string
484             sourceIndicator:
485               $ref: '#/components/schemas/SourceIndicator'
486             attributeListValueChanges:
487               $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet'
488           required:
489             - attributeListValueChanges
490     NotifyMoiChanges:
491       allOf:
492         - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
493         - type: object
494           properties:
495             moiChanges:
496               type: array
497               items:
498                 $ref: '#/components/schemas/MoiChange'
499           required:
500             - moiChanges