{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/crs-waf-test-platform-overrides-file/versions/2.2.0.json",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/coreruleset/ftw-tests-schema/master/spec/v2.2.0/waf-platform-overrides-schema-v2.2.0.json",
    "sourceSha256": "342ccaf08b7b4d1dff0bf122df4cea0e47754552f9de29341e7d27024e065695",
    "fileMatch": [
      "*.wafto",
      ".wafto.yaml",
      ".wafto.yml"
    ],
    "parsers": [
      "yaml"
    ]
  },
  "$ref": "#/$defs/FTWOverrides",
  "$defs": {
    "FTWOverrides": {
      "properties": {
        "version": {
          "type": "string"
        },
        "meta": {
          "$ref": "#/$defs/FTWOverridesMeta"
        },
        "test_overrides": {
          "items": {
            "$ref": "#/$defs/TestOverride"
          },
          "type": "array"
        }
      },
      "required": [
        "version",
        "meta",
        "test_overrides"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "FTWOverridesMeta": {
      "properties": {
        "engine": {
          "type": "string"
        },
        "platform": {
          "type": "string"
        },
        "annotations": {
          "type": "array",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "required": [
        "engine",
        "platform",
        "annotations"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "Log": {
      "properties": {
        "expect_ids": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "no_expect_ids": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "match_regex": {
          "type": "string"
        },
        "no_match_regex": {
          "type": "string"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "Output": {
      "properties": {
        "status": {
          "type": "integer"
        },
        "response_contains": {
          "type": "string"
        },
        "log_contains": {
          "type": "string"
        },
        "no_log_contains": {
          "type": "string"
        },
        "log": {
          "$ref": "#/$defs/Log"
        },
        "expect_error": {
          "type": "boolean"
        },
        "retry_once": {
          "type": "boolean"
        },
        "isolated": {
          "type": "boolean"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "TestOverride": {
      "properties": {
        "rule_id": {
          "type": "integer"
        },
        "test_ids": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "stage_ids": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "reason": {
          "type": "string"
        },
        "retry_once": {
          "type": "boolean"
        },
        "output": {
          "$ref": "#/$defs/Output"
        }
      },
      "required": [
        "rule_id",
        "reason",
        "output"
      ],
      "type": "object",
      "additionalProperties": false
    }
  }
}
