6cd3525b0eda705c9146595ebf7cbe7dcb7d95d9
[nonrtric.git] / dmaap-adaptor-java / api / api.json
1 {
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                     "400": {
125                         "description": "Other error in the request",
126                         "content": {"application/json": {"schema": {"$ref": "#/components/schemas/error_information"}}}
127                     },
128                     "404": {
129                         "description": "Information type is not found",
130                         "content": {"application/json": {"schema": {"$ref": "#/components/schemas/error_information"}}}
131                     }
132                 },
133                 "tags": ["Producer job control API"]
134             },
135             "get": {
136                 "summary": "Get all jobs",
137                 "description": "Returns all info jobs, can be used for trouble shooting",
138                 "operationId": "getJobs",
139                 "responses": {"200": {
140                     "description": "Information jobs",
141                     "content": {"application/json": {"schema": {
142                         "type": "array",
143                         "items": {"$ref": "#/components/schemas/producer_info_job_request"}
144                     }}}
145                 }},
146                 "tags": ["Producer job control API"]
147             }
148         },
149         "/dmaap_dataproducer/health_check": {"get": {
150             "summary": "Producer supervision",
151             "description": "The endpoint is provided by the Information Producer and is used for supervision of the producer.",
152             "operationId": "producerSupervision",
153             "responses": {"200": {
154                 "description": "The producer is OK",
155                 "content": {"application/json": {"schema": {"type": "string"}}}
156             }},
157             "tags": ["Producer job control API"]
158         }},
159         "/actuator/threaddump": {"get": {
160             "summary": "Actuator web endpoint 'threaddump'",
161             "operationId": "handle_2_1_3",
162             "responses": {"200": {
163                 "description": "OK",
164                 "content": {"*/*": {"schema": {"type": "object"}}}
165             }},
166             "tags": ["Actuator"]
167         }},
168         "/actuator/info": {"get": {
169             "summary": "Actuator web endpoint 'info'",
170             "operationId": "handle_9",
171             "responses": {"200": {
172                 "description": "OK",
173                 "content": {"*/*": {"schema": {"type": "object"}}}
174             }},
175             "tags": ["Actuator"]
176         }},
177         "/data-producer/v1/info-types/{infoTypeId}": {"put": {
178             "requestBody": {
179                 "content": {"application/json": {"schema": {"$ref": "#/components/schemas/producer_info_type_info"}}},
180                 "required": true
181             },
182             "operationId": "putInfoType",
183             "responses": {"200": {
184                 "description": "OK",
185                 "content": {"application/json": {"schema": {"type": "object"}}}
186             }},
187             "parameters": [{
188                 "schema": {"type": "string"},
189                 "in": "path",
190                 "name": "infoTypeId",
191                 "required": true
192             }],
193             "tags": ["Information Coordinator Service Simulator (exists only in test)"]
194         }},
195         "/actuator/loggers": {"get": {
196             "summary": "Actuator web endpoint 'loggers'",
197             "operationId": "handle_6",
198             "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'",
206             "operationId": "handle_12",
207             "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         },
247         "/actuator/metrics/{requiredMetricName}": {"get": {
248             "summary": "Actuator web endpoint 'metrics-requiredMetricName'",
249             "operationId": "handle_5",
250             "responses": {"200": {
251                 "description": "OK",
252                 "content": {"*/*": {"schema": {"type": "object"}}}
253             }},
254             "parameters": [{
255                 "schema": {"type": "string"},
256                 "in": "path",
257                 "name": "requiredMetricName",
258                 "required": true
259             }],
260             "tags": ["Actuator"]
261         }},
262         "/actuator": {"get": {
263             "summary": "Actuator root web endpoint",
264             "operationId": "links_1",
265             "responses": {"200": {
266                 "description": "OK",
267                 "content": {"*/*": {"schema": {
268                     "additionalProperties": {
269                         "additionalProperties": {"$ref": "#/components/schemas/Link"},
270                         "type": "object"
271                     },
272                     "type": "object"
273                 }}}
274             }},
275             "tags": ["Actuator"]
276         }},
277         "/actuator/logfile": {"get": {
278             "summary": "Actuator web endpoint 'logfile'",
279             "operationId": "handle_8",
280             "responses": {"200": {
281                 "description": "OK",
282                 "content": {"*/*": {"schema": {"type": "object"}}}
283             }},
284             "tags": ["Actuator"]
285         }},
286         "/actuator/loggers/{name}": {
287             "post": {
288                 "summary": "Actuator web endpoint 'loggers-name'",
289                 "operationId": "handle_0",
290                 "responses": {"200": {
291                     "description": "OK",
292                     "content": {"*/*": {"schema": {"type": "object"}}}
293                 }},
294                 "parameters": [{
295                     "schema": {"type": "string"},
296                     "in": "path",
297                     "name": "name",
298                     "required": true
299                 }],
300                 "tags": ["Actuator"]
301             },
302             "get": {
303                 "summary": "Actuator web endpoint 'loggers-name'",
304                 "operationId": "handle_7",
305                 "responses": {"200": {
306                     "description": "OK",
307                     "content": {"*/*": {"schema": {"type": "object"}}}
308                 }},
309                 "parameters": [{
310                     "schema": {"type": "string"},
311                     "in": "path",
312                     "name": "name",
313                     "required": true
314                 }],
315                 "tags": ["Actuator"]
316             }
317         },
318         "/dmaap_dataproducer/info_job/{infoJobId}": {"delete": {
319             "summary": "Callback for Information Job deletion",
320             "description": "The call is invoked to terminate a data subscription. The endpoint is provided by the Information Producer.",
321             "operationId": "jobDeletedCallback",
322             "responses": {"200": {
323                 "description": "OK",
324                 "content": {"application/json": {"schema": {"$ref": "#/components/schemas/void"}}}
325             }},
326             "parameters": [{
327                 "schema": {"type": "string"},
328                 "in": "path",
329                 "name": "infoJobId",
330                 "required": true
331             }],
332             "tags": ["Producer job control API"]
333         }},
334         "/actuator/health": {"get": {
335             "summary": "Actuator web endpoint 'health'",
336             "operationId": "handle_11",
337             "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'",
369             "operationId": "handle_4",
370             "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'",
378             "operationId": "handle_10",
379             "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         },
391         "description": "Reads data from DMAAP and sends it further to information consumers",
392         "title": "Generic Dmaap Information Producer",
393         "version": "1.0"
394     },
395     "tags": [{
396         "name": "Actuator",
397         "description": "Monitor and interact",
398         "externalDocs": {
399             "description": "Spring Boot Actuator Web API Documentation",
400             "url": "https://docs.spring.io/spring-boot/docs/current/actuator-api/html/"
401         }
402     }]
403 }