aboutsummaryrefslogtreecommitdiff
path: root/src/hydrilla/schemas/2.x/api_resource_description-2.schema.json
diff options
context:
space:
mode:
authorWojtek Kosior <koszko@koszko.org>2022-06-15 11:09:58 +0200
committerWojtek Kosior <koszko@koszko.org>2022-06-15 11:09:58 +0200
commit22c722bf59e59246f47491c7229b17f9ef783614 (patch)
treebdcfbfae93f5e54d9b2b39465945419406b5e96a /src/hydrilla/schemas/2.x/api_resource_description-2.schema.json
parent6bc04f8097e44e55cbf543d811ccd90671faedbc (diff)
downloadhydrilla-builder-22c722bf59e59246f47491c7229b17f9ef783614.tar.gz
hydrilla-builder-22c722bf59e59246f47491c7229b17f9ef783614.zip
New upstream version 1.1~beta1upstream/1.1_beta1debian-upstream
Diffstat (limited to 'src/hydrilla/schemas/2.x/api_resource_description-2.schema.json')
-rw-r--r--src/hydrilla/schemas/2.x/api_resource_description-2.schema.json35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/hydrilla/schemas/2.x/api_resource_description-2.schema.json b/src/hydrilla/schemas/2.x/api_resource_description-2.schema.json
new file mode 100644
index 0000000..1157977
--- /dev/null
+++ b/src/hydrilla/schemas/2.x/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": []
+ }
+ }
+ }]
+}