summaryrefslogtreecommitdiff
path: root/site/docs/documentation/Input/ExperimentSchema.md
diff options
context:
space:
mode:
authorDante Niewenhuis <d.niewenhuis@hotmail.com>2024-11-05 14:17:08 +0100
committerGitHub <noreply@github.com>2024-11-05 14:17:08 +0100
commit0f835d57b0e989e25aa0b71fe374a0fb1a94e86f (patch)
tree8d777634dbb8a3e03b14ecc4208228f92127f4b5 /site/docs/documentation/Input/ExperimentSchema.md
parentf3e578a2a43c99997dbf35e09debfde255a4ae22 (diff)
Documentation update (#261)
* Updated a lot of documentation, added a new get-started tutorial. * Applied Spotless * Applied Spotless Java * Added bitbrains workload to site
Diffstat (limited to 'site/docs/documentation/Input/ExperimentSchema.md')
-rw-r--r--site/docs/documentation/Input/ExperimentSchema.md81
1 files changed, 81 insertions, 0 deletions
diff --git a/site/docs/documentation/Input/ExperimentSchema.md b/site/docs/documentation/Input/ExperimentSchema.md
new file mode 100644
index 00000000..78ec55f7
--- /dev/null
+++ b/site/docs/documentation/Input/ExperimentSchema.md
@@ -0,0 +1,81 @@
+Below is the schema for the Scenario JSON file. This schema can be used to validate a scenario file.
+A scenario file can be validated using a JSON schema validator, such as https://www.jsonschemavalidator.net/.
+
+```json
+{
+ "$schema": "OpenDC/Scenario",
+ "$defs": {
+ "topology": {
+ "type": "object",
+ "properties": {
+ "pathToFile": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "pathToFile"
+ ]
+ },
+ "workload": {
+ "type": "object",
+ "properties": {
+ "pathToFile": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "pathToFile",
+ "type"
+ ]
+ },
+ "allocationPolicy": {
+ "type": "object",
+ "properties": {
+ "policyType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "policyType"
+ ]
+ }
+ },
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "topologies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/topology"
+ },
+ "minItems": 1
+ },
+ "workloads": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/workload"
+ },
+ "minItems": 1
+ },
+ "allocationPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/allocationPolicy"
+ },
+ "minItems": 1
+ },
+ "runs": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "topologies",
+ "workloads",
+ "allocationPolicies"
+ ]
+}
+```