Merge "Remove rApp Catalogue"
[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         "/actuator/threaddump": {"get": {
111             "summary": "Actuator web endpoint 'threaddump'",
112             "operationId": "threaddump_4",
113             "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'",
121             "operationId": "info_2",
122             "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": {
157             "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                     },
170                     "400": {
171                         "description": "Other error in the request",
172                         "content": {"application/json": {"schema": {"$ref": "#/components/schemas/error_information"}}}
173                     },
174                     "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         },
195         "/actuator/loggers": {"get": {
196             "summary": "Actuator web endpoint 'loggers'",
197             "operationId": "loggers_2",
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": "health-path_2",
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         "/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         }},
263         "/actuator/metrics/{requiredMetricName}": {"get": {
264             "summary": "Actuator web endpoint 'metrics-requiredMetricName'",
265             "operationId": "metrics-requiredMetricName_2",
266             "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'",
295             "operationId": "logfile_2",
296             "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'",
305                 "operationId": "loggers-name_3",
306                 "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'",
320                 "operationId": "loggers-name_4",
321                 "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         },
334         "/actuator/health": {"get": {
335             "summary": "Actuator web endpoint 'health'",
336             "operationId": "health_2",
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": "metrics_2",
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": "heapdump_2",
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 Kafka and posts it further to information consumers",
392         "title": "Generic Dmaap and Kafka Information Producer",
393         "version": "1.0"
394     },
395     "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             }
407         }
408     ]
409 }