{
  "$id": "https://json.schemastore.org/venvironment-basic-schema.json",
  "type": "object",
  "$ref": "#/definitions/4013/full",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "venvironment-basic schema",
  "definitions": {
    "4013": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "venvironment-basic schema",
        "type": "object",
        "required": ["version"],
        "properties": {
          "version": {
            "enum": ["1.0.0", "1.1.0", "2.1.0", "2.0.0"]
          }
        },
        "anyOf": [
          {
            "if": {
              "properties": {
                "version": {
                  "const": "2.1.0"
                }
              }
            },
            "then": {
              "$ref": "#/definitions/6aa3/full"
            }
          },
          {
            "if": {
              "properties": {
                "version": {
                  "const": "2.0.0"
                }
              }
            },
            "then": {
              "$ref": "#/definitions/6a2b/full"
            }
          },
          {
            "if": {
              "properties": {
                "version": {
                  "const": "1.1.0"
                }
              }
            },
            "then": {
              "$ref": "#/definitions/c49d/full"
            }
          },
          {
            "if": {
              "properties": {
                "version": {
                  "const": "1.0.0"
                }
              }
            },
            "then": {
              "$ref": "#/definitions/7e31/full"
            }
          }
        ]
      }
    },
    "6aa3": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "venvironment-basic schema",
        "type": "object",
        "additionalProperties": false,
        "required": ["version"],
        "properties": {
          "version": {
            "$ref": "#/definitions/be66/full"
          },
          "includes": {
            "$ref": "#/definitions/8549/full"
          },
          "global-settings": {
            "$ref": "#/definitions/11d8/full"
          },
          "system-variables": {
            "$ref": "#/definitions/ae22/full"
          },
          "datasources": {
            "$ref": "#/definitions/f858/full"
          },
          "user-files": {
            "$ref": "#/definitions/3492/full"
          },
          "functional-mockup-units": {
            "$ref": "#/definitions/1c0e/full"
          },
          "sil-kit": {
            "$ref": "#/definitions/1ce7/full"
          },
          "logging": {
            "$ref": "#/definitions/bb49/full"
          }
        }
      }
    },
    "6a2b": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "venvironment-basic schema",
        "type": "object",
        "additionalProperties": false,
        "required": ["version"],
        "properties": {
          "version": {
            "$ref": "#/definitions/380d/full"
          },
          "global-settings": {
            "$ref": "#/definitions/9af4/full"
          },
          "includes": {
            "$ref": "#/definitions/8549/full"
          },
          "datasources": {
            "$ref": "#/definitions/f858/full"
          },
          "functional-mockup-units": {
            "$ref": "#/definitions/1c0e/full"
          },
          "sil-kit": {
            "$ref": "#/definitions/1ce7/full"
          },
          "system-variables": {
            "$ref": "#/definitions/ae22/full"
          },
          "logging": {
            "$ref": "#/definitions/b245/full"
          }
        }
      }
    },
    "c49d": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "venvironment-basic schema",
        "type": "object",
        "additionalProperties": false,
        "required": ["version"],
        "properties": {
          "version": {
            "$ref": "#/definitions/6141/full"
          },
          "includes": {
            "$ref": "#/definitions/8549/full"
          },
          "datasources": {
            "$ref": "#/definitions/f858/full"
          },
          "functional-mockup-units": {
            "$ref": "#/definitions/c1ef/full"
          },
          "sil-kit": {
            "$ref": "#/definitions/a13a/full"
          },
          "system-variables": {
            "$ref": "#/definitions/ae22/full"
          },
          "logging": {
            "$ref": "#/definitions/5a4c/full"
          }
        }
      }
    },
    "7e31": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "venvironment-basic schema",
        "type": "object",
        "additionalProperties": false,
        "required": ["version"],
        "properties": {
          "version": {
            "$ref": "#/definitions/ac6e/full"
          },
          "includes": {
            "$ref": "#/definitions/6c39/full"
          },
          "datasources": {
            "$ref": "#/definitions/f858/full"
          },
          "system-variables": {
            "$ref": "#/definitions/ae22/full"
          }
        }
      }
    },
    "be66": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Version",
        "description": "Json schema version for the vEnvironment-Basic configuration file. Acceptance criteria: equal major version, less/equal minor and patch version.",
        "const": "2.1.0",
        "type": "string",
        "examples": ["2.1.0"]
      }
    },
    "8549": {
      "local": {
        "one": {
          "type": "string",
          "pattern": "\\.([Yy][Aa]?[Mm][Ll]|[Jj][Ss][Oo][Nn])$"
        }
      },
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Include files",
        "description": "Include a different file (similar to #include of the c preprocessor). The order of includes does not matter. Circular / multiple includes are resolved correctly.",
        "oneOf": [
          {
            "$ref": "#/definitions/8549/local/one"
          },
          {
            "type": "array",
            "items": {
              "$ref": "#/definitions/8549/local/one"
            }
          }
        ],
        "examples": [
          "my_include.yaml",
          ["my_include.yml", "my_other_include.json"]
        ]
      }
    },
    "11d8": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Global Settings",
        "description": "Global settings for all scenarios.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "time-source": {
            "description": "Time source for the simulation. Operate without hardware and simulate all buses completely. \n'internal-realtime': The time response of the measurement (time basis) is controlled internally. \n'external-software': The time response of the measurement (time basis) is controlled by an external program.",
            "default": "internal-realtime",
            "anyOf": [
              {
                "enum": ["internal-realtime", "external-software"]
              }
            ],
            "examples": ["internal-realtime", "external-software"]
          }
        },
        "examples": [
          {
            "time-source": "internal-realtime"
          }
        ]
      }
    },
    "ae22": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "System Variables",
        "description": "A lists of system variables to be used by the simulation.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/8c98/full"
        },
        "examples": [
          [
            {
              "file-path": "path/to/my.vsysvar"
            }
          ]
        ]
      }
    },
    "f858": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Datasources",
        "description": "The definition of datasources used by application models.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "input-files": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": ["file-path"],
              "properties": {
                "file-path": {
                  "$ref": "#/definitions/c269/full"
                }
              }
            }
          }
        },
        "examples": [
          {
            "input-files": [
              {
                "file-path": "path/to/my.vcdl"
              }
            ]
          }
        ]
      }
    },
    "3492": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "User Files",
        "description": "List of user files.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/07a1/full"
        },
        "examples": [
          [
            {
              "file-path": "path/to/my.txt"
            }
          ]
        ]
      }
    },
    "1c0e": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Functional mockup units",
        "description": "List of functional mockup units.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/bad4/full"
        },
        "examples": [
          [
            {
              "file-path": "path/to/some.fmu",
              "stepsize-in-sec": 0.001
            }
          ],
          [
            {
              "file-path": "path/to/some.fmu",
              "stepsize-in-sec": 0.001,
              "debug-output": true
            }
          ],
          [
            {
              "file-path": "path/to/some.fmu",
              "stepsize-in-sec": 0.001,
              "debug-output": false,
              "active-model-variables": ["Variable1", "Variable2"]
            }
          ],
          [
            {
              "file-path": "path/to/some.fmu",
              "stepsize-in-sec": 0.001,
              "debug-output": false,
              "inactive-model-variables": ["Variable3"]
            }
          ]
        ]
      }
    },
    "1ce7": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "SIL Kit",
        "description": "SIL Kit settings.",
        "type": "object",
        "additionalProperties": false,
        "required": ["participant-name"],
        "properties": {
          "registry-uri": {
            "description": "The URI of the registry.",
            "type": "string",
            "anyOf": [
              {
                "pattern": "^[^:]+://[^:/]+(:[0-9]+)?(/[^?#/]+)*(\\?([^=#&]+=[^=#&]+)(&([^=#&]+=[^=#&]+))*)?(#.+)?",
                "default": "silkit://localhost:8500"
              }
            ],
            "examples": ["silkit://localhost:8500"]
          },
          "participant-name": {
            "description": "Name used by the simulation tool to join a simulation as a participant at the start of a measurement.",
            "anyOf": [
              {
                "type": "string"
              }
            ],
            "examples": ["CANoe4SW-SE"]
          },
          "config-file-path": {
            "$ref": "#/definitions/0a5c/full"
          },
          "simulation-step-in-micro-sec": {
            "description": "Time length of a single simulation step. Valid only for the time-source \"external-software\".",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9223372036854775,
                "default": 100
              }
            ]
          },
          "life-cycle-event-timeout-in-sec": {
            "description": "Maximum waiting time for the other simulation participants. Valid only for the time-source \"external-software\".",
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9223372036,
                "default": 30
              }
            ]
          }
        },
        "examples": [
          {
            "participant-name": "CANoe4SW-SE"
          },
          {
            "registry-uri": "silkit://localhost:8500",
            "participant-name": "CANoe4SW-SE",
            "config-file-path": "path/to/config-file.json"
          },
          {
            "registry-uri": "silkit://localhost:8500",
            "participant-name": "CANoe4SW-SE",
            "config-file-path": "path/to/config-file.json",
            "simulation-step-in-micro-sec": 150
          },
          {
            "registry-uri": "silkit://localhost:8500",
            "participant-name": "CANoe4SW-SE",
            "config-file-path": "path/to/config-file.json",
            "simulation-step-in-micro-sec": 150,
            "life-cycle-event-timeout-in-sec": 30
          }
        ]
      }
    },
    "bb49": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Logging Block",
        "description": "Configuration of the logging for the environment.",
        "type": "object",
        "additionalProperties": false,
        "required": ["file-name"],
        "properties": {
          "file-name": {
            "$ref": "#/definitions/b8ec/full"
          },
          "logging-events": {
            "type": "array",
            "default": [
              "application-layer",
              "bus",
              "diagnostic",
              "internal",
              "statistic",
              "system-variable",
              "test"
            ],
            "items": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "application-layer",
                    "bus",
                    "diagnostic",
                    "internal",
                    "statistic",
                    "system-variable",
                    "test"
                  ]
                }
              ]
            }
          },
          "advanced": {
            "$ref": "#/definitions/17c8/full"
          }
        },
        "examples": [
          {
            "file-name": "file-name.blf",
            "logging-events": ["application-layer", "system-variable"],
            "advanced": {
              "warn-overwritten-log-file": true,
              "show-error-on-data-loss": false
            }
          }
        ]
      }
    },
    "380d": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Version",
        "description": "Json schema version for the vEnvironment-Basic configuration file. Acceptance criteria: equal major version, less/equal minor and patch version.",
        "const": "2.0.0",
        "type": "string",
        "examples": ["2.0.0"]
      }
    },
    "9af4": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Global Settings",
        "description": "Global settings for all scenarios.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "time-source": {
            "description": "Time source for the simulation. Operate without hardware and simulate all buses completely. \n'internal-realtime': The time response of the measurement (time basis) is controlled internally. \n'external-software': The time response of the measurement (time basis) is controlled by an external program.",
            "default": "internal-realtime",
            "anyOf": [
              {
                "type": "string",
                "enum": ["internal-realtime", "external-software"]
              }
            ],
            "examples": ["internal-realtime", "external-software"]
          }
        },
        "examples": [
          {
            "time-source": "internal-realtime"
          }
        ]
      }
    },
    "b245": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Logging Block",
        "description": "Configuration of the logging for the environment.",
        "type": "object",
        "additionalProperties": false,
        "required": ["file-name"],
        "properties": {
          "file-name": {
            "$ref": "#/definitions/b8ec/full"
          },
          "logging-events": {
            "type": "array",
            "default": [
              "application-layer",
              "bus",
              "diagnostic",
              "internal",
              "statistic",
              "system-variable",
              "test"
            ],
            "items": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "application-layer",
                    "bus",
                    "diagnostic",
                    "internal",
                    "statistic",
                    "system-variable",
                    "test"
                  ]
                }
              ]
            }
          },
          "advanced": {
            "$ref": "#/definitions/17c8/full"
          }
        },
        "examples": []
      }
    },
    "6141": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Version",
        "description": "Json schema version for the vEnvironment-Basic configuration file. Acceptance criteria: equal major version, less/equal minor and patch version.",
        "const": "1.1.0",
        "type": "string",
        "examples": ["1.1.0"]
      }
    },
    "c1ef": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Functional mockup units",
        "description": "List of functional mockup units.",
        "type": "array",
        "items": {
          "$ref": "#/definitions/d00c/full"
        },
        "examples": [
          [
            {
              "file-path": "path/to/some.fmu",
              "stepsize-in-sec": 0.001
            }
          ],
          [
            {
              "file-path": "path/to/some.fmu",
              "stepsize-in-sec": 0.001,
              "debug-output": true
            }
          ],
          [
            {
              "file-path": "path/to/some.fmu",
              "stepsize-in-sec": 0.001,
              "debug-output": false,
              "active-model-variables": ["Variable1", "Variable2"]
            }
          ],
          [
            {
              "file-path": "path/to/some.fmu",
              "stepsize-in-sec": 0.001,
              "debug-output": false,
              "inactive-model-variables": ["Variable3"]
            }
          ]
        ]
      }
    },
    "a13a": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "SIL Kit",
        "description": "SIL Kit settings.",
        "type": "object",
        "additionalProperties": false,
        "required": ["participant-name"],
        "properties": {
          "registry-uri": {
            "description": "registry URI",
            "type": "string",
            "anyOf": [
              {
                "pattern": "^[^:]+://[^:/]+(:[0-9]+)?(/[^?#/]+)*(\\?([^=#&]+=[^=#&]+)(&([^=#&]+=[^=#&]+))*)?(#.+)?"
              }
            ],
            "examples": ["silkit://localhost:8500"]
          },
          "participant-name": {
            "description": "Name used by CANoe4SW to join a simulation as a participant at the start of a measurement.",
            "anyOf": [
              {
                "type": "string"
              }
            ],
            "examples": ["CANoe4SW"]
          },
          "config-file-path": {
            "$ref": "#/definitions/0a5c/full"
          }
        },
        "examples": [
          {
            "registry-uri": "silkit://localhost:8500",
            "participant-name": "CANoe4SW",
            "config-file-path": "path/to/config-file.json"
          }
        ]
      }
    },
    "5a4c": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Logging Block",
        "description": "Configuration of the standalone logging block.",
        "type": "object",
        "additionalProperties": false,
        "required": ["file-name"],
        "properties": {
          "file-name": {
            "$ref": "#/definitions/b8ec/full"
          },
          "logging-events": {
            "type": "array",
            "default": [
              "bus",
              "diagnostic",
              "internal",
              "statistic",
              "system-variable",
              "test"
            ],
            "items": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "bus",
                    "diagnostic",
                    "internal",
                    "statistic",
                    "system-variable",
                    "test"
                  ]
                }
              ]
            }
          },
          "advanced": {
            "$ref": "#/definitions/cb82/full"
          }
        },
        "examples": []
      }
    },
    "ac6e": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Version",
        "description": "Json schema version for the vEnvironment-Basic configuration file. Acceptance criteria: equal major version, less/equal minor and patch version.",
        "const": "1.0.0",
        "type": "string",
        "examples": ["1.0.0"]
      }
    },
    "6c39": {
      "local": {
        "one": {
          "type": "string",
          "pattern": "\\.([Yy][Aa][Mm][Ll]|[Jj][Ss][Oo][Nn])$"
        }
      },
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Include files",
        "description": "Include a different file (similar to #include of the c preprocessor). The order of includes does not matter. Circular / multiple includes are resolved correctly.",
        "oneOf": [
          {
            "$ref": "#/definitions/6c39/local/one"
          },
          {
            "type": "array",
            "items": {
              "$ref": "#/definitions/6c39/local/one"
            }
          }
        ],
        "examples": [
          "my_include.yaml",
          ["my_include.yaml", "my_other_include.json"]
        ]
      }
    },
    "8c98": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "System variables",
        "description": "Absolute or relative path to an external file containing system variables. Relative path specifications are resolved relative to the defining configuration file.",
        "type": "object",
        "additionalProperties": false,
        "required": ["file-path"],
        "properties": {
          "file-path": {
            "anyOf": [
              {
                "$ref": "#/definitions/9475/full"
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/9475/full"
                }
              }
            ]
          }
        },
        "examples": [
          {
            "file-path": "path/to/my.vsysvar"
          }
        ]
      }
    },
    "c269": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "anyOf": [
          {
            "$ref": "#/definitions/1440/full"
          },
          {
            "type": "array",
            "items": {
              "$ref": "#/definitions/1440/full"
            },
            "examples": [["path/to/my.vcdl"], ["path/to/my.vcodm"]]
          }
        ],
        "examples": ["path/to/my.vcdl", ["path/to/my.vcodm"]]
      }
    },
    "07a1": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "User files",
        "description": "Absolute or relative path to user files that can be read/written by CAPL/.NET Scripts. Relative path specifications are resolved relative to the defining configuration file.",
        "type": "object",
        "additionalProperties": false,
        "required": ["file-path"],
        "properties": {
          "file-path": {
            "anyOf": [
              {
                "type": "string",
                "examples": ["path/to/my.txt"]
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "examples": [["path/to/my.txt"]]
              }
            ]
          }
        },
        "examples": [
          {
            "file-path": "path/to/my.txt"
          },
          {
            "file-path": "path/to/my_file.ini"
          }
        ]
      }
    },
    "bad4": {
      "local": {
        "stepsize-in-sec": {
          "description": "Step size in seconds.",
          "anyOf": [
            {
              "type": "number",
              "minimum": 0,
              "maximum": 10000
            }
          ],
          "examples": [0, 0.0005, 10000]
        },
        "debug-output": {
          "description": "Is the debug output active.",
          "anyOf": [
            {
              "type": "boolean",
              "default": false
            }
          ],
          "examples": [false, true]
        },
        "active-model-variables": {
          "description": "List of the FMU variables which should be exported",
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "string"
              }
            ],
            "examples": ["Variable1"]
          }
        },
        "inactive-model-variables": {
          "description": "List of the FMU variables which should be excluded from the export",
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "string"
              }
            ],
            "examples": ["Variable1"]
          }
        }
      },
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Functional mockup unit",
        "description": "Represents a functional mockup unit used in a scenario.",
        "type": "object",
        "anyOf": [
          {
            "additionalProperties": false,
            "required": ["file-path", "stepsize-in-sec"],
            "properties": {
              "file-path": {
                "$ref": "#/definitions/503b/full"
              },
              "stepsize-in-sec": {
                "$ref": "#/definitions/bad4/local/stepsize-in-sec"
              },
              "debug-output": {
                "$ref": "#/definitions/bad4/local/debug-output"
              }
            }
          },
          {
            "additionalProperties": false,
            "required": [
              "file-path",
              "stepsize-in-sec",
              "active-model-variables"
            ],
            "properties": {
              "file-path": {
                "$ref": "#/definitions/503b/full"
              },
              "stepsize-in-sec": {
                "$ref": "#/definitions/bad4/local/stepsize-in-sec"
              },
              "debug-output": {
                "$ref": "#/definitions/bad4/local/debug-output"
              },
              "active-model-variables": {
                "$ref": "#/definitions/bad4/local/active-model-variables"
              }
            }
          },
          {
            "additionalProperties": false,
            "required": [
              "file-path",
              "stepsize-in-sec",
              "inactive-model-variables"
            ],
            "properties": {
              "file-path": {
                "$ref": "#/definitions/503b/full"
              },
              "stepsize-in-sec": {
                "$ref": "#/definitions/bad4/local/stepsize-in-sec"
              },
              "debug-output": {
                "$ref": "#/definitions/bad4/local/debug-output"
              },
              "inactive-model-variables": {
                "$ref": "#/definitions/bad4/local/inactive-model-variables"
              }
            }
          }
        ]
      }
    },
    "0a5c": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a SIL Kit config file (.yaml or .json). Relative path specifications are resolved relative to the configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[yY][aA][mM][lL]$"
          },
          {
            "pattern": "^.*\\.[jJ][sS][oO][nN]$"
          }
        ],
        "examples": ["path/to/myConfigFile.json", "path/to/myConfigFile.yaml"]
      }
    },
    "b8ec": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Name of a blf file, supporting the field codes: {ComputerName}, {LocalTime}, {MeasurementIndex}, {MeasurementStart}, {IncSize|001|100MB} and {IncTime|001|01h00m}.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^(?!.*(\\{TriggerCondition\\}|\\{LoggingBlock\\}|\\{IncMeasurement\\}|\\{ConfigName\\}|\\{IncTrigger\\|[0-9]*\\}|[\"<>*?:/\\\\])).*\\.[bB][lL][fF]$"
          }
        ],
        "$comment": "|<|>",
        "examples": [
          "fileName.blf",
          "log_{ComputerName}.blf",
          "log_{LocalTime}.blf",
          "log_{MeasurementIndex}.blf",
          "log_{MeasurementStart}.blf"
        ]
      }
    },
    "17c8": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Advanced logging configurations.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "warn-overwritten-log-file": {
            "anyOf": [
              {
                "type": "boolean"
              }
            ],
            "default": true
          },
          "show-error-on-data-loss": {
            "anyOf": [
              {
                "type": "boolean"
              }
            ],
            "default": true
          }
        },
        "examples": [
          {
            "warn-overwritten-log-file": false,
            "show-error-on-data-loss": true
          },
          {
            "warn-overwritten-log-file": true
          }
        ]
      }
    },
    "d00c": {
      "local": {
        "stepsize-in-sec": {
          "description": "step size in seconds",
          "anyOf": [
            {
              "type": "number",
              "minimum": 0,
              "maximum": 1.79769e308
            }
          ],
          "examples": [0, 0.0005, 1568714585]
        },
        "debug-output": {
          "description": "Are the debug outputs on",
          "anyOf": [
            {
              "type": "boolean",
              "default": false
            }
          ],
          "examples": [false, true]
        },
        "active-model-variables": {
          "description": "List of the FMU variables which should be exported",
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "string"
              }
            ],
            "examples": ["Variable1"]
          }
        },
        "inactive-model-variables": {
          "description": "List of the FMU variables which should be excluded from the export",
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "string"
              }
            ],
            "examples": ["Variable1"]
          }
        }
      },
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Functional mockup unit",
        "description": "Represents a functional mockup unit used in a scenario",
        "type": "object",
        "anyOf": [
          {
            "additionalProperties": false,
            "required": ["file-path", "stepsize-in-sec"],
            "properties": {
              "file-path": {
                "$ref": "#/definitions/503b/full"
              },
              "stepsize-in-sec": {
                "$ref": "#/definitions/d00c/local/stepsize-in-sec"
              },
              "debug-output": {
                "$ref": "#/definitions/d00c/local/debug-output"
              }
            }
          },
          {
            "additionalProperties": false,
            "required": [
              "file-path",
              "stepsize-in-sec",
              "active-model-variables"
            ],
            "properties": {
              "file-path": {
                "$ref": "#/definitions/503b/full"
              },
              "stepsize-in-sec": {
                "$ref": "#/definitions/d00c/local/stepsize-in-sec"
              },
              "debug-output": {
                "$ref": "#/definitions/d00c/local/debug-output"
              },
              "active-model-variables": {
                "$ref": "#/definitions/d00c/local/active-model-variables"
              }
            }
          },
          {
            "additionalProperties": false,
            "required": [
              "file-path",
              "stepsize-in-sec",
              "inactive-model-variables"
            ],
            "properties": {
              "file-path": {
                "$ref": "#/definitions/503b/full"
              },
              "stepsize-in-sec": {
                "$ref": "#/definitions/d00c/local/stepsize-in-sec"
              },
              "debug-output": {
                "$ref": "#/definitions/d00c/local/debug-output"
              },
              "inactive-model-variables": {
                "$ref": "#/definitions/d00c/local/inactive-model-variables"
              }
            }
          }
        ]
      }
    },
    "cb82": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Advanced logging configurations",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "warn-overwritten-log-file": {
            "anyOf": [
              {
                "type": "boolean"
              }
            ],
            "default": true
          },
          "show-error-on-data-loss": {
            "anyOf": [
              {
                "type": "boolean"
              }
            ],
            "default": true
          }
        },
        "examples": [
          {
            "warn-overwritten-log-file": false,
            "show-error-on-data-loss": true
          },
          {
            "warn-overwritten-log-file": true
          }
        ]
      }
    },
    "9475": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a vsysvar file. Relative path specifications are resolved relative to the configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[vV][sS][yY][sS][vV][aA][rR]$"
          }
        ],
        "examples": ["path/to/my.vsysvar"]
      }
    },
    "1440": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Reference to external datasource files (.vcdl/.vcodm). Absolute or relative path. Relative path specifications are resolved relative to the defining configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[vV][cC][dD][lL]$"
          },
          {
            "pattern": "^.*\\.[vV][cC][oO][dD][mM]$"
          }
        ],
        "examples": ["path/to/my.vcdl", "path/to/my.vcodm"]
      }
    },
    "503b": {
      "full": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Absolute or relative path to a source file of a functional mockup unit (.fmu). Relative path specifications are resolved relative to the defining configuration file.",
        "type": "string",
        "anyOf": [
          {
            "pattern": "^.*\\.[Ff][Mm][Uu]$"
          }
        ],
        "examples": ["my_functional_mockup_unit.fmu", "Inputs/MyFmu.FMU"]
      }
    }
  }
}
