Clean Annotations drools-applications
[policy/drools-applications.git] / controlloop / common / feature-controlloop-trans / src / main / resources / openapi / openapi.yaml
1 #  ============LICENSE_START=======================================================
2 #  Copyright (C) 2023 Nordix Foundation
3 #  ================================================================================
4 #  Licensed under the Apache License, Version 2.0 (the "License");
5 #  you may not use this file except in compliance with the License.
6 #  You may obtain a copy of the License at
7 #
8 #        http://www.apache.org/licenses/LICENSE-2.0
9 #
10 #  Unless required by applicable law or agreed to in writing, software
11 #  distributed under the License is distributed on an "AS IS" BASIS,
12 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 #  See the License for the specific language governing permissions and
14 #  limitations under the License.
15 #
16 #  SPDX-License-Identifier: Apache-2.0
17 #  ============LICENSE_END=========================================================
18 openapi: 3.0.1
19 info:
20   title: "PDP APPS Documentation"
21   description: PDP-D Telemetry Services
22   version: Swagger Server
23 servers:
24 - url: http://{drools-apps}:9696
25   variables:
26     drools-apps:
27       default: 0.0.0.0
28 tags:
29 - name: TransactionTracker
30 paths:
31   /policy/pdp/engine/controllers/transactions/inprogress:
32     get:
33       tags:
34           - TransactionTracker
35       summary: Retrieve in-progress transactions
36       operationId: transactions
37       responses:
38         200:
39           description: successful operation
40           content:
41             application/json:
42               schema:
43                 $ref: '#/components/schemas/Response'
44             application/yaml:
45               schema:
46                 $ref: '#/components/schemas/Response'
47   /policy/pdp/engine/controllers/transactions/inprogress/{transactionId}:
48     get:
49       tags:
50           - TransactionTracker
51       summary: Retrieve an in-progress transaction
52       operationId: transactionId
53       parameters:
54       - name: transactionId
55         in: path
56         description: UUID
57         required: true
58         schema:
59           type: string
60       responses:
61         200:
62           description: successful operation
63           content:
64             application/json:
65               schema:
66                 $ref: '#/components/schemas/Response'
67             application/yaml:
68               schema:
69                 $ref: '#/components/schemas/Response'
70   /policy/pdp/engine/controllers/transactions/cacheSize:
71     get:
72       tags:
73           - TransactionTracker
74       summary: Gets the cache size
75       operationId: cacheSize
76       responses:
77         200:
78           description: successful operation
79           content:
80             application/json:
81               schema:
82                 $ref: '#/components/schemas/Response'
83             application/yaml:
84               schema:
85                 $ref: '#/components/schemas/Response'
86   /policy/pdp/engine/controllers/transactions/cacheSize/{cacheSize}:
87     put:
88       tags:
89           - TransactionTracker
90       summary: Sets the cache size
91       operationId: cacheSize_1
92       parameters:
93       - name: cacheSize
94         in: path
95         description: cache size
96         required: true
97         schema:
98           type: integer
99           format: int32
100       responses:
101         200:
102           description: successful operation
103           content:
104             application/json:
105               schema:
106                 $ref: '#/components/schemas/Response'
107             application/yaml:
108               schema:
109                 $ref: '#/components/schemas/Response'
110   /policy/pdp/engine/controllers/transactions/timeout/{timeoutSecs}:
111     put:
112       tags:
113           - TransactionTracker
114       summary: Sets the timeout in seconds
115       operationId: timeout
116       parameters:
117       - name: timeoutSecs
118         in: path
119         description: timeout
120         required: true
121         schema:
122           type: integer
123           format: int64
124       responses:
125         200:
126           description: successful operation
127           content:
128             application/json:
129               schema:
130                 $ref: '#/components/schemas/Response'
131             application/yaml:
132               schema:
133                 $ref: '#/components/schemas/Response'
134   /policy/pdp/engine/controllers/transactions/timeout:
135     get:
136       tags:
137           - TransactionTracker
138       summary: Gets the cache timeout
139       operationId: timeout_1
140       responses:
141         200:
142           description: successful operation
143           content:
144             application/json:
145               schema:
146                 $ref: '#/components/schemas/Response'
147             application/yaml:
148               schema:
149                 $ref: '#/components/schemas/Response'
150 components:
151   schemas:
152     Agenda:
153       type: object
154     AgendaEventListener:
155       type: object
156     Annotation:
157       type: object
158     Calendars:
159       type: object
160     Channel:
161       type: object
162     ClassLoader:
163       type: object
164       properties:
165         parent:
166           $ref: '#/components/schemas/ClassLoader'
167         name:
168           type: string
169         unnamedModule:
170           $ref: '#/components/schemas/Module'
171         registeredAsParallelCapable:
172           type: boolean
173         definedPackages:
174           type: array
175           items:
176             $ref: '#/components/schemas/Package'
177     EntryPoint:
178       type: object
179       properties:
180         objects:
181           type: array
182           items:
183             type: object
184             properties: {}
185         entryPointId:
186           type: string
187         factHandles:
188           type: array
189           items:
190             $ref: '#/components/schemas/FactHandle'
191         factCount:
192           type: integer
193           format: int64
194     Environment:
195       type: object
196     FactField:
197       type: object
198       properties:
199         fieldAnnotations:
200           type: array
201           items:
202             $ref: '#/components/schemas/Annotation'
203         metaData:
204           type: object
205           additionalProperties:
206             type: object
207             properties: {}
208         key:
209           type: boolean
210         name:
211           type: string
212         index:
213           type: integer
214           format: int32
215     FactHandle:
216       type: object
217     FactType:
218       type: object
219       properties:
220         classAnnotations:
221           type: array
222           items:
223             $ref: '#/components/schemas/Annotation'
224         superClass:
225           type: string
226         metaData:
227           type: object
228           additionalProperties:
229             type: object
230             properties: {}
231         name:
232           type: string
233         packageName:
234           type: string
235         simpleName:
236           type: string
237         fields:
238           type: array
239           items:
240             $ref: '#/components/schemas/FactField'
241     Global:
242       type: object
243       properties:
244         name:
245           type: string
246         type:
247           type: string
248     Globals:
249       type: object
250       properties:
251         globalKeys:
252           type: array
253           items:
254             type: string
255     InputStream:
256       type: object
257     KieBase:
258       type: object
259       properties:
260         entryPointIds:
261           uniqueItems: true
262           type: array
263           items:
264             type: string
265         kieSessions:
266           type: array
267           items:
268             $ref: '#/components/schemas/KieSession'
269         processes:
270           type: array
271           items:
272             $ref: '#/components/schemas/Process'
273         kiePackages:
274           type: array
275           items:
276             $ref: '#/components/schemas/KiePackage'
277         kieBaseEventListeners:
278           type: array
279           items:
280             $ref: '#/components/schemas/KieBaseEventListener'
281     KieBaseEventListener:
282       type: object
283     KieContainer:
284       type: object
285       properties:
286         releaseId:
287           $ref: '#/components/schemas/ReleaseId'
288         kieBase:
289           $ref: '#/components/schemas/KieBase'
290         kieBaseNames:
291           type: array
292           items:
293             type: string
294         kieSessionConfiguration:
295           $ref: '#/components/schemas/KieSessionConfiguration'
296         classLoader:
297           $ref: '#/components/schemas/ClassLoader'
298     KiePackage:
299       type: object
300       properties:
301         functionNames:
302           type: array
303           items:
304             type: string
305         globalVariables:
306           type: array
307           items:
308             $ref: '#/components/schemas/Global'
309         processes:
310           type: array
311           items:
312             $ref: '#/components/schemas/Process'
313         queries:
314           type: array
315           items:
316             $ref: '#/components/schemas/Query'
317         factTypes:
318           type: array
319           items:
320             $ref: '#/components/schemas/FactType'
321         rules:
322           type: array
323           items:
324             $ref: '#/components/schemas/Rule'
325         name:
326           type: string
327     KieRuntimeLogger:
328       type: object
329     KieSession:
330       type: object
331       properties:
332         identifier:
333           type: integer
334           format: int64
335         id:
336           type: integer
337           format: int32
338         sessionConfiguration:
339           $ref: '#/components/schemas/KieSessionConfiguration'
340         channels:
341           type: object
342           additionalProperties:
343             $ref: '#/components/schemas/Channel'
344         sessionClock:
345           $ref: '#/components/schemas/SessionClock'
346         globals:
347           $ref: '#/components/schemas/Globals'
348         calendars:
349           $ref: '#/components/schemas/Calendars'
350         kieBase:
351           $ref: '#/components/schemas/KieBase'
352         environment:
353           $ref: '#/components/schemas/Environment'
354         agenda:
355           $ref: '#/components/schemas/Agenda'
356         entryPoints:
357           type: array
358           items:
359             $ref: '#/components/schemas/EntryPoint'
360         objects:
361           type: array
362           items:
363             type: object
364             properties: {}
365         entryPointId:
366           type: string
367         factHandles:
368           type: array
369           items:
370             $ref: '#/components/schemas/FactHandle'
371         factCount:
372           type: integer
373           format: int64
374         workItemManager:
375           $ref: '#/components/schemas/WorkItemManager'
376         processInstances:
377           type: array
378           items:
379             $ref: '#/components/schemas/ProcessInstance'
380         logger:
381           $ref: '#/components/schemas/KieRuntimeLogger'
382         ruleRuntimeEventListeners:
383           type: array
384           items:
385             $ref: '#/components/schemas/RuleRuntimeEventListener'
386         agendaEventListeners:
387           type: array
388           items:
389             $ref: '#/components/schemas/AgendaEventListener'
390         processEventListeners:
391           type: array
392           items:
393             $ref: '#/components/schemas/ProcessEventListener'
394     KieSessionConfiguration:
395       type: object
396     Module:
397       type: object
398       properties:
399         layer:
400           $ref: '#/components/schemas/ModuleLayer'
401         name:
402           type: string
403         descriptor:
404           $ref: '#/components/schemas/ModuleDescriptor'
405         classLoader:
406           $ref: '#/components/schemas/ClassLoader'
407         annotations:
408           type: array
409           items:
410             $ref: '#/components/schemas/Annotation'
411         declaredAnnotations:
412           type: array
413           items:
414             $ref: '#/components/schemas/Annotation'
415         named:
416           type: boolean
417         packages:
418           uniqueItems: true
419           type: array
420           items:
421             type: string
422     ModuleDescriptor:
423       type: object
424       properties:
425         open:
426           type: boolean
427         automatic:
428           type: boolean
429     ModuleLayer:
430       type: object
431     Package:
432       type: object
433       properties:
434         name:
435           type: string
436         specificationTitle:
437           type: string
438         specificationVersion:
439           type: string
440         specificationVendor:
441           type: string
442         implementationTitle:
443           type: string
444         implementationVersion:
445           type: string
446         implementationVendor:
447           type: string
448         annotations:
449           type: array
450           items:
451             $ref: '#/components/schemas/Annotation'
452         declaredAnnotations:
453           type: array
454           items:
455             $ref: '#/components/schemas/Annotation'
456         sealed:
457           type: boolean
458     PolicyContainer:
459       type: object
460       properties:
461         kieContainer:
462           $ref: '#/components/schemas/KieContainer'
463         artifactId:
464           type: string
465         groupId:
466           type: string
467         policySessions:
468           type: array
469           items:
470             $ref: '#/components/schemas/PolicySession'
471         version:
472           type: string
473         name:
474           type: string
475         classLoader:
476           $ref: '#/components/schemas/ClassLoader'
477         alive:
478           type: boolean
479     PolicySession:
480       type: object
481       properties:
482         name:
483           type: string
484         container:
485           $ref: '#/components/schemas/PolicyContainer'
486         kieSession:
487           $ref: '#/components/schemas/KieSession'
488         fullName:
489           type: string
490     Process:
491       type: object
492       properties:
493         resource:
494           $ref: '#/components/schemas/Resource'
495         metaData:
496           type: object
497           additionalProperties:
498             type: object
499             properties: {}
500         version:
501           type: string
502         name:
503           type: string
504         packageName:
505           type: string
506         id:
507           type: string
508         type:
509           type: string
510         knowledgeType:
511           type: string
512           enum:
513           - RULE
514           - TYPE
515           - WINDOW
516           - ENUM
517           - PROCESS
518           - FUNCTION
519           - QUERY
520         namespace:
521           type: string
522     ProcessEventListener:
523       type: object
524     ProcessInstance:
525       type: object
526       properties:
527         processName:
528           type: string
529         parentProcessInstanceId:
530           type: string
531         process:
532           $ref: '#/components/schemas/Process'
533         processId:
534           type: string
535         id:
536           type: string
537         state:
538           type: integer
539           format: int32
540         eventTypes:
541           type: array
542           items:
543             type: string
544     Query:
545       type: object
546       properties:
547         metaData:
548           type: object
549           additionalProperties:
550             type: object
551             properties: {}
552         name:
553           type: string
554         packageName:
555           type: string
556         knowledgeType:
557           type: string
558           enum:
559           - RULE
560           - TYPE
561           - WINDOW
562           - ENUM
563           - PROCESS
564           - FUNCTION
565           - QUERY
566         namespace:
567           type: string
568         id:
569           type: string
570     Reader:
571       type: object
572     ReleaseId:
573       type: object
574       properties:
575         artifactId:
576           type: string
577         groupId:
578           type: string
579         snapshot:
580           type: boolean
581         version:
582           type: string
583     Resource:
584       type: object
585       properties:
586         sourcePath:
587           type: string
588         targetPath:
589           type: string
590         resourceType:
591           $ref: '#/components/schemas/ResourceType'
592         reader:
593           $ref: '#/components/schemas/Reader'
594         configuration:
595           $ref: '#/components/schemas/ResourceConfiguration'
596         inputStream:
597           $ref: '#/components/schemas/InputStream'
598     ResourceConfiguration:
599       type: object
600     ResourceType:
601       type: object
602       properties:
603         name:
604           type: string
605         description:
606           type: string
607         defaultExtension:
608           type: string
609         defaultPath:
610           type: string
611         fullyCoveredByExecModel:
612           type: boolean
613         allExtensions:
614           type: array
615           items:
616             type: string
617     Rule:
618       type: object
619       properties:
620         metaData:
621           type: object
622           additionalProperties:
623             type: object
624             properties: {}
625         name:
626           type: string
627         packageName:
628           type: string
629         knowledgeType:
630           type: string
631           enum:
632           - RULE
633           - TYPE
634           - WINDOW
635           - ENUM
636           - PROCESS
637           - FUNCTION
638           - QUERY
639         namespace:
640           type: string
641         id:
642           type: string
643     RuleRuntimeEventListener:
644       type: object
645     SessionClock:
646       type: object
647       properties:
648         currentTime:
649           type: integer
650           format: int64
651     WorkItemManager:
652       type: object
653     Response:
654       type: object