{
"$schema":"http://json-schema.org/draft-04/schema#", "additionalProperties":false, "definitions":{ "source":{ "description":"Source file", "id":"#source", "title":"Source", "type":"string" }, "target":{ "description":"Target directory", "id":"#target", "title":"Target", "type":"string" }, "name":{ "description":"New name of the copied file", "id":"#name", "title":"Name", "type":"string" }, "linkname":{ "description":"Link file", "id":"#linkname", "title":"Link", "type":"string" }, "symbolic":{ "description":"Whether created link should be symbolic", "id":"#symbolic", "title":"Symbolic", "type":"boolean" }, "copy":{ "additionalItems":false, "id":"#copy", "items":{ "additionalProperties":false, "properties":{ "source":{ "$ref":"#/definitions/source" }, "target":{ "$ref":"#/definitions/target" }, "name":{ "$ref":"#/definitions/name" } }, "required":[ "source", "target" ], "type":"object" }, "type":"array" }, "remove":{ "additionalItems":false, "id":"#remove", "items":{ "description":"File to remove", "title":"File", "type":"string" }, "type":"array" }, "link":{ "additionalItems":false, "id":"#link", "items":{ "additionalProperties":false, "properties":{ "target":{ "$ref":"#/definitions/target" }, "link":{ "$ref":"#/definitions/linkname" }, "symbolic":{ "$ref":"#/definitions/symbolic" } }, "required":[ "target", "link" ], "type":"object" }, "type":"array" }, "actions":{ "additionalProperties":false, "id":"#actions", "properties":{ "copy":{ "$ref":"#/definitions/copy" }, "remove":{ "$ref":"#/definitions/remove" }, "link":{ "$ref":"#/definitions/link" } }, "type":"object" }, "cpu":{ "description":"Minimum required CPU", "id":"#cpu", "title":"CPU", "type":"integer" }, "distribution":{ "description":"Distribution name", "id":"#distribution", "title":"Distribution", "type":"string" }, "name":{ "description":"Image name", "id":"#name", "title":"Name", "type":"string" }, "ram":{ "description":"Minimum required RAM", "id":"#ram", "title":"RAM", "type":"integer" }, "url":{ "description":"Image URL", "id":"#url", "title":"URL", "type":"string" }, "function":{ "description":"Hash function", "id":"#function", "title":"Function", "type":"string" }, "hash":{ "additionalProperties":false, "id":"#hash", "properties":{ "function":{ "$ref":"#/definitions/function" } }, "required":[ "function" ], "type":"object" }, "file":{ "description":"URL to file with both signature and data", "id":"#file", "title":"File", "type":"string" }, "clearsign":{ "additionalProperties":false, "id":"#clearsign", "properties":{ "file":{ "$ref":"#/definitions/file" } }, "required":[ "file" ], "type":"object" }, "data":{ "description":"URL to file with signed data", "id":"#data", "title":"Data", "type":"string" }, "signature_file":{ "description":"URL to file with signature", "id":"#signature_file", "title":"Signature", "type":"string" }, "detached":{ "additionalProperties":false, "id":"#detached", "properties":{ "data":{ "$ref":"#/definitions/data" }, "signature":{ "$ref":"#/definitions/signature_file" } }, "required":[ "data", "signature" ], "type":"object" }, "signature":{ "additionalProperties":false, "id":"#signature", "properties":{ "clearsign":{ "$ref":"#/definitions/clearsign" }, "detached":{ "$ref":"#/definitions/detached" } }, "type":"object" }, "verification":{ "additionalProperties":false, "id":"#verification", "properties":{ "hash":{ "$ref":"#/definitions/hash" }, "signature":{ "$ref":"#/definitions/signature" } }, "required":[ "hash", "signature" ], "type":"object" }, "version":{ "description":"Image version", "id":"#version", "title":"Version", "type":"string" } }, "id":"imagemaster3000-definition-schema.json", "properties":{ "actions":{ "$ref":"#/definitions/actions" }, "cpu":{ "$ref":"#/definitions/cpu" }, "distribution":{ "$ref":"#/definitions/distribution" }, "name":{ "$ref":"#/definitions/name" }, "ram":{ "$ref":"#/definitions/ram" }, "url":{ "$ref":"#/definitions/url" }, "verification":{ "$ref":"#/definitions/verification" }, "version":{ "$ref":"#/definitions/version" } }, "required":[ "name", "url", "version", "distribution" ], "type":"object"
}