promenade/tools/g2/manifest-schema.json
Mark Burnett 14d26d7763 Add on_error to manifest schema
This fixes the gate-lint test.

Change-Id: I964a3cbf22aec1c05afe1e000c87aaf4a5b14a0e
2018-03-05 10:16:56 -06:00

105 lines
2.1 KiB
JSON

{
"$schema": "http://json-schema.org/schema#",
"definitions": {
"publish": {
"type": "object",
"properties": {
"junit": {
"type": "array",
"items": {
"$ref": "#/definitions/relativePath"
}
}
},
"additionalProperties": false
},
"relativePath": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_\\.-]*(/[A-Za-z0-9_\\.-]+)*[A-Za-z0-9_-]$"
}
},
"type": "object",
"properties": {
"configuration": {
"type": "array",
"items": {
"$ref": "#/definitions/relativePath"
}
},
"publish": {
"$ref": "#/definitions/publish"
},
"stages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"arguments": {
"type": "array",
"items": {
"type": "string"
}
},
"name": {
"type": "string"
},
"on_error": {
"$ref": "#/definitions/relativePath"
},
"publish": {
"$ref": "#/definitions/publish"
},
"script": {
"$ref": "#/definitions/relativePath"
}
},
"required": [
"name",
"script"
],
"additionalProperties": false
},
"minItems": 1
},
"vm": {
"type": "object",
"properties": {
"memory": {
"type": "integer",
"minimum": 1024
},
"names": {
"type": "array",
"items": {
"type": "string",
"enum": [
"n0",
"n1",
"n2",
"n3"
]
},
"uniqueItems": true
},
"vcpus": {
"type": "integer",
"minimum": 1,
"maximum": 8
}
},
"required": [
"memory",
"names",
"vcpus"
],
"additionalProperties": false
}
},
"required": [
"stages"
],
"additionalProperties": false
}