{ "openapi": "3.0.0", "info": { "description": "", "title": "monitor", "version": "1.0", "x-binding-c-generator": { "api": "monitor", "version": 2, "prefix": "f_", "postfix": "", "preinit": null, "init": null, "onevent": null, "scope": "static", "private": true } }, "servers": [ { "url": "ws://{host}:{port}/api/monitor", "description": "The API server.", "variables": { "host": { "default": "localhost" }, "port": { "default": "1234" } }, "x-afb-events": [ { "$ref": "#/components/schemas/afb-event" } ] } ], "components": { "schemas": { "afb-reply": { "$ref": "#/components/schemas/afb-reply-v1" }, "afb-event": { "$ref": "#/components/schemas/afb-event-v1" }, "afb-reply-v1": { "title": "Generic response.", "type": "object", "required": [ "jtype", "request" ], "properties": { "jtype": { "type": "string", "const": "afb-reply" }, "request": { "type": "object", "required": [ "status" ], "properties": { "status": { "type": "string" }, "info": { "type": "string" }, "token": { "type": "string" }, "uuid": { "type": "string" }, "reqid": { "type": "string" } } }, "response": { "type": "object" } } }, "afb-event-v1": { "type": "object", "required": [ "jtype", "event" ], "properties": { "jtype": { "type": "string", "const": "afb-event" }, "event": { "type": "string" }, "data": { "type": "object" } } }, "set-verbosity": { "anyOf": [ { "$ref": "#/components/schemas/verbosity-map" }, { "$ref": "#/components/schemas/verbosity-level" } ] }, "get-request": { "type": "object", "properties": { "verbosity": { "$ref": "#/components/schemas/get-verbosity" }, "apis": { "$ref": "#/components/schemas/get-apis" } } }, "get-response": { "type": "object", "properties": { "verbosity": { "$ref": "#/components/schemas/verbosity-map" }, "apis": { "type": "object" } } }, "get-verbosity": { "anyOf": [ { "type": "boolean" }, { "type": "array", "items": { "type": "string" } }, { "type": "object" } ] }, "get-apis": { "anyOf": [ { "type": "boolean" }, { "type": "array", "items": { "type": "string" } }, { "type": "object" } ] }, "verbosity-map": { "type": "object", "patternProperties": { "^.*$": { "$ref": "#/components/schemas/verbosity-level" } } }, "verbosity-level": { "enum": [ "debug", 3, "info", 2, "notice", "warning", 1, "error", 0 ] } }, "x-permissions": { "set": { "permission": "urn:AGL:permission:monitor:public:set" }, "get": { "permission": "urn:AGL:permission:monitor:public:get" }, "get-or-set": { "anyOf": [ { "$ref": "#/components/x-permissions/get" }, { "$ref": "#/components/x-permissions/set" } ] } } }, "paths": { "/get": { "description": "Get monitoring data.", "get": { "x-permissions": { "$ref": "#/components/x-permissions/get-or-set" }, "parameters": [ { "in": "query", "name": "verbosity", "required": false, "schema": { "$ref": "#/components/schemas/get-verbosity" } }, { "in": "query", "name": "apis", "required": false, "schema": { "$ref": "#/components/schemas/get-apis" } } ], "responses": { "200": { "description": "A complex object array response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/afb-reply" } } } } } } }, "/set": { "description": "Set monitoring actions.", "get": { "x-permissions": { "$ref": "#/components/x-permissions/set" }, "parameters": [ { "in": "query", "name": "verbosity", "required": false, "schema": { "$ref": "#/components/schemas/set-verbosity" } } ], "responses": { "200": { "description": "A complex object array response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/afb-reply" } } } } } } } } }