2d1a4fb16d930f5853b52691c4d31416ac8dd124
[oom.git] / kubernetes / dcaegen2-services / resources / external / schemas / sa91-rel16 / FileDataReportingMnS.yaml
1 openapi: 3.0.1
2 info:
3   title: TS 28.532 File data reporting Service
4   version: 16.6.0
5   description: >-
6     OAS 3.0.1 specification of the File data reporting Management Service © 2020,
7     3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All
8     rights reserved.
9 externalDocs:
10   description: 3GPP TS 28.532 V16.5.0; Generic management services
11   url: 'http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/'
12 servers:
13   - url: '{MnSRoot}/FileDataReportingMnS/{MnSversion}'
14     variables:
15       MnSRoot:
16         description: See subclause 4.4 of TS 32.158
17         default: http://example.com/3GPPManagement 
18       version:
19         description: Indicates the current version of the specification
20         default: 16.5.0
21 paths:
22   /Files:
23     get:
24       summary: Read resources of information of available files
25       description: With HTTP GET, resources of information of available files are read. The resources to be read are identified with the path component (base resource) and the query component (fileaType, beginTime and endTime) of the URI. The fields query component allows to select the resource properties to be returned.
26       parameters:
27         - name: fileType
28           in: query
29           description: This parameter identifies the type of management data that the file contains to select the resources from the collection resources identified with the path component of the URI.
30           required: true
31           schema:
32             $ref: '#/components/schemas/fileType-Type'
33         - name: beginTime
34           in: query
35           description: This parameter identifies the time stamp no later than which the file became available to select the resources from the collection resources identified with the path component of the URI.
36           required: true
37           schema:
38             $ref: '#/components/schemas/dateTime-Type'
39         - name: endTime
40           in: query
41           description: This parameter identifies the time stamp no earlier than which the file became available to select the resources from the collection resources identified with the path component of the URI.
42           required: true
43           schema:
44             $ref: '#/components/schemas/dateTime-Type'
45       responses:
46         '200':
47           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.'
48           content:
49             application/json:
50               schema:
51                 $ref: '#/components/schemas/fileInfoRetrieval-ResponseType'
52         default:
53           description: Error case.
54           content:
55             application/json:
56               schema:
57                 $ref: '#/components/schemas/error-ResponseType'
58   /subscriptions:
59     post:
60       summary: Create a subscription
61       description: To create a subscription the representation of the subscription is POSTed on the /subscriptions collection resource.
62       requestBody:
63         required: true
64         content:
65           application/json:
66             schema:
67               $ref: '#/components/schemas/subscription-RequestType'
68       responses:
69         '201':
70           description: Success case ("201 Created"). The representation of the newly created subscription resource shall be returned.
71           content:
72             application/json:
73               schema:
74                 $ref: '#/components/schemas/subscription-ResponseType'
75         default:
76           description: Error case.
77           content:
78             application/json:
79               schema:
80                 $ref: '#/components/schemas/error-ResponseType'
81       callbacks:
82         notifyFileReady:
83           '{request.body#/consumerReference}':
84             post:
85               requestBody:
86                 required: true
87                 content:
88                   application/json:
89                     schema:
90                       $ref: '#/components/schemas/notifyFileReady-NotifType'
91               responses:
92                 '204':
93                   description: Success case ("204 No Content"). The notification is successfully delivered. The response message body is absent.
94                 default:
95                   description: Error case.
96                   content:
97                     application/json:
98                       schema:
99                         $ref: '#/components/schemas/error-ResponseType'
100         notifyFilePreparationError:
101           '{request.body#/consumerReference}':
102             post:
103               requestBody:
104                 required: true
105                 content:
106                   application/json:
107                     schema:
108                       $ref: '#/components/schemas/notifyFilePreparationError-NotifType'
109               responses:
110                 '204':
111                   description: Success case ("204 No Content"). The notification is successfully delivered. The response message body is absent.
112                 default:
113                   description: Error case.
114                   content:
115                     application/json:
116                       schema:
117                         $ref: '#/components/schemas/error-ResponseType'
118     delete:
119       summary: Delete all subscriptions made with a specific consumerReferenceId
120       description: The subscriptions are deleted by deleting the corresponding subscription resources. The resources to be deleted are identified with the path component of the URI pointing to the /subscription collection resource and filtering on the consumerReferenceId provided in the query part.
121       parameters:
122         - name: consumerReferenceId
123           in: query
124           description: Identifies the subscriptions to be deleted.
125           required: true
126           schema:
127             $ref: '#/components/schemas/consumerReferenceId-QueryType'
128       responses:
129         '204':
130           description: Success case ("204 No Content"). The subscription resources have been deleted. The response message body is absent.
131         default:
132           description: Error case.
133           content:
134             application/json:
135               schema:
136                 $ref: '#/components/schemas/error-ResponseType'
137   '/subscriptions/{subscriptionId}':
138     delete:
139       summary: Delete a single subscription
140       description: The subscription is deleted by deleting the corresponding subscription resource. The resource to be deleted is identified with the path component of the URI.
141       parameters:
142         - name: subscriptionId
143           in: path
144           description: Identifies the subscription to be deleted.
145           required: true
146           schema:
147             $ref: '#/components/schemas/subscriptionId-PathType'
148       responses:
149         '204':
150           description: Success case ("204 No Content"). The subscription resource has been deleted. The response message body is absent.
151         default:
152           description: Error case.
153           content:
154             application/json:
155               schema:
156                 $ref: '#/components/schemas/error-ResponseType'
157 components:
158   schemas:
159     dateTime-Type:
160       type: string
161       format: date-Time
162     uri-Type:
163       type: string
164     long-Type:
165       type: string
166       format: long
167     additionalText-Type:
168       type: string
169     reason-Type:
170       type: string
171     fileInfoRetrieval-ResponseType:
172       type: object
173       properties:
174         data:
175           type: array
176           items:
177             $ref: '#/components/schemas/fileInfo-Type'
178     fileInfo-Type:
179       type: object
180       properties:
181         fileLocation:
182           $ref: '#/components/schemas/uri-Type'
183         fileSize:
184           $ref: '#/components/schemas/long-Type'
185         fileReadyTime:
186           $ref: '#/components/schemas/dateTime-Type'
187         fileExpirationTime:
188           $ref: '#/components/schemas/dateTime-Type'
189         fileCompression:
190           type: string
191         fileFormat:
192           type: string
193         fileType:
194           $ref: '#/components/schemas/fileType-Type'
195     error-ResponseType:
196       type: object
197       properties:
198         error:
199           type: object
200           properties:
201             errorInfo:
202               type: string
203     fileType-Type:
204       type: string
205       enum:
206         - PERFORMANCE
207         - TRACE
208         - ANALYTICS
209         - PROPRIETARY
210     header-Type:
211       description: Header used in notifications as notification header
212       type: object
213       properties:
214         uri:
215           $ref: '#/components/schemas/uri-Type'
216         notificationId:
217           $ref: '#/components/schemas/notificationId-Type'
218         notificationType:
219           $ref: '#/components/schemas/notificationType-Type'
220         eventTime:
221           $ref: '#/components/schemas/dateTime-Type'
222     subscriptionId-PathType:
223       type: string
224     filter-Type:
225       type: string
226     notificationId-Type:
227       $ref: '#/components/schemas/long-Type'
228     notificationType-Type:
229       type: string
230       enum:
231         - notifyFileReady
232         - notifyFilePreparationError
233     subscription-ResourceType:
234       type: object
235       properties:
236         consumerReference:
237           $ref: '#/components/schemas/uri-Type'
238         timeTick:
239           $ref: '#/components/schemas/long-Type'
240         filter:
241           $ref: '#/components/schemas/filter-Type'
242     subscription-RequestType:
243       type: object
244       properties:
245         data:
246           $ref: '#/components/schemas/subscription-ResourceType'
247     subscription-ResponseType:
248       type: object
249       properties:
250         data:
251           $ref: '#/components/schemas/subscription-ResourceType'
252     consumerReferenceId-QueryType:
253       $ref: '#/components/schemas/uri-Type'
254     notifyFileReady-NotifType:
255       type: object
256       properties:
257         header:
258           $ref: '#/components/schemas/header-Type'
259         body:
260           type: object
261           properties:
262             fileInfoList:
263               type: array
264               items:
265                 $ref: '#/components/schemas/fileInfo-Type'
266             additionalText:
267               $ref: '#/components/schemas/additionalText-Type'
268     notifyFilePreparationError-NotifType:
269       type: object
270       properties:
271         header:
272           $ref: '#/components/schemas/header-Type'
273         body:
274           type: object
275           properties:
276             fileInfoList:
277               type: array
278               items:
279                 $ref: '#/components/schemas/fileInfo-Type'
280             reason:
281               $ref: '#/components/schemas/reason-Type'
282             additionalText:
283               $ref: '#/components/schemas/additionalText-Type'