blob: 88fed46b049247cd80d936295240ec6e7cc32553 [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": {
PatrikBuhrf07ca522021-11-22 14:53:05 +0100110 "/actuator/threaddump": {"get": {
111 "summary": "Actuator web endpoint 'threaddump'",
PatrikBuhr21c2d302022-01-05 10:56:56 +0100112 "operationId": "threaddump_4",
PatrikBuhrf07ca522021-11-22 14:53:05 +0100113 "responses": {"200": {
114 "description": "OK",
115 "content": {"*/*": {"schema": {"type": "object"}}}
116 }},
117 "tags": ["Actuator"]
118 }},
119 "/actuator/info": {"get": {
120 "summary": "Actuator web endpoint 'info'",
PatrikBuhr21c2d302022-01-05 10:56:56 +0100121 "operationId": "info_2",
PatrikBuhrf07ca522021-11-22 14:53:05 +0100122 "responses": {"200": {
123 "description": "OK",
124 "content": {"*/*": {"schema": {"type": "object"}}}
125 }},
126 "tags": ["Actuator"]
127 }},
128 "/data-producer/v1/info-types/{infoTypeId}": {"put": {
129 "requestBody": {
130 "content": {"application/json": {"schema": {"$ref": "#/components/schemas/producer_info_type_info"}}},
131 "required": true
132 },
133 "operationId": "putInfoType",
134 "responses": {"200": {
135 "description": "OK",
136 "content": {"application/json": {"schema": {"type": "object"}}}
137 }},
138 "parameters": [{
139 "schema": {"type": "string"},
140 "in": "path",
141 "name": "infoTypeId",
142 "required": true
143 }],
144 "tags": ["Information Coordinator Service Simulator (exists only in test)"]
145 }},
146 "/generic_dataproducer/health_check": {"get": {
147 "summary": "Producer supervision",
148 "description": "The endpoint is provided by the Information Producer and is used for supervision of the producer.",
149 "operationId": "producerSupervision",
150 "responses": {"200": {
151 "description": "The producer is OK",
152 "content": {"application/json": {"schema": {"type": "string"}}}
153 }},
154 "tags": ["Producer job control API"]
155 }},
156 "/generic_dataproducer/info_job": {
PatrikBuhr960e66a2021-10-26 09:46:11 +0200157 "post": {
158 "summary": "Callback for Information Job creation/modification",
159 "requestBody": {
160 "content": {"application/json": {"schema": {"type": "string"}}},
161 "required": true
162 },
163 "description": "The call is invoked to activate or to modify a data subscription. The endpoint is provided by the Information Producer.",
164 "operationId": "jobCreatedCallback",
165 "responses": {
166 "200": {
167 "description": "OK",
168 "content": {"application/json": {"schema": {"$ref": "#/components/schemas/void"}}}
169 },
PatrikBuhr24229912021-11-19 13:48:07 +0100170 "400": {
171 "description": "Other error in the request",
172 "content": {"application/json": {"schema": {"$ref": "#/components/schemas/error_information"}}}
173 },
PatrikBuhr960e66a2021-10-26 09:46:11 +0200174 "404": {
175 "description": "Information type is not found",
176 "content": {"application/json": {"schema": {"$ref": "#/components/schemas/error_information"}}}
177 }
178 },
179 "tags": ["Producer job control API"]
180 },
181 "get": {
182 "summary": "Get all jobs",
183 "description": "Returns all info jobs, can be used for trouble shooting",
184 "operationId": "getJobs",
185 "responses": {"200": {
186 "description": "Information jobs",
187 "content": {"application/json": {"schema": {
188 "type": "array",
189 "items": {"$ref": "#/components/schemas/producer_info_job_request"}
190 }}}
191 }},
192 "tags": ["Producer job control API"]
193 }
194 },
PatrikBuhr960e66a2021-10-26 09:46:11 +0200195 "/actuator/loggers": {"get": {
196 "summary": "Actuator web endpoint 'loggers'",
PatrikBuhr21c2d302022-01-05 10:56:56 +0100197 "operationId": "loggers_2",
PatrikBuhr960e66a2021-10-26 09:46:11 +0200198 "responses": {"200": {
199 "description": "OK",
200 "content": {"*/*": {"schema": {"type": "object"}}}
201 }},
202 "tags": ["Actuator"]
203 }},
204 "/actuator/health/**": {"get": {
205 "summary": "Actuator web endpoint 'health-path'",
PatrikBuhr21c2d302022-01-05 10:56:56 +0100206 "operationId": "health-path_2",
PatrikBuhr960e66a2021-10-26 09:46:11 +0200207 "responses": {"200": {
208 "description": "OK",
209 "content": {"*/*": {"schema": {"type": "object"}}}
210 }},
211 "tags": ["Actuator"]
212 }},
213 "/data-producer/v1/info-producers/{infoProducerId}": {
214 "get": {
215 "operationId": "getInfoProducer",
216 "responses": {"200": {
217 "description": "OK",
218 "content": {"application/json": {"schema": {"type": "object"}}}
219 }},
220 "parameters": [{
221 "schema": {"type": "string"},
222 "in": "path",
223 "name": "infoProducerId",
224 "required": true
225 }],
226 "tags": ["Information Coordinator Service Simulator (exists only in test)"]
227 },
228 "put": {
229 "requestBody": {
230 "content": {"application/json": {"schema": {"$ref": "#/components/schemas/producer_registration_info"}}},
231 "required": true
232 },
233 "operationId": "putInfoProducer",
234 "responses": {"200": {
235 "description": "OK",
236 "content": {"application/json": {"schema": {"type": "object"}}}
237 }},
238 "parameters": [{
239 "schema": {"type": "string"},
240 "in": "path",
241 "name": "infoProducerId",
242 "required": true
243 }],
244 "tags": ["Information Coordinator Service Simulator (exists only in test)"]
245 }
246 },
PatrikBuhrf07ca522021-11-22 14:53:05 +0100247 "/generic_dataproducer/info_job/{infoJobId}": {"delete": {
248 "summary": "Callback for Information Job deletion",
249 "description": "The call is invoked to terminate a data subscription. The endpoint is provided by the Information Producer.",
250 "operationId": "jobDeletedCallback",
251 "responses": {"200": {
252 "description": "OK",
253 "content": {"application/json": {"schema": {"$ref": "#/components/schemas/void"}}}
254 }},
255 "parameters": [{
256 "schema": {"type": "string"},
257 "in": "path",
258 "name": "infoJobId",
259 "required": true
260 }],
261 "tags": ["Producer job control API"]
262 }},
PatrikBuhr960e66a2021-10-26 09:46:11 +0200263 "/actuator/metrics/{requiredMetricName}": {"get": {
264 "summary": "Actuator web endpoint 'metrics-requiredMetricName'",
PatrikBuhr21c2d302022-01-05 10:56:56 +0100265 "operationId": "metrics-requiredMetricName_2",
PatrikBuhr960e66a2021-10-26 09:46:11 +0200266 "responses": {"200": {
267 "description": "OK",
268 "content": {"*/*": {"schema": {"type": "object"}}}
269 }},
270 "parameters": [{
271 "schema": {"type": "string"},
272 "in": "path",
273 "name": "requiredMetricName",
274 "required": true
275 }],
276 "tags": ["Actuator"]
277 }},
278 "/actuator": {"get": {
279 "summary": "Actuator root web endpoint",
280 "operationId": "links_1",
281 "responses": {"200": {
282 "description": "OK",
283 "content": {"*/*": {"schema": {
284 "additionalProperties": {
285 "additionalProperties": {"$ref": "#/components/schemas/Link"},
286 "type": "object"
287 },
288 "type": "object"
289 }}}
290 }},
291 "tags": ["Actuator"]
292 }},
293 "/actuator/logfile": {"get": {
294 "summary": "Actuator web endpoint 'logfile'",
PatrikBuhr21c2d302022-01-05 10:56:56 +0100295 "operationId": "logfile_2",
PatrikBuhr960e66a2021-10-26 09:46:11 +0200296 "responses": {"200": {
297 "description": "OK",
298 "content": {"*/*": {"schema": {"type": "object"}}}
299 }},
300 "tags": ["Actuator"]
301 }},
302 "/actuator/loggers/{name}": {
303 "post": {
304 "summary": "Actuator web endpoint 'loggers-name'",
PatrikBuhr21c2d302022-01-05 10:56:56 +0100305 "operationId": "loggers-name_3",
PatrikBuhr960e66a2021-10-26 09:46:11 +0200306 "responses": {"200": {
307 "description": "OK",
308 "content": {"*/*": {"schema": {"type": "object"}}}
309 }},
310 "parameters": [{
311 "schema": {"type": "string"},
312 "in": "path",
313 "name": "name",
314 "required": true
315 }],
316 "tags": ["Actuator"]
317 },
318 "get": {
319 "summary": "Actuator web endpoint 'loggers-name'",
PatrikBuhr21c2d302022-01-05 10:56:56 +0100320 "operationId": "loggers-name_4",
PatrikBuhr960e66a2021-10-26 09:46:11 +0200321 "responses": {"200": {
322 "description": "OK",
323 "content": {"*/*": {"schema": {"type": "object"}}}
324 }},
325 "parameters": [{
326 "schema": {"type": "string"},
327 "in": "path",
328 "name": "name",
329 "required": true
330 }],
331 "tags": ["Actuator"]
332 }
333 },
PatrikBuhr960e66a2021-10-26 09:46:11 +0200334 "/actuator/health": {"get": {
335 "summary": "Actuator web endpoint 'health'",
PatrikBuhr21c2d302022-01-05 10:56:56 +0100336 "operationId": "health_2",
PatrikBuhr960e66a2021-10-26 09:46:11 +0200337 "responses": {"200": {
338 "description": "OK",
339 "content": {"*/*": {"schema": {"type": "object"}}}
340 }},
341 "tags": ["Actuator"]
342 }},
343 "/consumer": {"post": {
344 "summary": "Consume data",
345 "requestBody": {
346 "content": {"application/json": {"schema": {"type": "string"}}},
347 "required": true
348 },
349 "description": "The call is invoked to push data to consumer",
350 "operationId": "postData",
351 "responses": {"200": {
352 "description": "OK",
353 "content": {"application/json": {"schema": {"$ref": "#/components/schemas/void"}}}
354 }},
355 "tags": ["Test Consumer Simulator (exists only in test)"]
356 }},
357 "/dmaap-topic-1": {"get": {
358 "summary": "GET from topic",
359 "description": "The call is invoked to activate or to modify a data subscription. The endpoint is provided by the Information Producer.",
360 "operationId": "getFromTopic",
361 "responses": {"200": {
362 "description": "OK",
363 "content": {"application/json": {"schema": {"$ref": "#/components/schemas/void"}}}
364 }},
365 "tags": ["DMAAP Simulator (exists only in test)"]
366 }},
367 "/actuator/metrics": {"get": {
368 "summary": "Actuator web endpoint 'metrics'",
PatrikBuhr21c2d302022-01-05 10:56:56 +0100369 "operationId": "metrics_2",
PatrikBuhr960e66a2021-10-26 09:46:11 +0200370 "responses": {"200": {
371 "description": "OK",
372 "content": {"*/*": {"schema": {"type": "object"}}}
373 }},
374 "tags": ["Actuator"]
375 }},
376 "/actuator/heapdump": {"get": {
377 "summary": "Actuator web endpoint 'heapdump'",
PatrikBuhr21c2d302022-01-05 10:56:56 +0100378 "operationId": "heapdump_2",
PatrikBuhr960e66a2021-10-26 09:46:11 +0200379 "responses": {"200": {
380 "description": "OK",
381 "content": {"*/*": {"schema": {"type": "object"}}}
382 }},
383 "tags": ["Actuator"]
384 }}
385 },
386 "info": {
387 "license": {
388 "name": "Copyright (C) 2021 Nordix Foundation. Licensed under the Apache License.",
389 "url": "http://www.apache.org/licenses/LICENSE-2.0"
390 },
PatrikBuhrf07ca522021-11-22 14:53:05 +0100391 "description": "Reads data from DMaaP and Kafka and posts it further to information consumers",
392 "title": "Generic Dmaap and Kafka Information Producer",
PatrikBuhr960e66a2021-10-26 09:46:11 +0200393 "version": "1.0"
394 },
PatrikBuhr21c2d302022-01-05 10:56:56 +0100395 "tags": [
396 {"name": "Information Coordinator Service Simulator (exists only in test)"},
397 {"name": "Producer job control API"},
398 {"name": "Test Consumer Simulator (exists only in test)"},
399 {"name": "DMAAP Simulator (exists only in test)"},
400 {
401 "name": "Actuator",
402 "description": "Monitor and interact",
403 "externalDocs": {
404 "description": "Spring Boot Actuator Web API Documentation",
405 "url": "https://docs.spring.io/spring-boot/docs/current/actuator-api/html/"
406 }
PatrikBuhr960e66a2021-10-26 09:46:11 +0200407 }
PatrikBuhr21c2d302022-01-05 10:56:56 +0100408 ]
PatrikBuhr960e66a2021-10-26 09:46:11 +0200409}