summaryrefslogtreecommitdiff
path: root/src/hydrilla/schemas/2.x/api_resource_description-2.schema.json
blob: 115797799b995e3050164b44a59a2a169232f739 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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": []
	    }
	}
    }]
}