From d16ab6b0fc594a01be1d31a716872aa13d8c0f59 Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Mon, 28 Mar 2022 18:12:11 +0200 Subject: [PATCH] api: add OpenAPI spec and example configuration for new node-type --- doc/openapi/components/schemas/config/node_obj.yaml | 1 + .../components/schemas/config/nodes/_api.yaml | 3 +++ .../components/schemas/config/nodes/api.yaml | 13 +++++++++++++ etc/examples/nodes/api.conf | 12 ++++++++++++ 4 files changed, 29 insertions(+) create mode 100644 doc/openapi/components/schemas/config/nodes/_api.yaml create mode 100644 doc/openapi/components/schemas/config/nodes/api.yaml create mode 100644 etc/examples/nodes/api.conf diff --git a/doc/openapi/components/schemas/config/node_obj.yaml b/doc/openapi/components/schemas/config/node_obj.yaml index 34d90cb7d..a10b44f81 100644 --- a/doc/openapi/components/schemas/config/node_obj.yaml +++ b/doc/openapi/components/schemas/config/node_obj.yaml @@ -17,6 +17,7 @@ properties: discriminator: propertyName: type mapping: + api: nodes/_api.yaml amqp: nodes/_amqp.yaml can: nodes/_can.yaml comedi: nodes/_comedi.yaml diff --git a/doc/openapi/components/schemas/config/nodes/_api.yaml b/doc/openapi/components/schemas/config/nodes/_api.yaml new file mode 100644 index 000000000..c5b6347b8 --- /dev/null +++ b/doc/openapi/components/schemas/config/nodes/_api.yaml @@ -0,0 +1,3 @@ +allOf: +- $ref: ../node_obj.yaml +- $ref: api.yaml diff --git a/doc/openapi/components/schemas/config/nodes/api.yaml b/doc/openapi/components/schemas/config/nodes/api.yaml new file mode 100644 index 000000000..43f8db0db --- /dev/null +++ b/doc/openapi/components/schemas/config/nodes/api.yaml @@ -0,0 +1,13 @@ +# yaml-language-server: $schema=http://json-schema.org/draft-07/schema +--- + +allOf: +- type: object + additionalProperties: true + description: | + Additional properties can be retrieved via Rest API call: + + ```bash + curl http://localhost:80/api/v2/universal/api_node_name/config + ``` +- $ref: ../node.yaml diff --git a/etc/examples/nodes/api.conf b/etc/examples/nodes/api.conf new file mode 100644 index 000000000..59b9174d1 --- /dev/null +++ b/etc/examples/nodes/api.conf @@ -0,0 +1,12 @@ +nodes = { + api_node = { + type = "api" + + // Additional configuration can be retrieved via Rest API call: + // curl http://localhost:80/api/v2/universal/api_node/config + my_setting = "my_value" + a = { + b = false + } + } +}