blob: 3c9fb59966649dd935c475b5fb04f0660305c274 [file] [log] [blame]
PatrikBuhr960e66a2021-10-26 09:46:11 +02001openapi: 3.0.1
2info:
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"
9servers:
10- url: /
11tags:
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/
17paths:
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
387components:
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