version up: ca-certificates 20151214
[slapos.git] / schema.json
1 {
2   "$schema": "http://json-schema.org/draft-04/schema#",
3   "description": "Slapos Software Release instantiation descriptor",
4   "additionalProperties": false,
5   "properties": {
6     "name": {
7       "description": "A short human-friendly name for the sofware release",
8       "type": "string"
9     },
10     "description": {
11       "description": "A short description of the sofware release",
12       "type": "string"
13     },
14     "serialisation": {
15       "description": "How the parameters and results are serialised",
16       "required": true,
17       "enum": ["xml", "json-in-xml"],
18       "type": "string"
19     },
20     "software-type": {
21       "description": "Existing software types",
22       "required": true,
23       "patternProperties": {
24         ".*": {
25           "description": "Software type declaration",
26           "additionalProperties": false,
27           "properties": {
28             "description": {
29               "description": "A human-friendly description of the software type",
30               "type": "string"
31             },
32             "serialisation": {
33               "description": "How the parameters and results are serialised, if different from global setting",
34               "enum": ["xml", "json-in-xml"],
35               "type": "string"
36             },
37             "request": {
38               "required": true,
39               "description": "URL, relative to Software Release base path, of a json schema for values expected by instance of current software type",
40               "type": "string"
41             },
42             "response": {
43               "required": true,
44               "description": "URL, relative to Software Release base path, of a json schema for values published by instance of current software type",
45               "type": "string"
46             },
47             "index": {
48               "description": "Value to use instead of software type id to sort them (in order to display most relevant software types earlier in a list, for example)",
49               "type": "any"
50             }
51           },
52           "type": "object"
53         }
54       },
55       "type": "object"
56     }
57   },
58   "type": "object"
59 }
60