aboutsummaryrefslogtreecommitdiffstats
path: root/src/genskel/monitor-api.json
diff options
context:
space:
mode:
Diffstat (limited to 'src/genskel/monitor-api.json')
-rw-r--r--src/genskel/monitor-api.json308
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"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
}