3c9fb59966649dd935c475b5fb04f0660305c274
[nonrtric.git] / dmaap-adaptor-java / api / api.yaml
1 openapi: 3.0.1
2 info:
3   title: Generic Dmaap Information Producer
4   description: Reads data from DMAAP and sends it further to information consumers
5   license:
6     name: Copyright (C) 2021 Nordix Foundation. Licensed under the Apache License.
7     url: http://www.apache.org/licenses/LICENSE-2.0
8   version: "1.0"
9 servers:
10 - url: /
11 tags:
12 - name: Actuator
13   description: Monitor and interact
14   externalDocs:
15     description: Spring Boot Actuator Web API Documentation
16     url: https://docs.spring.io/spring-boot/docs/current/actuator-api/html/
17 paths:
18   /dmaap_dataproducer/info_job:
19     get:
20       tags:
21       - Producer job control API
22       summary: Get all jobs
23       description: Returns all info jobs, can be used for trouble shooting
24       operationId: getJobs
25       responses:
26         200:
27           description: Information jobs
28           content:
29             application/json:
30               schema:
31                 type: array
32                 items:
33                   $ref: '#/components/schemas/producer_info_job_request'
34     post:
35       tags:
36       - Producer job control API
37       summary: Callback for Information Job creation/modification
38       description: The call is invoked to activate or to modify a data subscription.
39         The endpoint is provided by the Information Producer.
40       operationId: jobCreatedCallback
41       requestBody:
42         content:
43           application/json:
44             schema:
45               type: string
46         required: true
47       responses:
48         200:
49           description: OK
50           content:
51             application/json:
52               schema:
53                 $ref: '#/components/schemas/void'
54         404:
55           description: Information type is not found
56           content:
57             application/json:
58               schema:
59                 $ref: '#/components/schemas/error_information'
60   /dmaap_dataproducer/health_check:
61     get:
62       tags:
63       - Producer job control API
64       summary: Producer supervision
65       description: The endpoint is provided by the Information Producer and is used
66         for supervision of the producer.
67       operationId: producerSupervision
68       responses:
69         200:
70           description: The producer is OK
71           content:
72             application/json:
73               schema:
74                 type: string
75   /actuator/threaddump:
76     get:
77       tags:
78       - Actuator
79       summary: Actuator web endpoint 'threaddump'
80       operationId: handle_2_1_3
81       responses:
82         200:
83           description: OK
84           content:
85             '*/*':
86               schema:
87                 type: object
88   /actuator/info:
89     get:
90       tags:
91       - Actuator
92       summary: Actuator web endpoint 'info'
93       operationId: handle_9
94       responses:
95         200:
96           description: OK
97           content:
98             '*/*':
99               schema:
100                 type: object
101   /data-producer/v1/info-types/{infoTypeId}:
102     put:
103       tags:
104       - Information Coordinator Service Simulator (exists only in test)
105       operationId: putInfoType
106       parameters:
107       - name: infoTypeId
108         in: path
109         required: true
110         style: simple
111         explode: false
112         schema:
113           type: string
114       requestBody:
115         content:
116           application/json:
117             schema:
118               $ref: '#/components/schemas/producer_info_type_info'
119         required: true
120       responses:
121         200:
122           description: OK
123           content:
124             application/json:
125               schema:
126                 type: object
127   /actuator/loggers:
128     get:
129       tags:
130       - Actuator
131       summary: Actuator web endpoint 'loggers'
132       operationId: handle_6
133       responses:
134         200:
135           description: OK
136           content:
137             '*/*':
138               schema:
139                 type: object
140   /actuator/health/**:
141     get:
142       tags:
143       - Actuator
144       summary: Actuator web endpoint 'health-path'
145       operationId: handle_12
146       responses:
147         200:
148           description: OK
149           content:
150             '*/*':
151               schema:
152                 type: object
153   /data-producer/v1/info-producers/{infoProducerId}:
154     get:
155       tags:
156       - Information Coordinator Service Simulator (exists only in test)
157       operationId: getInfoProducer
158       parameters:
159       - name: infoProducerId
160         in: path
161         required: true
162         style: simple
163         explode: false
164         schema:
165           type: string
166       responses:
167         200:
168           description: OK
169           content:
170             application/json:
171               schema:
172                 type: object
173     put:
174       tags:
175       - Information Coordinator Service Simulator (exists only in test)
176       operationId: putInfoProducer
177       parameters:
178       - name: infoProducerId
179         in: path
180         required: true
181         style: simple
182         explode: false
183         schema:
184           type: string
185       requestBody:
186         content:
187           application/json:
188             schema:
189               $ref: '#/components/schemas/producer_registration_info'
190         required: true
191       responses:
192         200:
193           description: OK
194           content:
195             application/json:
196               schema:
197                 type: object
198   /actuator/metrics/{requiredMetricName}:
199     get:
200       tags:
201       - Actuator
202       summary: Actuator web endpoint 'metrics-requiredMetricName'
203       operationId: handle_5
204       parameters:
205       - name: requiredMetricName
206         in: path
207         required: true
208         style: simple
209         explode: false
210         schema:
211           type: string
212       responses:
213         200:
214           description: OK
215           content:
216             '*/*':
217               schema:
218                 type: object
219   /actuator:
220     get:
221       tags:
222       - Actuator
223       summary: Actuator root web endpoint
224       operationId: links_1
225       responses:
226         200:
227           description: OK
228           content:
229             '*/*':
230               schema:
231                 type: object
232                 additionalProperties:
233                   type: object
234                   additionalProperties:
235                     $ref: '#/components/schemas/Link'
236   /actuator/logfile:
237     get:
238       tags:
239       - Actuator
240       summary: Actuator web endpoint 'logfile'
241       operationId: handle_8
242       responses:
243         200:
244           description: OK
245           content:
246             '*/*':
247               schema:
248                 type: object
249   /actuator/loggers/{name}:
250     get:
251       tags:
252       - Actuator
253       summary: Actuator web endpoint 'loggers-name'
254       operationId: handle_7
255       parameters:
256       - name: name
257         in: path
258         required: true
259         style: simple
260         explode: false
261         schema:
262           type: string
263       responses:
264         200:
265           description: OK
266           content:
267             '*/*':
268               schema:
269                 type: object
270     post:
271       tags:
272       - Actuator
273       summary: Actuator web endpoint 'loggers-name'
274       operationId: handle_0
275       parameters:
276       - name: name
277         in: path
278         required: true
279         style: simple
280         explode: false
281         schema:
282           type: string
283       responses:
284         200:
285           description: OK
286           content:
287             '*/*':
288               schema:
289                 type: object
290   /dmaap_dataproducer/info_job/{infoJobId}:
291     delete:
292       tags:
293       - Producer job control API
294       summary: Callback for Information Job deletion
295       description: The call is invoked to terminate a data subscription. The endpoint
296         is provided by the Information Producer.
297       operationId: jobDeletedCallback
298       parameters:
299       - name: infoJobId
300         in: path
301         required: true
302         style: simple
303         explode: false
304         schema:
305           type: string
306       responses:
307         200:
308           description: OK
309           content:
310             application/json:
311               schema:
312                 $ref: '#/components/schemas/void'
313   /actuator/health:
314     get:
315       tags:
316       - Actuator
317       summary: Actuator web endpoint 'health'
318       operationId: handle_11
319       responses:
320         200:
321           description: OK
322           content:
323             '*/*':
324               schema:
325                 type: object
326   /consumer:
327     post:
328       tags:
329       - Test Consumer Simulator (exists only in test)
330       summary: Consume data
331       description: The call is invoked to push data to consumer
332       operationId: postData
333       requestBody:
334         content:
335           application/json:
336             schema:
337               type: string
338         required: true
339       responses:
340         200:
341           description: OK
342           content:
343             application/json:
344               schema:
345                 $ref: '#/components/schemas/void'
346   /dmaap-topic-1:
347     get:
348       tags:
349       - DMAAP Simulator (exists only in test)
350       summary: GET from topic
351       description: The call is invoked to activate or to modify a data subscription.
352         The endpoint is provided by the Information Producer.
353       operationId: getFromTopic
354       responses:
355         200:
356           description: OK
357           content:
358             application/json:
359               schema:
360                 $ref: '#/components/schemas/void'
361   /actuator/metrics:
362     get:
363       tags:
364       - Actuator
365       summary: Actuator web endpoint 'metrics'
366       operationId: handle_4
367       responses:
368         200:
369           description: OK
370           content:
371             '*/*':
372               schema:
373                 type: object
374   /actuator/heapdump:
375     get:
376       tags:
377       - Actuator
378       summary: Actuator web endpoint 'heapdump'
379       operationId: handle_10
380       responses:
381         200:
382           description: OK
383           content:
384             '*/*':
385               schema:
386                 type: object
387 components:
388   schemas:
389     producer_info_job_request:
390       required:
391       - info_job_identity
392       type: object
393       properties:
394         owner:
395           type: string
396           description: The owner of the job
397         last_updated:
398           type: string
399           description: The time when the job was last updated or created (ISO-8601)
400         info_job_identity:
401           type: string
402           description: Identity of the Information Job
403         target_uri:
404           type: string
405           description: URI for the target of the produced Information
406         info_job_data:
407           type: object
408           description: Json for the job data
409         info_type_identity:
410           type: string
411           description: Type identity for the job
412       description: The body of the Information Producer callbacks for Information
413         Job creation and deletion
414     error_information:
415       type: object
416       properties:
417         detail:
418           type: string
419           description: ' A human-readable explanation specific to this occurrence
420             of the problem.'
421           example: Policy type not found
422         status:
423           type: integer
424           description: 'The HTTP status code generated by the origin server for this
425             occurrence of the problem. '
426           format: int32
427           example: 503
428       description: Problem as defined in https://tools.ietf.org/html/rfc7807
429     void:
430       type: object
431       description: Void/empty
432     producer_registration_info:
433       required:
434       - info_job_callback_url
435       - info_producer_supervision_callback_url
436       - supported_info_types
437       type: object
438       properties:
439         info_producer_supervision_callback_url:
440           type: string
441           description: callback for producer supervision
442         supported_info_types:
443           type: array
444           description: Supported Information Type IDs
445           items:
446             type: string
447             description: Supported Information Type IDs
448         info_job_callback_url:
449           type: string
450           description: callback for Information Job
451       description: Information for an Information Producer
452     Link:
453       type: object
454       properties:
455         templated:
456           type: boolean
457         href:
458           type: string
459     producer_info_type_info:
460       required:
461       - info_job_data_schema
462       - info_type_information
463       type: object
464       properties:
465         info_type_information:
466           type: object
467           description: Type specific information for the information type
468         info_job_data_schema:
469           type: object
470           description: Json schema for the job data
471       description: Information for an Information Type