mirror of https://github.com/Askill/DSPS.git
100 lines
3.9 KiB
JSON
100 lines
3.9 KiB
JSON
{
|
|
"$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"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
} |