-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathtemplate_schema.json
74 lines (74 loc) · 2.75 KB
/
template_schema.json
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
{
"$schema": "http://json-schema.org/schema#",
"type": "object",
"definitions": {
"fileDimensions": {
"type": "object",
"patternProperties": {
"^[A-Za-z][A-Za-z0-9_]*$": {
"type": ["integer", "null"],
"minimum": 0
}
},
"additionalProperties": false
},
"fileVariables": {
"type": "object",
"patternProperties": {
"^[A-Za-z][A-Za-z0-9_]*$": {"$ref": "#/definitions/variableDefinition"}
},
"additionalProperties": false
},
"variableDefinition": {
"type": "object",
"properties": {
"_dimensions": {"$ref": "#/definitions/variableDimensionsList"},
"_datatype": {"$ref": "#/definitions/dataTypeDefinition"},
"_FillValue": {"type": ["number", "string"]},
"_fill_value": {"type": ["number", "string"]},
"_zlib": {"type": "boolean"},
"_complevel": {"enum": [1, 2, 3, 4, 5, 6, 7, 8, 9]},
"_shuffle": {"type": "boolean"},
"_fletcher32": {"type": "boolean"},
"_contiguous": {"type": "boolean"},
"_chunksizes": {},
"_endian": {"enum": ["little", "big", "native"]},
"_least_significant_digit": {"type": "integer"},
"_data": {"type": ["null", "number", "array"]}
},
"patternProperties": {
"^[A-Za-z][A-Za-z0-9_]*$": {"$ref": "#/definitions/attributeDefinition"}
},
"additionalProperties": false
},
"variableDimensionsList": {
"type": "array",
"items": {"type": "string", "pattern": "^[A-Za-z][A-Za-z0-9_]*$"}
},
"attributeDefinition": {
"type": ["string", "number", "array"]
},
"dataTypeDefinition": {
"anyOf": [
{
"type": "string",
"enum": [
"int", "int8", "int16", "int32", "int64",
"float", "float32", "float64", "double",
"S1", "c", "i1", "b", "B", "u1", "i2", "h", "s", "u2", "i4", "i", "l", "u4",
"i8", "u8", "f4", "f", "f8", "d"
]
},
{"format": "datatype"}
]
}
},
"properties": {
"_dimensions": {"$ref": "#/definitions/fileDimensions"},
"_variables": {"$ref": "#/definitions/fileVariables"}
},
"patternProperties": {
"^[A-Za-z][A-Za-z0-9_]*$": {"$ref": "#/definitions/attributeDefinition"}
},
"additionalProperties": false
}