{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/JobParameters",
  "title": "JobParameters",
  "type": "object",
  "description": "Job-specific parameters. Required fields depend on the job type. For dataload: file and optionally rule, abortOnError. For dimbuild: file and rule. For calc: script. For clear: option. For lcmExport/lcmImport: zipFileName.",
  "properties": {
    "file": {
      "type": "string",
      "description": "Source file name for dataload, dimbuild, or mdxScript jobs."
    },
    "rule": {
      "type": "string",
      "description": "Rules file name for dataload or dimbuild jobs."
    },
    "abortOnError": {
      "type": "string",
      "description": "Stop on first error (true/false) for dataload jobs."
    },
    "script": {
      "type": "string",
      "description": "Calculation script name (.csc file) for calc jobs."
    },
    "option": {
      "type": "string",
      "description": "Clear option for clear jobs.",
      "enum": [
        "allData",
        "upperLevel",
        "nonInput",
        "partialData",
        "PARTIAL_DATA"
      ]
    },
    "partialDataExpression": {
      "type": "string",
      "description": "MDX expression for partial data clear."
    },
    "importExcelFileName": {
      "type": "string",
      "description": "Excel workbook file name for importExcel jobs."
    },
    "catalogExcelPath": {
      "type": "string",
      "description": "Path to the workbook in the file catalog."
    },
    "loaddata": {
      "type": "string",
      "description": "Whether to load data (true/false) for importExcel jobs."
    },
    "recreateApplication": {
      "type": "string",
      "description": "Whether to recreate application if it exists (true/false)."
    },
    "createFiles": {
      "type": "string",
      "description": "Whether to create cube artifacts (true/false)."
    },
    "executeScript": {
      "type": "string",
      "description": "Whether to execute calc scripts (true/false)."
    },
    "buildOption": {
      "type": "string",
      "description": "Build option for importExcel jobs.",
      "enum": [
        "NONE",
        "RETAIN_ALL_DATA",
        "REMOVE_ALL_DATA"
      ]
    },
    "dataLevel": {
      "type": "string",
      "description": "Data level for export operations.",
      "enum": [
        "ALL_DATA",
        "UPPER_LEVEL_BLOCKS",
        "NON_INPUT_BLOCKS",
        "LEVEL_ZERO_BLOCKS",
        "INPUT_LEVEL_DATA_BLOCKS"
      ]
    },
    "columnFormat": {
      "type": "string",
      "description": "Whether to use tabular format (true/false)."
    },
    "compress": {
      "type": "string",
      "description": "Whether to compress data (true/false)."
    },
    "zipFileName": {
      "type": "string",
      "description": "Backup zip file name for lcmExport/lcmImport jobs."
    },
    "skipdata": {
      "type": "string",
      "description": "Whether to exclude data from LCM export (true/false)."
    },
    "generateArtifactList": {
      "type": "string",
      "description": "Whether to generate artifact list (true/false)."
    },
    "overwrite": {
      "type": "string",
      "description": "Whether to overwrite existing resources (true/false)."
    },
    "targetApplicationName": {
      "type": "string",
      "description": "Target application name for lcmImport if different from source."
    },
    "includeServerLevel": {
      "type": "string",
      "description": "Include global connections and datasources (true/false)."
    },
    "basedOnQueryData": {
      "type": "string",
      "description": "Select based on query patterns (true/false) for buildAggregation."
    },
    "ratioToStop": {
      "type": "string",
      "description": "Size ratio stopping value for buildAggregation."
    },
    "enableAlternateRollups": {
      "type": "string",
      "description": "Consider secondary hierarchies (true/false)."
    },
    "bufferId": {
      "type": "integer",
      "description": "Single buffer ID for asoBufferCommit (1-4294967296)."
    },
    "commitOption": {
      "type": "string",
      "description": "Commit option for asoBufferCommit.",
      "enum": [
        "STORE_DATA",
        "ADD_DATA",
        "SUBTRACT_DATA",
        "OVERRIDE_ALL_DATA",
        "OVERRIDE_INCREMENTAL_DATA"
      ]
    },
    "actionType": {
      "type": "string",
      "description": "Action type for asoBufferCommit.",
      "enum": [
        "COMMIT",
        "ABORT"
      ]
    },
    "restructureOption": {
      "type": "string",
      "description": "Data preservation option for dimbuild.",
      "enum": [
        "PRESERVE_ALL_DATA",
        "PRESERVE_NO_DATA",
        "PRESERVE_LEAFLEVEL_DATA",
        "PRESERVE_INPUT_DATA"
      ]
    },
    "forceDimBuild": {
      "type": "string",
      "description": "Force build despite user activity (true/false)."
    },
    "rtsv": {
      "type": "array",
      "description": "Runtime substitution variables for calc jobs.",
      "items": {
        "$ref": "#/components/schemas/RuntimeSubstitutionVariable"
      }
    },
    "useConnection": {
      "type": "string",
      "description": "Whether to use a saved connection (true/false)."
    },
    "connection": {
      "type": "string",
      "description": "Connection name for dataload or dimbuild."
    }
  }
}