{
  "$schema": "http://json-schema.org/draft/2020-12/schema#",
  "type": "object",
  "required": ["version"],
  "properties": {
    "version": {
      "type": "integer",
      "description": "The data version of snippet file to generate.",
      "enum": [
        1
      ]
    },
    "callbacks": {
      "type": "array",
      "description": "A list of command-line strings for callbacks to handle collected instrumentation data. Whenever these callbacks are executed, the full path to a v1 Index File is appended to the arguments included in the string.",
      "items": {
        "type": "string"
      }
    },
    "hooks": {
      "type": "array",
      "description": "A list of strings specifying when indexing should occur automatically. These are the intervals when instrumentation data should be collated and user callbacks should be invoked to handle the data.",
      "items": {
        "enum": [
          "postGenerate",
          "preBuild",
          "postBuild",
          "preCMakeBuild",
          "postCMakeBuild",
          "postCMakeInstall",
          "postCMakeWorkflow",
          "postCTest"
        ],
        "type": "string"
      },
      "uniqueItems": true
    },
    "options": {
      "type": "array",
      "description": "A list of strings used to enable certain optional behavior, including the collection of certain additional data.",
      "uniqueItems": true,
      "items": {
        "enum": [
          "staticSystemInformation",
          "dynamicSystemInformation",
          "cdashSubmit",
          "cdashVerbose",
          "trace"
        ],
        "type": "string"
      }
    }
  }
}
