mirror of
https://github.com/MatMoul/dokytree.git
synced 2024-12-24 08:36:11 +00:00
346 lines
5.1 KiB
JSON
346 lines
5.1 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "YAML Schema for computer",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"todo": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"msg": {
|
|
"anyOf": [
|
|
{"type": "string"},
|
|
{"enum": [
|
|
"''"
|
|
]}
|
|
]
|
|
},
|
|
"priority": { "type": "integer" },
|
|
"duration": {
|
|
"anyOf": [
|
|
{"type": "integer"},
|
|
{"type": "string"},
|
|
{"enum": [
|
|
"''"
|
|
]}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"name": {
|
|
"oneOf": [
|
|
{"type": "string"},
|
|
{"enum": [
|
|
"''"
|
|
]}
|
|
]
|
|
},
|
|
"maintainer": {
|
|
"oneOf": [
|
|
{"type": "string"},
|
|
{"enum": [
|
|
"''"
|
|
]}
|
|
]
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"anyOf": [
|
|
{ "type": "string" },
|
|
{ "enum": [
|
|
"''",
|
|
"'box'",
|
|
"'rack'",
|
|
"'wall'",
|
|
"'ceiling'"
|
|
]}
|
|
]
|
|
},
|
|
"roles": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{ "type": "string" },
|
|
{ "enum": [
|
|
"''",
|
|
"'DHCP'",
|
|
"'DNS'",
|
|
"'VPN'",
|
|
"'Firewall'",
|
|
"'Router'"
|
|
]}
|
|
]
|
|
}
|
|
},
|
|
"model": {
|
|
"anyOf": [
|
|
{"type": "string"},
|
|
{"enum": [
|
|
"''"
|
|
]}
|
|
]
|
|
},
|
|
"os": {
|
|
"type": "string",
|
|
"anyOf": [
|
|
{ "type": "string" },
|
|
{"enum": [
|
|
"''",
|
|
"'Linux'",
|
|
"'Debian'"
|
|
]}
|
|
]
|
|
},
|
|
"location": {
|
|
"anyOf": [
|
|
{"type": "string"},
|
|
{"enum": [
|
|
"''"
|
|
]}
|
|
]
|
|
},
|
|
"interfaces": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"anyOf": [
|
|
{"type": "string"},
|
|
{"enum": [
|
|
"''",
|
|
"'LAN'",
|
|
"'WIFI'",
|
|
"'WAN'",
|
|
"'VPN'"
|
|
]}
|
|
]
|
|
},
|
|
"ip": {
|
|
"anyOf": [
|
|
{"type": "string"},
|
|
{"enum": [
|
|
"''"
|
|
]}
|
|
]
|
|
},
|
|
"mask": {
|
|
"anyOf": [
|
|
{"type": "string"},
|
|
{"enum": [
|
|
"''",
|
|
"'255.255.255.0'",
|
|
"'255.255.0.0'",
|
|
"'255.0.0.0'"
|
|
]}
|
|
]
|
|
},
|
|
"gw": {
|
|
"anyOf": [
|
|
{"type": "string"},
|
|
{"enum": [
|
|
"''"
|
|
]}
|
|
]
|
|
},
|
|
"dns": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{"type": "string"},
|
|
{"enum": [
|
|
"''"
|
|
]}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"updates": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"anyOf": [
|
|
{ "type": "string" },
|
|
{ "enum": [
|
|
"''",
|
|
"'os'"
|
|
]}
|
|
]
|
|
},
|
|
"method": {
|
|
"anyOf": [
|
|
{ "type": "string" },
|
|
{ "enum": [
|
|
"''",
|
|
"'auto'",
|
|
"'manual'"
|
|
]}
|
|
]
|
|
},
|
|
"frequency": {
|
|
"anyOf": [
|
|
{ "type": "string" },
|
|
{ "enum": [
|
|
"''",
|
|
"'auto'",
|
|
"'daily'",
|
|
"'weekly'",
|
|
"'monthly'",
|
|
"'quarterly'",
|
|
"'halfyearly'",
|
|
"'yearly'",
|
|
"'monday'",
|
|
"'tuesday'",
|
|
"'wednesday'",
|
|
"'thursday'",
|
|
"'friday'",
|
|
"'saturday'",
|
|
"'sonday'"
|
|
]}
|
|
]
|
|
},
|
|
"time": {
|
|
"anyOf": [
|
|
{"type": "string"},
|
|
{"enum": [
|
|
"''",
|
|
"'auto'"
|
|
]}
|
|
]
|
|
},
|
|
"duration": {
|
|
"anyOf": [
|
|
{ "type": "string" },
|
|
{ "type": "integer" },
|
|
{"enum": [
|
|
"''"
|
|
]}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"backups": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"anyOf": [
|
|
{ "type": "string" },
|
|
{ "enum": [
|
|
"''",
|
|
"'none'",
|
|
"'hypervisor'",
|
|
"'windowsbackup'"
|
|
]}
|
|
]
|
|
},
|
|
"method": {
|
|
"anyOf": [
|
|
{ "type": "string" },
|
|
{ "enum": [
|
|
"''",
|
|
"'auto'",
|
|
"'manual'"
|
|
]}
|
|
]
|
|
},
|
|
"frequency": {
|
|
"anyOf": [
|
|
{ "type": "string" },
|
|
{ "enum": [
|
|
"''",
|
|
"'daily'",
|
|
"'weekly'",
|
|
"'monthly'",
|
|
"'quarterly'",
|
|
"'halfyearly'",
|
|
"'yearly'",
|
|
"'monday'",
|
|
"'tuesday'",
|
|
"'wednesday'",
|
|
"'thursday'",
|
|
"'friday'",
|
|
"'saturday'",
|
|
"'sonday'"
|
|
]}
|
|
]
|
|
},
|
|
"target": {
|
|
"anyOf": [
|
|
{"type": "string"},
|
|
{"enum": [
|
|
"''",
|
|
"'usb'",
|
|
"'pbs'",
|
|
"'share'",
|
|
"'iscsi'",
|
|
"'cloud'"
|
|
]}
|
|
]
|
|
},
|
|
"time": {
|
|
"anyOf": [
|
|
{"type": "string"},
|
|
{"enum": [
|
|
"''",
|
|
"'auto'"
|
|
]}
|
|
]
|
|
},
|
|
"duration": {
|
|
"anyOf": [
|
|
{ "type": "string" },
|
|
{ "type": "integer" },
|
|
{"enum": [
|
|
"''"
|
|
]}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"headfiles": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{ "type": "string" },
|
|
{ "enum": [
|
|
"''"
|
|
]}
|
|
]
|
|
}
|
|
},
|
|
"files": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{ "type": "string" },
|
|
{ "enum": [
|
|
"''"
|
|
]}
|
|
]
|
|
}
|
|
},
|
|
"footfiles": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{ "type": "string" },
|
|
{ "enum": [
|
|
"''"
|
|
]}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|