diff options
Diffstat (limited to 'src/genskel/monitor-api.json')
-rw-r--r-- | src/genskel/monitor-api.json | 308 |
1 files changed, 202 insertions, 106 deletions
diff --git a/src/genskel/monitor-api.json b/src/genskel/monitor-api.json index ed07c31c..016fb105 100644 --- a/src/genskel/monitor-api.json +++ b/src/genskel/monitor-api.json @@ -1,108 +1,204 @@ { - "namespace": "urn:AGL:binding", - - "api": "monitor", - - "doc": "monitor the bindings", - - "verbs": { - "set": { - "doc": "set various values", - "permissions": { "$ref": "#/permissions/set" }, - "LOA": { "minimum": 0 }, - "request": { "$ref": "#/types/set-request" }, - "response": { "$ref": "#/types/set-response" } - }, - "get": { - "doc": "get the verbosity of apis", - "permissions": { "$ref": "#/permissions/get-or-set" }, - "LOA": { "minimum": 0 }, - "request": { "$ref": "#/types/get-request" }, - "response": { "$ref": "#/types/get-response" } - } - }, - - "permissions": { - "get": { - "permission": "urn:AGL:permission::platform:monitor:get" - }, - "set": { - "permission": "urn:AGL:permission::platform:monitor:set" - }, - "get-or-set": { - "anyOf": [ - { "$ref": "#/permissions/get" }, - { "$ref": "#/permissions/set" } - ] - } - }, - - "types": { - "set-request": { - "type": "object", - "properties": { - "verbosity": { "$ref": "#/types/set-verbosity" } - } - }, - "set-response": { - "type": "object" - }, - - "set-verbosity": { - "anyOf": [ - { "$ref": "#/types/verbosity-map" }, - { "$ref": "#/types/verbosity-level" } - ] - }, - - "get-request": { - "type": "object", - "properties": { - "verbosity": { "$ref": "#/types/get-verbosity" }, - "apis": { "$ref": "#/types/get-apis" } - } - }, - "get-response": { - "type": "object", - "properties": { - "verbosity": { "$ref": "#/types/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": "#/types/verbosity-level" } } - }, - "verbosity-level": { - "enum": [ "debug", 3, "info", 2, "notice", "warning", 1, "error", 0 ] - } - - - }, - - "meta-binding": { - "prefix": "f_", - "postfix": "", - "start": null, - "onevent": null, - "init": null, - "scope": "static", - "private": true - } + "openapi": "3.0.0", + "info": { + "description": "", + "title": "monitor", + "version": "1.0", + "x-binding-c-generator": { + "api": "monitor", + "version": 2, + "prefix": "f_", + "postfix": "", + "start": null, + "onevent": null, + "init": 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": { +"allOf":[{"session":"check"},{"LOA":1},{"token":"refresh"},{ + "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" + } + } + } + } + } + } + } + } } |