blob: 15883a68f9244bd3097e9ca0d70f3e4c0fef55a0 [file] [log] [blame]
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +02001openapi: 3.0.1
2info:
3 title: Generic Dmaap and Kafka Information Producer
4 description: Reads data from DMaaP and Kafka and posts it further to information
5 consumers
6 license:
7 name: Copyright (C) 2021 Nordix Foundation. Licensed under the Apache License.
8 url: http://www.apache.org/licenses/LICENSE-2.0
9 version: "1.0"
10servers:
11- url: /
12tags:
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +020013- name: Actuator
14 description: Monitor and interact
15 externalDocs:
16 description: Spring Boot Actuator Web API Documentation
17 url: https://docs.spring.io/spring-boot/docs/current/actuator-api/html/
18paths:
19 /actuator/threaddump:
20 get:
21 tags:
22 - Actuator
23 summary: Actuator web endpoint 'threaddump'
PatrikBuhrfed25ab2023-02-06 09:20:50 +010024 operationId: threaddump
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +020025 responses:
26 200:
27 description: OK
28 content:
PatrikBuhrfed25ab2023-02-06 09:20:50 +010029 text/plain;charset=UTF-8:
30 schema:
31 type: object
32 application/vnd.spring-boot.actuator.v3+json:
33 schema:
34 type: object
35 application/json:
36 schema:
37 type: object
38 application/vnd.spring-boot.actuator.v2+json:
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +020039 schema:
40 type: object
41 /actuator/info:
42 get:
43 tags:
44 - Actuator
45 summary: Actuator web endpoint 'info'
PatrikBuhrfed25ab2023-02-06 09:20:50 +010046 operationId: info
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +020047 responses:
48 200:
49 description: OK
50 content:
PatrikBuhrfed25ab2023-02-06 09:20:50 +010051 application/vnd.spring-boot.actuator.v3+json:
52 schema:
53 type: object
54 application/json:
55 schema:
56 type: object
57 application/vnd.spring-boot.actuator.v2+json:
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +020058 schema:
59 type: object
60 /data-producer/v1/info-types/{infoTypeId}:
61 put:
62 tags:
63 - Information Coordinator Service Simulator (exists only in test)
64 operationId: putInfoType
65 parameters:
66 - name: infoTypeId
67 in: path
68 required: true
69 style: simple
70 explode: false
71 schema:
72 type: string
73 requestBody:
74 content:
75 application/json:
76 schema:
77 $ref: '#/components/schemas/producer_info_type_info'
78 required: true
79 responses:
80 200:
81 description: OK
82 content:
83 application/json:
84 schema:
85 type: object
PatrikBuhr65b24822022-08-23 13:25:43 +020086 /statistics:
87 get:
88 tags:
89 - Producer job control API
90 summary: Returns statistics
91 operationId: getStatistics
92 responses:
93 200:
94 description: OK
95 content:
96 application/json:
97 schema:
98 $ref: '#/components/schemas/statistics_info'
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +020099 /generic_dataproducer/health_check:
100 get:
101 tags:
102 - Producer job control API
103 summary: Producer supervision
104 description: The endpoint is provided by the Information Producer and is used
105 for supervision of the producer.
106 operationId: producerSupervision
107 responses:
108 200:
109 description: The producer is OK
110 content:
111 application/json:
112 schema:
113 type: string
114 /generic_dataproducer/info_job:
115 get:
116 tags:
117 - Producer job control API
118 summary: Get all jobs
119 description: Returns all info jobs, can be used for trouble shooting
120 operationId: getJobs
121 responses:
122 200:
123 description: Information jobs
124 content:
125 application/json:
126 schema:
127 type: array
128 items:
129 $ref: '#/components/schemas/producer_info_job_request'
130 post:
131 tags:
132 - Producer job control API
133 summary: Callback for Information Job creation/modification
134 description: The call is invoked to activate or to modify a data subscription.
135 The endpoint is provided by the Information Producer.
136 operationId: jobCreatedCallback
137 requestBody:
138 content:
139 application/json:
140 schema:
141 type: string
142 required: true
143 responses:
144 200:
145 description: OK
146 content:
147 application/json:
148 schema:
149 $ref: '#/components/schemas/void'
150 400:
151 description: Other error in the request
152 content:
153 application/json:
154 schema:
155 $ref: '#/components/schemas/error_information'
156 404:
157 description: Information type is not found
158 content:
159 application/json:
160 schema:
161 $ref: '#/components/schemas/error_information'
162 /actuator/loggers:
163 get:
164 tags:
165 - Actuator
166 summary: Actuator web endpoint 'loggers'
PatrikBuhrfed25ab2023-02-06 09:20:50 +0100167 operationId: loggers
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200168 responses:
169 200:
170 description: OK
171 content:
PatrikBuhrfed25ab2023-02-06 09:20:50 +0100172 application/vnd.spring-boot.actuator.v3+json:
173 schema:
174 type: object
175 application/json:
176 schema:
177 type: object
178 application/vnd.spring-boot.actuator.v2+json:
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200179 schema:
180 type: object
181 /actuator/health/**:
182 get:
183 tags:
184 - Actuator
185 summary: Actuator web endpoint 'health-path'
PatrikBuhrfed25ab2023-02-06 09:20:50 +0100186 operationId: health-path
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200187 responses:
188 200:
189 description: OK
190 content:
PatrikBuhrfed25ab2023-02-06 09:20:50 +0100191 application/vnd.spring-boot.actuator.v3+json:
192 schema:
193 type: object
194 application/json:
195 schema:
196 type: object
197 application/vnd.spring-boot.actuator.v2+json:
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200198 schema:
199 type: object
PatrikBuhrc32ab312023-01-05 14:06:38 +0100200 /actuator/shutdown:
201 post:
202 tags:
203 - Actuator
204 summary: Actuator web endpoint 'shutdown'
PatrikBuhrfed25ab2023-02-06 09:20:50 +0100205 operationId: shutdown
PatrikBuhrc32ab312023-01-05 14:06:38 +0100206 responses:
207 200:
208 description: OK
209 content:
PatrikBuhrfed25ab2023-02-06 09:20:50 +0100210 application/vnd.spring-boot.actuator.v3+json:
211 schema:
212 type: object
213 application/json:
214 schema:
215 type: object
216 application/vnd.spring-boot.actuator.v2+json:
PatrikBuhrc32ab312023-01-05 14:06:38 +0100217 schema:
218 type: object
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200219 /data-producer/v1/info-producers/{infoProducerId}:
220 get:
221 tags:
222 - Information Coordinator Service Simulator (exists only in test)
223 operationId: getInfoProducer
224 parameters:
225 - name: infoProducerId
226 in: path
227 required: true
228 style: simple
229 explode: false
230 schema:
231 type: string
232 responses:
233 200:
234 description: OK
235 content:
236 application/json:
237 schema:
238 type: object
239 put:
240 tags:
241 - Information Coordinator Service Simulator (exists only in test)
242 operationId: putInfoProducer
243 parameters:
244 - name: infoProducerId
245 in: path
246 required: true
247 style: simple
248 explode: false
249 schema:
250 type: string
251 requestBody:
252 content:
253 application/json:
254 schema:
255 $ref: '#/components/schemas/producer_registration_info'
256 required: true
257 responses:
258 200:
259 description: OK
260 content:
261 application/json:
262 schema:
263 type: object
PatrikBuhrfed25ab2023-02-06 09:20:50 +0100264 /actuator/metrics/{requiredMetricName}:
265 get:
266 tags:
267 - Actuator
268 summary: Actuator web endpoint 'metrics-requiredMetricName'
269 operationId: metrics-requiredMetricName
270 parameters:
271 - name: requiredMetricName
272 in: path
273 required: true
274 style: simple
275 explode: false
276 schema:
277 type: string
278 responses:
279 200:
280 description: OK
281 content:
282 application/vnd.spring-boot.actuator.v3+json:
283 schema:
284 type: object
285 application/json:
286 schema:
287 type: object
288 application/vnd.spring-boot.actuator.v2+json:
289 schema:
290 type: object
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200291 /generic_dataproducer/info_job/{infoJobId}:
292 delete:
293 tags:
294 - Producer job control API
295 summary: Callback for Information Job deletion
296 description: The call is invoked to terminate a data subscription. The endpoint
297 is provided by the Information Producer.
298 operationId: jobDeletedCallback
299 parameters:
300 - name: infoJobId
301 in: path
302 required: true
303 style: simple
304 explode: false
305 schema:
306 type: string
307 responses:
308 200:
309 description: OK
310 content:
311 application/json:
312 schema:
313 $ref: '#/components/schemas/void'
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200314 /actuator:
315 get:
316 tags:
317 - Actuator
318 summary: Actuator root web endpoint
PatrikBuhrfed25ab2023-02-06 09:20:50 +0100319 operationId: links
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200320 responses:
321 200:
322 description: OK
323 content:
PatrikBuhrfed25ab2023-02-06 09:20:50 +0100324 application/vnd.spring-boot.actuator.v3+json:
325 schema:
326 type: object
327 additionalProperties:
328 type: object
329 additionalProperties:
330 $ref: '#/components/schemas/Link'
331 application/json:
332 schema:
333 type: object
334 additionalProperties:
335 type: object
336 additionalProperties:
337 $ref: '#/components/schemas/Link'
338 application/vnd.spring-boot.actuator.v2+json:
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200339 schema:
340 type: object
341 additionalProperties:
342 type: object
343 additionalProperties:
344 $ref: '#/components/schemas/Link'
345 /actuator/logfile:
346 get:
347 tags:
348 - Actuator
349 summary: Actuator web endpoint 'logfile'
PatrikBuhrfed25ab2023-02-06 09:20:50 +0100350 operationId: logfile
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200351 responses:
352 200:
353 description: OK
354 content:
PatrikBuhrfed25ab2023-02-06 09:20:50 +0100355 text/plain;charset=UTF-8:
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200356 schema:
357 type: object
PatrikBuhr331200e2022-09-23 15:06:40 +0200358 /data-consumer/v1/info-jobs/{infoJobId}:
359 put:
360 tags:
361 - Information Coordinator Service Simulator (exists only in test)
362 operationId: putIndividualInfoJob
363 parameters:
364 - name: infoJobId
365 in: path
366 required: true
367 style: simple
368 explode: false
369 schema:
370 type: string
371 requestBody:
372 content:
373 application/json:
374 schema:
375 $ref: '#/components/schemas/consumer_job'
376 required: true
377 responses:
378 200:
379 description: OK
380 content:
381 application/json:
382 schema:
383 type: object
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200384 /actuator/loggers/{name}:
385 get:
386 tags:
387 - Actuator
388 summary: Actuator web endpoint 'loggers-name'
PatrikBuhrfed25ab2023-02-06 09:20:50 +0100389 operationId: loggers-name
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200390 parameters:
391 - name: name
392 in: path
393 required: true
394 style: simple
395 explode: false
396 schema:
397 type: string
398 responses:
399 200:
400 description: OK
401 content:
PatrikBuhrfed25ab2023-02-06 09:20:50 +0100402 application/vnd.spring-boot.actuator.v3+json:
403 schema:
404 type: object
405 application/json:
406 schema:
407 type: object
408 application/vnd.spring-boot.actuator.v2+json:
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200409 schema:
410 type: object
411 post:
412 tags:
413 - Actuator
414 summary: Actuator web endpoint 'loggers-name'
PatrikBuhrfed25ab2023-02-06 09:20:50 +0100415 operationId: loggers-name_2
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200416 parameters:
417 - name: name
418 in: path
419 required: true
420 style: simple
421 explode: false
422 schema:
423 type: string
PatrikBuhrfed25ab2023-02-06 09:20:50 +0100424 requestBody:
425 content:
426 application/json:
427 schema:
428 type: string
429 enum:
430 - TRACE
431 - DEBUG
432 - INFO
433 - WARN
434 - ERROR
435 - FATAL
436 - OFF
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200437 responses:
438 200:
439 description: OK
440 content:
441 '*/*':
442 schema:
443 type: object
444 /actuator/health:
445 get:
446 tags:
447 - Actuator
448 summary: Actuator web endpoint 'health'
PatrikBuhrfed25ab2023-02-06 09:20:50 +0100449 operationId: health
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200450 responses:
451 200:
452 description: OK
453 content:
PatrikBuhrfed25ab2023-02-06 09:20:50 +0100454 application/vnd.spring-boot.actuator.v3+json:
455 schema:
456 type: object
457 application/json:
458 schema:
459 type: object
460 application/vnd.spring-boot.actuator.v2+json:
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200461 schema:
462 type: object
PatrikBuhr1609ddc2022-04-08 13:13:57 +0200463 /dmaap-topic-2:
464 get:
465 tags:
466 - DMAAP Simulator (exists only in test)
467 summary: GET from topic
468 description: The call is invoked to activate or to modify a data subscription.
469 The endpoint is provided by the Information Producer.
470 operationId: getFromPmTopic
471 responses:
472 200:
473 description: OK
474 content:
475 application/json:
476 schema:
477 $ref: '#/components/schemas/void'
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200478 /consumer:
479 post:
480 tags:
481 - Test Consumer Simulator (exists only in test)
482 summary: Consume data
483 description: The call is invoked to push data to consumer
484 operationId: postData
485 requestBody:
486 content:
487 application/json:
488 schema:
489 type: string
490 required: true
491 responses:
492 200:
493 description: OK
494 content:
495 application/json:
496 schema:
497 $ref: '#/components/schemas/void'
498 /dmaap-topic-1:
499 get:
500 tags:
501 - DMAAP Simulator (exists only in test)
502 summary: GET from topic
503 description: The call is invoked to activate or to modify a data subscription.
504 The endpoint is provided by the Information Producer.
505 operationId: getFromTopic
506 responses:
507 200:
508 description: OK
509 content:
510 application/json:
511 schema:
512 $ref: '#/components/schemas/void'
513 /actuator/metrics:
514 get:
515 tags:
516 - Actuator
517 summary: Actuator web endpoint 'metrics'
PatrikBuhrfed25ab2023-02-06 09:20:50 +0100518 operationId: metrics
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200519 responses:
520 200:
521 description: OK
522 content:
PatrikBuhrfed25ab2023-02-06 09:20:50 +0100523 application/vnd.spring-boot.actuator.v3+json:
524 schema:
525 type: object
526 application/json:
527 schema:
528 type: object
529 application/vnd.spring-boot.actuator.v2+json:
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200530 schema:
531 type: object
532 /actuator/heapdump:
533 get:
534 tags:
535 - Actuator
536 summary: Actuator web endpoint 'heapdump'
PatrikBuhrfed25ab2023-02-06 09:20:50 +0100537 operationId: heapdump
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200538 responses:
539 200:
540 description: OK
541 content:
PatrikBuhrfed25ab2023-02-06 09:20:50 +0100542 application/octet-stream:
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200543 schema:
544 type: object
545components:
546 schemas:
547 producer_info_job_request:
548 required:
549 - info_job_identity
550 type: object
551 properties:
552 owner:
553 type: string
554 description: The owner of the job
555 last_updated:
556 type: string
557 description: The time when the job was last updated or created (ISO-8601)
558 info_job_identity:
559 type: string
560 description: Identity of the Information Job
561 target_uri:
562 type: string
563 description: URI for the target of the produced Information
564 info_job_data:
565 type: object
566 description: Json for the job data
567 info_type_identity:
568 type: string
569 description: Type identity for the job
570 description: The body of the Information Producer callbacks for Information
571 Job creation and deletion
572 error_information:
573 type: object
574 properties:
575 detail:
576 type: string
577 description: ' A human-readable explanation specific to this occurrence
578 of the problem.'
579 example: Policy type not found
580 status:
581 type: integer
582 description: 'The HTTP status code generated by the origin server for this
583 occurrence of the problem. '
584 format: int32
585 example: 503
586 description: Problem as defined in https://tools.ietf.org/html/rfc7807
PatrikBuhr331200e2022-09-23 15:06:40 +0200587 consumer_job:
588 required:
589 - info_type_id
590 - job_definition
591 - job_owner
592 - job_result_uri
593 type: object
594 properties:
595 info_type_id:
596 type: string
597 description: Information type Idenitifier of the subscription job
598 job_result_uri:
599 type: string
600 description: The target URI of the subscribed information
601 job_owner:
602 type: string
603 description: Identity of the owner of the job
604 job_definition:
605 type: object
606 description: Information type specific job data
607 status_notification_uri:
608 type: string
609 description: The target of Information subscription job status notifications
610 description: Information for an Information Job
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200611 void:
612 type: object
613 description: Void/empty
PatrikBuhr65b24822022-08-23 13:25:43 +0200614 job_statistics:
615 required:
616 - jobId
617 - noOfReceivedBytes
618 - noOfReceivedObjects
619 - noOfSentBytes
620 - noOfSentObjects
621 - typeId
622 type: object
623 properties:
624 noOfSentObjects:
625 type: integer
PatrikBuhr34380af2022-11-22 08:57:57 +0100626 format: int64
PatrikBuhr65b24822022-08-23 13:25:43 +0200627 jobId:
628 type: string
629 outputTopic:
630 type: string
631 noOfSentBytes:
632 type: integer
PatrikBuhr34380af2022-11-22 08:57:57 +0100633 format: int64
PatrikBuhr65b24822022-08-23 13:25:43 +0200634 clientId:
635 type: string
636 groupId:
637 type: string
638 noOfReceivedBytes:
639 type: integer
PatrikBuhr34380af2022-11-22 08:57:57 +0100640 format: int64
PatrikBuhr65b24822022-08-23 13:25:43 +0200641 typeId:
642 type: string
643 inputTopic:
644 type: string
645 noOfReceivedObjects:
646 type: integer
PatrikBuhr34380af2022-11-22 08:57:57 +0100647 format: int64
PatrikBuhr65b24822022-08-23 13:25:43 +0200648 description: Statistics information for one job
649 statistics_info:
650 type: object
651 properties:
652 jobStatistics:
653 type: array
654 description: Statistics per job
655 items:
656 $ref: '#/components/schemas/job_statistics'
657 description: Statistics information
elinuxhenrik1cd0f2e2022-03-28 09:48:52 +0200658 producer_registration_info:
659 required:
660 - info_job_callback_url
661 - info_producer_supervision_callback_url
662 - supported_info_types
663 type: object
664 properties:
665 info_producer_supervision_callback_url:
666 type: string
667 description: callback for producer supervision
668 supported_info_types:
669 type: array
670 description: Supported Information Type IDs
671 items:
672 type: string
673 description: Supported Information Type IDs
674 info_job_callback_url:
675 type: string
676 description: callback for Information Job
677 description: Information for an Information Producer
678 Link:
679 type: object
680 properties:
681 templated:
682 type: boolean
683 href:
684 type: string
685 producer_info_type_info:
686 required:
687 - info_job_data_schema
688 - info_type_information
689 type: object
690 properties:
691 info_type_information:
692 type: object
693 description: Type specific information for the information type
694 info_job_data_schema:
695 type: object
696 description: Json schema for the job data
697 description: Information for an Information Type