Clean Annotations drools-applications
[policy/drools-applications.git] / controlloop / common / feature-controlloop-management / 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: RestControlLoopManager
30 - name: TransactionTracker
31 paths:
32   /policy/pdp/engine/controllers/{controller}/drools/facts/{session}/controlloops:
33     get:
34       tags:
35         - RestControlLoopManager
36       summary: Control Loops
37       description: Compact list
38       operationId: controlLoops
39       parameters:
40       - name: controller
41         in: path
42         description: Policy Controller Name
43         required: true
44         schema:
45           type: string
46       - name: session
47         in: path
48         description: Drools Session Name
49         required: true
50         schema:
51           type: string
52       responses:
53         200:
54           description: successful operation
55           content:
56             application/json:
57               schema:
58                 $ref: '#/components/schemas/Response'
59             application/yaml:
60               schema:
61                 $ref: '#/components/schemas/Response'
62         404:
63           description: Control Loops cannot be found
64           content: {}
65   /policy/pdp/engine/controllers/{controller}/drools/facts/{session}/controlloops/{controlLoopName}:
66     get:
67       tags:
68           - RestControlLoopManager
69       summary: Control Loop
70       description: Control Loop Parameters
71       operationId: controlLoop
72       parameters:
73       - name: controller
74         in: path
75         description: Policy Controller Name
76         required: true
77         schema:
78           type: string
79       - name: session
80         in: path
81         description: Drools Session Name
82         required: true
83         schema:
84           type: string
85       - name: controlLoopName
86         in: path
87         description: Control Loop Name
88         required: true
89         schema:
90           type: string
91       responses:
92         200:
93           description: successful operation
94           content:
95             application/json:
96               schema:
97                 $ref: '#/components/schemas/Response'
98             application/yaml:
99               schema:
100                 $ref: '#/components/schemas/Response'
101         404:
102           description: The Control Loop cannot be found
103           content: {}
104   /policy/pdp/engine/tools/controlloops/aai/customQuery/{vserverId}:
105     get:
106       tags:
107           - RestControlLoopManager
108       summary: AAI Custom Query
109       operationId: aaiCustomQuery
110       parameters:
111       - name: vserverId
112         in: path
113         description: ServerId
114         required: true
115         schema:
116           type: string
117       responses:
118         200:
119           description: successful operation
120           content:
121             application/json:
122               schema:
123                 $ref: '#/components/schemas/Response'
124             application/yaml:
125               schema:
126                 $ref: '#/components/schemas/Response'
127       x-codegen-request-body-name: body
128 components:
129   schemas:
130     Agenda:
131       type: object
132     AgendaEventListener:
133       type: object
134     Annotation:
135       type: object
136     Calendars:
137       type: object
138     Channel:
139       type: object
140     ClassLoader:
141       type: object
142       properties:
143         parent:
144           $ref: '#/components/schemas/ClassLoader'
145         name:
146           type: string
147         unnamedModule:
148           $ref: '#/components/schemas/Module'
149         registeredAsParallelCapable:
150           type: boolean
151         definedPackages:
152           type: array
153           items:
154             $ref: '#/components/schemas/Package'
155     EntryPoint:
156       type: object
157       properties:
158         objects:
159           type: array
160           items:
161             type: object
162             properties: {}
163         entryPointId:
164           type: string
165         factHandles:
166           type: array
167           items:
168             $ref: '#/components/schemas/FactHandle'
169         factCount:
170           type: integer
171           format: int64
172     Environment:
173       type: object
174     FactField:
175       type: object
176       properties:
177         fieldAnnotations:
178           type: array
179           items:
180             $ref: '#/components/schemas/Annotation'
181         metaData:
182           type: object
183           additionalProperties:
184             type: object
185             properties: {}
186         key:
187           type: boolean
188         name:
189           type: string
190         index:
191           type: integer
192           format: int32
193     FactHandle:
194       type: object
195     FactType:
196       type: object
197       properties:
198         classAnnotations:
199           type: array
200           items:
201             $ref: '#/components/schemas/Annotation'
202         superClass:
203           type: string
204         metaData:
205           type: object
206           additionalProperties:
207             type: object
208             properties: {}
209         name:
210           type: string
211         packageName:
212           type: string
213         simpleName:
214           type: string
215         fields:
216           type: array
217           items:
218             $ref: '#/components/schemas/FactField'
219     Global:
220       type: object
221       properties:
222         name:
223           type: string
224         type:
225           type: string
226     Globals:
227       type: object
228       properties:
229         globalKeys:
230           type: array
231           items:
232             type: string
233     InputStream:
234       type: object
235     KieBase:
236       type: object
237       properties:
238         entryPointIds:
239           uniqueItems: true
240           type: array
241           items:
242             type: string
243         kieSessions:
244           type: array
245           items:
246             $ref: '#/components/schemas/KieSession'
247         processes:
248           type: array
249           items:
250             $ref: '#/components/schemas/Process'
251         kiePackages:
252           type: array
253           items:
254             $ref: '#/components/schemas/KiePackage'
255         kieBaseEventListeners:
256           type: array
257           items:
258             $ref: '#/components/schemas/KieBaseEventListener'
259     KieBaseEventListener:
260       type: object
261     KieContainer:
262       type: object
263       properties:
264         releaseId:
265           $ref: '#/components/schemas/ReleaseId'
266         kieBase:
267           $ref: '#/components/schemas/KieBase'
268         kieBaseNames:
269           type: array
270           items:
271             type: string
272         kieSessionConfiguration:
273           $ref: '#/components/schemas/KieSessionConfiguration'
274         classLoader:
275           $ref: '#/components/schemas/ClassLoader'
276     KiePackage:
277       type: object
278       properties:
279         functionNames:
280           type: array
281           items:
282             type: string
283         globalVariables:
284           type: array
285           items:
286             $ref: '#/components/schemas/Global'
287         processes:
288           type: array
289           items:
290             $ref: '#/components/schemas/Process'
291         queries:
292           type: array
293           items:
294             $ref: '#/components/schemas/Query'
295         factTypes:
296           type: array
297           items:
298             $ref: '#/components/schemas/FactType'
299         rules:
300           type: array
301           items:
302             $ref: '#/components/schemas/Rule'
303         name:
304           type: string
305     KieRuntimeLogger:
306       type: object
307     KieSession:
308       type: object
309       properties:
310         identifier:
311           type: integer
312           format: int64
313         id:
314           type: integer
315           format: int32
316         sessionConfiguration:
317           $ref: '#/components/schemas/KieSessionConfiguration'
318         channels:
319           type: object
320           additionalProperties:
321             $ref: '#/components/schemas/Channel'
322         sessionClock:
323           $ref: '#/components/schemas/SessionClock'
324         globals:
325           $ref: '#/components/schemas/Globals'
326         calendars:
327           $ref: '#/components/schemas/Calendars'
328         kieBase:
329           $ref: '#/components/schemas/KieBase'
330         environment:
331           $ref: '#/components/schemas/Environment'
332         agenda:
333           $ref: '#/components/schemas/Agenda'
334         entryPoints:
335           type: array
336           items:
337             $ref: '#/components/schemas/EntryPoint'
338         objects:
339           type: array
340           items:
341             type: object
342             properties: {}
343         entryPointId:
344           type: string
345         factHandles:
346           type: array
347           items:
348             $ref: '#/components/schemas/FactHandle'
349         factCount:
350           type: integer
351           format: int64
352         workItemManager:
353           $ref: '#/components/schemas/WorkItemManager'
354         processInstances:
355           type: array
356           items:
357             $ref: '#/components/schemas/ProcessInstance'
358         logger:
359           $ref: '#/components/schemas/KieRuntimeLogger'
360         ruleRuntimeEventListeners:
361           type: array
362           items:
363             $ref: '#/components/schemas/RuleRuntimeEventListener'
364         agendaEventListeners:
365           type: array
366           items:
367             $ref: '#/components/schemas/AgendaEventListener'
368         processEventListeners:
369           type: array
370           items:
371             $ref: '#/components/schemas/ProcessEventListener'
372     KieSessionConfiguration:
373       type: object
374     Module:
375       type: object
376       properties:
377         layer:
378           $ref: '#/components/schemas/ModuleLayer'
379         name:
380           type: string
381         descriptor:
382           $ref: '#/components/schemas/ModuleDescriptor'
383         classLoader:
384           $ref: '#/components/schemas/ClassLoader'
385         annotations:
386           type: array
387           items:
388             $ref: '#/components/schemas/Annotation'
389         declaredAnnotations:
390           type: array
391           items:
392             $ref: '#/components/schemas/Annotation'
393         named:
394           type: boolean
395         packages:
396           uniqueItems: true
397           type: array
398           items:
399             type: string
400     ModuleDescriptor:
401       type: object
402       properties:
403         open:
404           type: boolean
405         automatic:
406           type: boolean
407     ModuleLayer:
408       type: object
409     Package:
410       type: object
411       properties:
412         name:
413           type: string
414         specificationTitle:
415           type: string
416         specificationVersion:
417           type: string
418         specificationVendor:
419           type: string
420         implementationTitle:
421           type: string
422         implementationVersion:
423           type: string
424         implementationVendor:
425           type: string
426         annotations:
427           type: array
428           items:
429             $ref: '#/components/schemas/Annotation'
430         declaredAnnotations:
431           type: array
432           items:
433             $ref: '#/components/schemas/Annotation'
434         sealed:
435           type: boolean
436     PolicyContainer:
437       type: object
438       properties:
439         kieContainer:
440           $ref: '#/components/schemas/KieContainer'
441         artifactId:
442           type: string
443         groupId:
444           type: string
445         policySessions:
446           type: array
447           items:
448             $ref: '#/components/schemas/PolicySession'
449         version:
450           type: string
451         name:
452           type: string
453         classLoader:
454           $ref: '#/components/schemas/ClassLoader'
455         alive:
456           type: boolean
457     PolicySession:
458       type: object
459       properties:
460         name:
461           type: string
462         container:
463           $ref: '#/components/schemas/PolicyContainer'
464         kieSession:
465           $ref: '#/components/schemas/KieSession'
466         fullName:
467           type: string
468     Process:
469       type: object
470       properties:
471         resource:
472           $ref: '#/components/schemas/Resource'
473         metaData:
474           type: object
475           additionalProperties:
476             type: object
477             properties: {}
478         version:
479           type: string
480         name:
481           type: string
482         packageName:
483           type: string
484         id:
485           type: string
486         type:
487           type: string
488         knowledgeType:
489           type: string
490           enum:
491           - RULE
492           - TYPE
493           - WINDOW
494           - ENUM
495           - PROCESS
496           - FUNCTION
497           - QUERY
498         namespace:
499           type: string
500     ProcessEventListener:
501       type: object
502     ProcessInstance:
503       type: object
504       properties:
505         processName:
506           type: string
507         parentProcessInstanceId:
508           type: string
509         process:
510           $ref: '#/components/schemas/Process'
511         processId:
512           type: string
513         id:
514           type: string
515         state:
516           type: integer
517           format: int32
518         eventTypes:
519           type: array
520           items:
521             type: string
522     Query:
523       type: object
524       properties:
525         metaData:
526           type: object
527           additionalProperties:
528             type: object
529             properties: {}
530         name:
531           type: string
532         packageName:
533           type: string
534         knowledgeType:
535           type: string
536           enum:
537           - RULE
538           - TYPE
539           - WINDOW
540           - ENUM
541           - PROCESS
542           - FUNCTION
543           - QUERY
544         namespace:
545           type: string
546         id:
547           type: string
548     Reader:
549       type: object
550     ReleaseId:
551       type: object
552       properties:
553         artifactId:
554           type: string
555         groupId:
556           type: string
557         snapshot:
558           type: boolean
559         version:
560           type: string
561     Resource:
562       type: object
563       properties:
564         sourcePath:
565           type: string
566         targetPath:
567           type: string
568         resourceType:
569           $ref: '#/components/schemas/ResourceType'
570         reader:
571           $ref: '#/components/schemas/Reader'
572         configuration:
573           $ref: '#/components/schemas/ResourceConfiguration'
574         inputStream:
575           $ref: '#/components/schemas/InputStream'
576     ResourceConfiguration:
577       type: object
578     ResourceType:
579       type: object
580       properties:
581         name:
582           type: string
583         description:
584           type: string
585         defaultExtension:
586           type: string
587         defaultPath:
588           type: string
589         fullyCoveredByExecModel:
590           type: boolean
591         allExtensions:
592           type: array
593           items:
594             type: string
595     Rule:
596       type: object
597       properties:
598         metaData:
599           type: object
600           additionalProperties:
601             type: object
602             properties: {}
603         name:
604           type: string
605         packageName:
606           type: string
607         knowledgeType:
608           type: string
609           enum:
610           - RULE
611           - TYPE
612           - WINDOW
613           - ENUM
614           - PROCESS
615           - FUNCTION
616           - QUERY
617         namespace:
618           type: string
619         id:
620           type: string
621     RuleRuntimeEventListener:
622       type: object
623     SessionClock:
624       type: object
625       properties:
626         currentTime:
627           type: integer
628           format: int64
629     WorkItemManager:
630       type: object
631     Response:
632       type: object