{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/mlos-config-mlos-jsonc-mlos-json5-mlos-json/_shared/latest--common-defs-subschemas.json",
  "title": "mlos_bench common Service config schema definitions",
  "description": "mlos_bench Service config schema definitions",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/microsoft/MLOS/main/mlos_bench/mlos_bench/config/schemas/services/common-defs-subschemas.json",
    "sourceSha256": "4de3ce5b7a737ca6475601ab6aa685417a256a495980936f246f4bb4f7899b95"
  },
  "$defs": {
    "poll_configs": {
      "type": "object",
      "properties": {
        "pollInterval": {
          "description": "Poll interval in seconds.",
          "type": "number",
          "examples": [
            4
          ],
          "minimum": 1
        },
        "pollTimeout": {
          "description": "Poll timeout in seconds.",
          "type": "number",
          "examples": [
            300
          ],
          "minimum": 1
        },
        "requestTimeout": {
          "description": "Request timeout in seconds.",
          "type": "number",
          "examples": [
            5
          ],
          "minimum": 1
        },
        "requestTotalRetries": {
          "description": "Maximum number of times to retry a polling read request.",
          "type": "integer",
          "examples": [
            10
          ],
          "minimum": 1
        },
        "requestBackoffFactor": {
          "description": "Exponential increasing delay factor between retries (in seconds).",
          "type": "number",
          "examples": [
            0.3
          ],
          "minimum": 0.1
        }
      }
    },
    "temp_dir_config": {
      "type": "object",
      "properties": {
        "temp_dir": {
          "description": "Path to temp dir (or null to use system default).",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "minProperties": 1
    }
  }
}
