Update Installation Documentation
authorfulup <fulup.arfoll@iot.bzh>
Tue, 18 Jul 2017 14:33:01 +0000 (16:33 +0200)
committerFulup Ar Foll <fulup@iot.bzh>
Tue, 25 Jul 2017 10:37:22 +0000 (12:37 +0200)
conf.d/openapi/openapi-schema.json [moved from conf.d/openapi-schema.json with 100% similarity]
ucs2-interface/ucs_api_def.json [new file with mode: 0644]

diff --git a/ucs2-interface/ucs_api_def.json b/ucs2-interface/ucs_api_def.json
new file mode 100644 (file)
index 0000000..9b99843
--- /dev/null
@@ -0,0 +1,202 @@
+{
+  "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"
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}