Bindings V2: rename init functions
[src/app-framework-binder.git] / src / genskel / monitor-api.json
1 {
2   "openapi": "3.0.0",
3   "info": {
4     "description": "",
5     "title": "monitor",
6     "version": "1.0",
7     "x-binding-c-generator": {
8       "api": "monitor",
9       "version": 2,
10       "prefix": "f_",
11       "postfix": "",
12       "preinit": null,
13       "init": null,
14       "onevent": null,
15       "scope": "static",
16       "private": true
17     }
18   },
19   "servers": [
20     {
21       "url": "ws://{host}:{port}/api/monitor",
22       "description": "The API server.",
23       "variables": {
24         "host": {
25           "default": "localhost"
26         },
27         "port": {
28           "default": "1234"
29         }
30       },
31       "x-afb-events": [
32         {
33           "$ref": "#/components/schemas/afb-event"
34         }
35       ]
36     }
37   ],
38   "components": {
39     "schemas": {
40       "afb-reply": {
41         "$ref": "#/components/schemas/afb-reply-v1"
42       },
43       "afb-event": {
44         "$ref": "#/components/schemas/afb-event-v1"
45       },
46       "afb-reply-v1": {
47         "title": "Generic response.",
48         "type": "object",
49         "required": [ "jtype", "request" ],
50         "properties": {
51           "jtype": {
52             "type": "string",
53             "const": "afb-reply"
54           },
55           "request": {
56             "type": "object",
57             "required": [ "status" ],
58             "properties": {
59               "status": { "type": "string" },
60               "info": { "type": "string" },
61               "token": { "type": "string" },
62               "uuid": { "type": "string" },
63               "reqid": { "type": "string" }
64             }
65           },
66           "response": { "type": "object" }
67         }
68       },
69       "afb-event-v1": {
70         "type": "object",
71         "required": [ "jtype", "event" ],
72         "properties": {
73           "jtype": {
74             "type": "string",
75             "const": "afb-event"
76           },
77           "event": { "type": "string" },
78           "data": { "type": "object" }
79         }
80       },
81       "set-verbosity": {
82         "anyOf": [
83           { "$ref": "#/components/schemas/verbosity-map" },
84           { "$ref": "#/components/schemas/verbosity-level" }
85         ]
86       },
87       "get-request": {
88         "type": "object",
89         "properties": {
90           "verbosity": { "$ref": "#/components/schemas/get-verbosity" },
91           "apis": { "$ref": "#/components/schemas/get-apis" }
92         }
93       },
94       "get-response": {
95         "type": "object",
96         "properties": {
97           "verbosity": { "$ref": "#/components/schemas/verbosity-map" },
98           "apis": { "type": "object" }
99         }
100       },
101       "get-verbosity": {
102         "anyOf": [
103           { "type": "boolean" },
104           { "type": "array", "items": { "type": "string" } },
105           { "type": "object" }
106         ]
107       },
108       "get-apis": {
109         "anyOf": [
110           { "type": "boolean" },
111           { "type": "array", "items": { "type": "string" } },
112           { "type": "object" }
113         ]
114       },
115       "verbosity-map": {
116         "type": "object",
117         "patternProperties": { "^.*$": { "$ref": "#/components/schemas/verbosity-level" } }
118       },
119       "verbosity-level": {
120         "enum": [ "debug", 3, "info", 2, "notice", "warning", 1, "error", 0 ]
121       }
122     },
123     "x-permissions": {
124         "set": {
125           "permission": "urn:AGL:permission:monitor:public:set"
126         },
127         "get": {
128           "permission": "urn:AGL:permission:monitor:public:get"
129         },
130         "get-or-set": {
131           "anyOf": [
132             { "$ref": "#/components/x-permissions/get" },
133             { "$ref": "#/components/x-permissions/set" }
134           ]
135         }
136     }
137   },
138   "paths": {
139     "/get": {
140       "description": "Get monitoring data.",
141       "get": {
142         "x-permissions": {
143           "$ref": "#/components/x-permissions/get-or-set"
144         },
145         "parameters": [
146           {
147             "in": "query",
148             "name": "verbosity",
149             "required": false,
150             "schema": { "$ref": "#/components/schemas/get-verbosity" }
151           },
152           {
153             "in": "query",
154             "name": "apis",
155             "required": false,
156             "schema": { "$ref": "#/components/schemas/get-apis" }
157           }
158         ],
159         "responses": {
160           "200": {
161             "description": "A complex object array response",
162             "content": {
163               "application/json": {
164                 "schema": {
165                   "$ref": "#/components/schemas/afb-reply"
166                 }
167               }
168             }
169           }
170         }
171       }
172     },
173     "/set": {
174       "description": "Set monitoring actions.",
175       "get": {
176         "x-permissions": {
177           "$ref": "#/components/x-permissions/set"
178         },
179         "parameters": [
180           {
181             "in": "query",
182             "name": "verbosity",
183             "required": false,
184             "schema": { "$ref": "#/components/schemas/set-verbosity" }
185           }
186         ],
187         "responses": {
188           "200": {
189             "description": "A complex object array response",
190             "content": {
191               "application/json": {
192                 "schema": {
193                   "$ref": "#/components/schemas/afb-reply"
194                 }
195               }
196             }
197           }
198         }
199       }
200     }
201   }
202 }