DSPS/purePy - Simulation/Application/files/service_schema.json

100 lines
3.9 KiB
JSON
Raw Permalink Normal View History

2021-09-02 10:27:53 +00:00
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "/Matz/Patrice/Master-Thesis/Service.schema.json",
"title": "Profile",
"description": "An Applicarions measure Profile in different Scenarios",
"type": "object",
"properties": {
"id":{
"description": "name of the schema used to validate, optinal",
"type": "string"
},
"name": {
"description": "user defined name, optinal",
"type": "string"
},
"scenarios": {
"description": "",
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "object",
"properties": {
"serviceID": {
"description": "user defined name, optinal",
"type": "string"
},
"scales": {
"description": "Does this service scale",
"type": "boolean"
},
"scaleUpAt": {
"description": "average load to send the scale up command",
"type": "number"
},
"scaleTime": {
"description": "amount of time in seconds needed for the deployment of another replic",
"type": "number"
},
"scaleDownAt": {
"description": "avergae load to sclae down at",
"type": "number"
},
"scale": {
"description": "initial scale of a service",
"type": "number"
},
"scalingDelay":{
"description": "how long a service need to scale up in seconds",
"type": "number"
},
"scalingMetric": {
"description": "which metric usage to go by CPU, RAM, IO, NET",
"type" : "object",
"required" : ["metric"],
"properties" : {
"metric" : {
"type" : "string",
"enum" : ["CPU", "RAM", "IO", "NET"]
}
}
},
"defaultServer": {
"description": "The unique identifier for a scenario",
"type": "object",
"properties": {
"maxCPU": {
"description": "which metric usage to go by CPU, RAM, IO, NET",
"type": "integer"
},
"maxRAM": {
"description": "which metric usage to go by CPU, RAM, IO, NET",
"type": "integer"
},
"maxIO": {
"description": "which metric usage to go by CPU, RAM, IO, NET",
"type": "integer"
},
"maxNET": {
"description": "which metric usage to go by CPU, RAM, IO, NET",
"type": "integer"
}
},
"required": [
"maxCPU",
"maxRAM",
"maxIO",
"maxNET"
]
}
},
"required": [
"defaultServer",
"serviceID",
"scales"
]
}
}
}
}