PSRule-lock.schema.json

{
  "$schema": "https://json-schema.org/draft-07/schema#",
  "type": "object",
  "title": "PSRule lock",
  "description": "A schema for the PSRule lock file.",
  "properties": {
    "version": {
      "type": "integer",
      "title": "Version",
      "description": "The version of the lock file schema.",
      "enum": [
        1
      ]
    },
    "modules": {
      "type": "object",
      "title": "Modules",
      "description": "A list of specific module versions for PSRule to restore.",
      "additionalProperties": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "title": "Module version",
            "description": "The version of the module to use."
          },
          "integrity": {
            "type": "string",
            "title": "Module integrity",
            "description": "The integrity hash of the module to use."
          },
          "includePrerelease": {
            "type": "boolean",
            "title": "Include prerelease",
            "description": "Accept pre-release versions in addition to stable module versions."
          }
        },
        "required": [
          "version"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "version",
    "modules"
  ],
  "additionalProperties": false
}