blob: 79952dd62415d7b12005f28e6b8731a2df390516 [file] [log] [blame]
{
"guid":{
"type":"string"
},
"command":{
"type":"string",
"pattern":"(?i)(RECREATE|CREATE|UPDATE|DELETE)"
},
"timestamp":{
"type":"string",
"pattern":"\\d+"
},
"name":{
"type":"string"
},
"ensembles":{
"type":"array",
"items":{
"guid":{
"type":"string"
},
"command":{
"type":"string",
"pattern":"(?i)(NONE|CREATE|UPDATE|DELETE)"
},
"performers":{
"type":"array",
"items":{
"guid":{
"type":"string"
},
"controlAware":{
"type":"boolean"
},
"dispatcher":{
"type": "string"
},
"autoScale":{
"type": "object",
"lowerBound" : {
"type":"integer",
"minimum":1
},
"upperBound" : {
"type":"integer",
"minimum":1
},
"backoffThreshold" :{
"type":"number",
"minimum":0.0
},
"roundRobin":{
"type": "boolean"
},
"required":[
"lowerBound",
"upperBound"
]
},
"schedule":{
"type":"integer",
"minimum":0
},
"backoff":{
"type":"integer",
"minimum":0
},
"source":{
"type": "object",
"name":{
"type":"string",
"pattern":"\\w+(\\.jar)"
},
"location":{
"type": "object",
"url": {
"type": "string",
"pattern": "(?i)(^(http|https|file)):\/\/"
},
"credentials":{
"user":{
"type": "string"
},
"password": {
"type": "string"
},
"required":["user","password"]
},
"required":["url"]
},
"classPath":{
"type":"string",
"pattern":"\\w+"
},
"parameters":{
"patternProperties":{
".*":{
"type":"string"
}
}
},
"required":[
"name",
"classPath",
"parameters"
]
},
"required":[
"guid",
"schedule",
"backoff",
"source"
]
}
},
"connections":{
"type":"array",
"items":{
"patternProperties":{
".*":{
"type":"array",
"items":{
"type":"string"
}
}
}
}
},
"required":[
"guid",
"command",
"performers",
"connections"
]
}
},
"required":[
"guid",
"command",
"timestamp",
"name",
"ensembles"
]
}