summaryrefslogtreecommitdiff
path: root/api_resource_description-2.schema.json
diff options
context:
space:
mode:
authorWojtek Kosior <koszko@koszko.org>2022-05-27 15:46:34 +0200
committerWojtek Kosior <koszko@koszko.org>2022-05-31 19:40:40 +0200
commit7206db45f277c10c34d1b7ed9bd35343ac742d30 (patch)
treee85179e32a2c63bc98b4771fe1dae4ecdbec02cf /api_resource_description-2.schema.json
parent4b4da5a02bc311603469eea7b3dfd4f1bbb911fd (diff)
downloadhydrilla-json-schemas-7206db45f277c10c34d1b7ed9bd35343ac742d30.tar.gz
hydrilla-json-schemas-7206db45f277c10c34d1b7ed9bd35343ac742d30.zip
move all schema files to 2.x version seriesv2.0koszko
This commit also introduces: * combined source definitions of resource and mapping, * dependencies on mappings, * permissions, * Haketilo version constraints.
Diffstat (limited to 'api_resource_description-2.schema.json')
-rw-r--r--api_resource_description-2.schema.json35
1 files changed, 35 insertions, 0 deletions
diff --git a/api_resource_description-2.schema.json b/api_resource_description-2.schema.json
new file mode 100644
index 0000000..1157977
--- /dev/null
+++ b/api_resource_description-2.schema.json
@@ -0,0 +1,35 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "https://hydrilla.koszko.org/schemas/api_resource_description-2.schema.json",
+ "title": "Resource description",
+ "description": "Definition of a Hydrilla resource, as served through HTTP API",
+ "allOf": [{
+ "$ref": "./common_definitions-2.schema.json#/definitions/resource_definition_base"
+ }, {
+ "$ref": "./common_definitions-2.schema.json#/definitions/item_definition"
+ }, {
+ "type": "object",
+ "required": ["$schema", "type"],
+ "properties": {
+ "$schema": {
+ "description": "Mark this instance as conforming to resource description schema 2.x",
+ "type": "string",
+ "pattern": "^https://hydrilla\\.koszko\\.org/schemas/api_resource_description-2\\.(([1-9][0-9]*|0)\\.)*schema\\.json$"
+ },
+ "type": {
+ "description": "Identify this item as a resource",
+ "const": "resource"
+ },
+ "scripts": {
+ "description": "Which files are resource's scripts and need to be installed",
+ "$ref": "./common_definitions-2.schema.json#/definitions/file_ref_list_sha256",
+ "default": []
+ },
+ "dependencies": {
+ "description": "Which other resources this resource depends on",
+ "$ref": "./common_definitions-2.schema.json#/definitions/item_dep_specifier_array",
+ "default": []
+ }
+ }
+ }]
+}