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