{
  "openapi": "3.0.2",
  "info": {
    "title": "Slurm Rest API",
    "description": "API to access and control Slurm.",
    "termsOfService": "https://github.com/SchedMD/slurm/blob/master/DISCLAIMER",
    "contact": {
      "name": "SchedMD LLC",
      "url": "https://www.schedmd.com/",
      "email": "sales@schedmd.com"
    },
    "license": {
      "name": "Apache 2.0",
      "url": "https://www.apache.org/licenses/LICENSE-2.0.html"
    },
    "version": "0.0.38"
  },
  "tags": [
    {
      "name": "slurm",
      "description": "methods that query slurmctld"
    },
    {
      "name": "openapi",
      "description": "methods that query for OpenAPI specifications"
    }
  ],
  "servers": [
    {
      "url": "/slurm/v0.0.38/"
    }
  ],
  "security": [
    {
      "user": [],
      "token": []
    }
  ],
  "paths": {
    "/diag/": {
      "get": {
        "tags": [
          "slurm"
        ],
        "operationId": "diag",
        "summary": "get diagnostics",
        "responses": {
          "200": {
            "description": "diagnostic results",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_diag"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_diag"
                }
              }
            }
          },
          "default": {
            "description": "unable to request ping test",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_errors"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_errors"
                }
              }
            }
          }
        }
      }
    },
    "/licenses/": {
      "get": {
        "tags": [
          "slurm"
        ],
        "operationId": "slurmctld_get_licenses",
        "summary": "get all Slurm tracked license info",
        "responses": {
          "200": {
            "description": "results of get all licenses",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_licenses"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_licenses"
                }
              }
            }
          },
          "default": {
            "description": "unable to request licenses"
          }
        }
      }
    },
    "/ping/": {
      "get": {
        "tags": [
          "slurm"
        ],
        "operationId": "ping",
        "summary": "ping test",
        "responses": {
          "200": {
            "description": "results of ping test",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_pings"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_pings"
                }
              }
            }
          },
          "default": {
            "description": "unable to request ping test",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_errors"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_errors"
                }
              }
            }
          }
        }
      }
    },
    "/jobs/": {
      "get": {
        "tags": [
          "slurm"
        ],
        "operationId": "get_jobs",
        "summary": "get list of jobs",
        "parameters": [
          {
            "name": "update_time",
            "in": "query",
            "description": "Filter if changed since update_time. Use of this parameter can result in faster replies.",
            "required": false,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "job(s) information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_jobs_response"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_jobs_response"
                }
              }
            }
          },
          "default": {
            "description": "job not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_errors"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_errors"
                }
              }
            }
          }
        }
      }
    },
    "/job/{job_id}": {
      "get": {
        "tags": [
          "slurm"
        ],
        "operationId": "get_job",
        "summary": "get job info",
        "parameters": [
          {
            "name": "job_id",
            "in": "path",
            "description": "Slurm JobID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "job(s) information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_jobs_response"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_jobs_response"
                }
              }
            }
          },
          "default": {
            "description": "job matching JobId not found"
          }
        }
      },
      "post": {
        "tags": [
          "slurm"
        ],
        "operationId": "update_job",
        "summary": "update job",
        "parameters": [
          {
            "name": "job_id",
            "in": "path",
            "description": "Slurm Job ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "update job",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/v0.0.38_job_properties"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "#/components/schemas/v0.0.38_job_properties"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "job information"
          },
          "500": {
            "description": "job not found"
          }
        }
      },
      "delete": {
        "tags": [
          "slurm"
        ],
        "operationId": "cancel_job",
        "summary": "cancel or signal job",
        "parameters": [
          {
            "name": "job_id",
            "in": "path",
            "description": "Slurm Job ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "signal",
            "in": "query",
            "description": "signal to send to job",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/v0.0.38_signal"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "job cancelled or sent signal"
          },
          "500": {
            "description": "job not found"
          }
        }
      }
    },
    "/job/submit": {
      "post": {
        "tags": [
          "slurm"
        ],
        "operationId": "submit_job",
        "summary": "submit new job",
        "requestBody": {
          "description": "submit new job",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/v0.0.38_job_submission"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "#/components/schemas/v0.0.38_job_submission"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "job submitted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_job_submission_response"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_job_submission_response"
                }
              }
            }
          },
          "default": {
            "description": "job rejected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_errors"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_errors"
                }
              }
            }
          }
        }
      }
    },
    "/nodes/": {
      "get": {
        "tags": [
          "slurm"
        ],
        "operationId": "get_nodes",
        "summary": "get all node info",
        "parameters": [
          {
            "name": "update_time",
            "in": "query",
            "description": "Filter if changed since update_time. Use of this parameter can result in faster replies.",
            "required": false,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "node information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_nodes_response"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_nodes_response"
                }
              }
            }
          },
          "default": {
            "description": "no nodes in cluster",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_errors"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_errors"
                }
              }
            }
          }
        }
      }
    },
    "/node/{node_name}": {
      "get": {
        "tags": [
          "slurm"
        ],
        "operationId": "get_node",
        "summary": "get node info",
        "parameters": [
          {
            "name": "node_name",
            "in": "path",
            "description": "Slurm Node Name",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "node information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_nodes_response"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_nodes_response"
                }
              }
            }
          },
          "default": {
            "description": "node not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_errors"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_errors"
                }
              }
            }
          }
        }
      }
    },
    "/partitions/": {
      "get": {
        "tags": [
          "slurm"
        ],
        "operationId": "get_partitions",
        "summary": "get all partition info",
        "parameters": [
          {
            "name": "update_time",
            "in": "query",
            "description": "Filter if changed since update_time. Use of this parameter can result in faster replies.",
            "required": false,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "partition information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_partitions_response"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_partitions_response"
                }
              }
            }
          },
          "default": {
            "description": "no partitions found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_errors"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_errors"
                }
              }
            }
          }
        }
      }
    },
    "/partition/{partition_name}": {
      "get": {
        "tags": [
          "slurm"
        ],
        "operationId": "get_partition",
        "summary": "get partition info",
        "parameters": [
          {
            "name": "partition_name",
            "in": "path",
            "description": "Slurm Partition Name",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "update_time",
            "in": "query",
            "description": "Filter if there were no partition changes (not limited to partition in URL endpoint) since update_time.",
            "required": false,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "partition information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_partitions_response"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_partitions_response"
                }
              }
            }
          },
          "default": {
            "description": "no partitions found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_errors"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_errors"
                }
              }
            }
          }
        }
      }
    },
    "/reservations/": {
      "get": {
        "tags": [
          "slurm"
        ],
        "operationId": "get_reservations",
        "summary": "get all reservation info",
        "parameters": [
          {
            "name": "update_time",
            "in": "query",
            "description": "Filter if changed since update_time. Use of this parameter can result in faster replies.",
            "required": false,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "reservation information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_reservations_response"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_reservations_response"
                }
              }
            }
          },
          "default": {
            "description": "no reservations found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_errors"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_errors"
                }
              }
            }
          }
        }
      }
    },
    "/reservation/{reservation_name}": {
      "get": {
        "tags": [
          "slurm"
        ],
        "operationId": "get_reservation",
        "summary": "get reservation info",
        "parameters": [
          {
            "name": "reservation_name",
            "in": "path",
            "description": "Slurm Reservation Name",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "update_time",
            "in": "query",
            "description": "Filter if no reservation (not limited to reservation in URL) changed since update_time.",
            "required": false,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "reservation information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_reservations_response"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_reservations_response"
                }
              }
            }
          },
          "default": {
            "description": "no reservations found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_errors"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/v0.0.38_errors"
                }
              }
            }
          }
        }
      }
    },
    "/openapi.yaml": {
      "get": {
        "tags": [
          "openapi"
        ],
        "summary": "Retrieve OpenAPI Specification",
        "responses": {
          "200": {
            "description": "OpenAPI Specification"
          }
        }
      },
      "servers": [
        {
          "url": "/"
        }
      ]
    },
    "/openapi.json": {
      "get": {
        "tags": [
          "openapi"
        ],
        "summary": "Retrieve OpenAPI Specification",
        "responses": {
          "200": {
            "description": "OpenAPI Specification"
          }
        }
      },
      "servers": [
        {
          "url": "/"
        }
      ]
    },
    "/openapi": {
      "get": {
        "tags": [
          "openapi"
        ],
        "summary": "Retrieve OpenAPI Specification",
        "responses": {
          "200": {
            "description": "OpenAPI Specification"
          }
        }
      },
      "servers": [
        {
          "url": "/"
        }
      ]
    },
    "/openapi/v3": {
      "get": {
        "tags": [
          "openapi"
        ],
        "summary": "Retrieve OpenAPI Specification",
        "responses": {
          "200": {
            "description": "OpenAPI Specification"
          }
        }
      },
      "servers": [
        {
          "url": "/"
        }
      ]
    }
  },
  "components": {
    "securitySchemes": {
      "user": {
        "type": "apiKey",
        "description": "User name",
        "name": "X-SLURM-USER-NAME",
        "in": "header"
      },
      "token": {
        "type": "apiKey",
        "description": "User access token",
        "name": "X-SLURM-USER-TOKEN",
        "in": "header"
      }
    },
    "schemas": {
      "v0.0.38_diag": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/v0.0.38_meta"
          },
          "errors": {
            "type": "array",
            "description": "slurm errors",
            "items": {
              "$ref": "#/components/schemas/v0.0.38_error"
            }
          },
          "statistics": {
            "type": "object",
            "description": "Slurm statistics",
            "properties": {
              "parts_packed": {
                "type": "integer",
                "description": "partition records packed"
              },
              "req_time": {
                "type": "integer",
                "description": "generation time"
              },
              "req_time_start": {
                "type": "integer",
                "description": "data since"
              },
              "server_thread_count": {
                "type": "integer",
                "description": "Server thread count"
              },
              "agent_queue_size": {
                "type": "integer",
                "description": "Agent queue size"
              },
              "agent_count": {
                "type": "integer",
                "description": "Agent count"
              },
              "agent_thread_count": {
                "type": "integer",
                "description": "Agent thread count"
              },
              "dbd_agent_queue_size": {
                "type": "integer",
                "description": "DBD Agent queue size"
              },
              "gettimeofday_latency": {
                "type": "integer",
                "description": "Latency for 1000 calls to gettimeofday()"
              },
              "schedule_cycle_max": {
                "type": "integer",
                "description": "Main Schedule max cycle"
              },
              "schedule_cycle_last": {
                "type": "integer",
                "description": "Main Schedule last cycle"
              },
              "schedule_cycle_total": {
                "type": "integer",
                "description": "Main Schedule cycle iterations"
              },
              "schedule_cycle_mean": {
                "type": "integer",
                "description": "Average time for Schedule Max cycle"
              },
              "schedule_cycle_mean_depth": {
                "type": "integer",
                "description": "Average depth for Schedule Max cycle"
              },
              "schedule_cycle_per_minute": {
                "type": "integer",
                "description": "Main Schedule Cycles per minute"
              },
              "schedule_queue_length": {
                "type": "integer",
                "description": "Main Schedule Last queue length"
              },
              "jobs_submitted": {
                "type": "integer",
                "description": "Job submitted"
              },
              "jobs_started": {
                "type": "integer",
                "description": "Job started"
              },
              "jobs_completed": {
                "type": "integer",
                "description": "Job completed"
              },
              "jobs_canceled": {
                "type": "integer",
                "description": "Job cancelled"
              },
              "jobs_failed": {
                "type": "integer",
                "description": "Job failed"
              },
              "jobs_pending": {
                "type": "integer",
                "description": "Job pending"
              },
              "jobs_running": {
                "type": "integer",
                "description": "Job running"
              },
              "job_states_ts": {
                "type": "integer",
                "description": "Job states timestamp"
              },
              "bf_backfilled_jobs": {
                "type": "integer",
                "description": "Total backfilled jobs (since last slurm start)"
              },
              "bf_last_backfilled_jobs": {
                "type": "integer",
                "description": "Total backfilled jobs (since last stats cycle start)"
              },
              "bf_backfilled_het_jobs": {
                "type": "integer",
                "description": "Total backfilled heterogeneous job components"
              },
              "bf_cycle_counter": {
                "type": "integer",
                "description": "Backfill Schedule Total cycles"
              },
              "bf_cycle_mean": {
                "type": "integer",
                "description": "Backfill Schedule Mean cycle"
              },
              "bf_cycle_max": {
                "type": "integer",
                "description": "Backfill Schedule Max cycle time"
              },
              "bf_last_depth": {
                "type": "integer",
                "description": "Backfill Schedule Last depth cycle"
              },
              "bf_last_depth_try": {
                "type": "integer",
                "description": "Backfill Schedule Mean cycle (try sched)"
              },
              "bf_depth_mean": {
                "type": "integer",
                "description": "Backfill Schedule Depth Mean"
              },
              "bf_depth_mean_try": {
                "type": "integer",
                "description": "Backfill Schedule Depth Mean (try sched)"
              },
              "bf_cycle_last": {
                "type": "integer",
                "description": "Backfill Schedule Last cycle time"
              },
              "bf_queue_len": {
                "type": "integer",
                "description": "Backfill Schedule Last queue length"
              },
              "bf_queue_len_mean": {
                "type": "integer",
                "description": "Backfill Schedule Mean queue length"
              },
              "bf_table_size": {
                "type": "integer",
                "description": "Backfill Schedule Last table size"
              },
              "bf_table_size_mean": {
                "type": "integer",
                "description": "Backfill Schedule Mean table size"
              },
              "bf_when_last_cycle": {
                "type": "integer",
                "description": "Last cycle timestamp"
              },
              "bf_active": {
                "type": "boolean",
                "description": "Backfill Schedule currently active"
              },
              "rpcs_by_message_type": {
                "type": "array",
                "description": "Remote Procedure Call statistics by message type",
                "items": {
                  "$ref": "#/components/schemas/v0.0.38_diag_rpcm"
                }
              },
              "rpcs_by_user": {
                "type": "array",
                "description": "Remote Procedure Call statistics by user",
                "items": {
                  "$ref": "#/components/schemas/v0.0.38_diag_rpcu"
                }
              }
            }
          }
        }
      },
      "v0.0.38_diag_rpcm": {
        "type": "object",
        "properties": {
          "message_type": {
            "type": "string",
            "description": "message type"
          },
          "type_id": {
            "type": "integer",
            "description": "message type id"
          },
          "count": {
            "type": "integer",
            "description": "rpc count"
          },
          "average_time": {
            "type": "integer",
            "description": "average time"
          },
          "total_time": {
            "type": "integer",
            "description": "total time"
          }
        }
      },
      "v0.0.38_diag_rpcu": {
        "type": "object",
        "properties": {
          "user": {
            "type": "string",
            "description": "user"
          },
          "user_id": {
            "type": "integer",
            "description": "user id"
          },
          "count": {
            "type": "integer",
            "description": "rpc count"
          },
          "average_time": {
            "type": "integer",
            "description": "average time"
          },
          "total_time": {
            "type": "integer",
            "description": "total time"
          }
        }
      },
      "v0.0.38_licenses": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "description": "slurm errors",
            "items": {
              "$ref": "#/components/schemas/v0.0.38_error"
            }
          },
          "licenses": {
            "type": "array",
            "description": "licenses info",
            "items": {
              "$ref": "#/components/schemas/v0.0.38_license"
            }
          }
        }
      },
      "v0.0.38_license": {
        "type": "object",
        "properties": {
          "LicenseName": {
            "type": "string",
            "description": "name of license"
          },
          "Total": {
            "type": "integer",
            "description": "total number of licenses"
          },
          "Used": {
            "type": "integer",
            "description": "number of licenses in use"
          },
          "Free": {
            "type": "integer",
            "description": "number of licenses available"
          },
          "Reserved": {
            "type": "integer",
            "description": "number of licenses reserved"
          },
          "Remote": {
            "type": "boolean",
            "description": "license is remote"
          }
        }
      },
      "v0.0.38_pings": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/v0.0.38_meta"
          },
          "errors": {
            "type": "array",
            "description": "slurm errors",
            "items": {
              "$ref": "#/components/schemas/v0.0.38_error"
            }
          },
          "pings": {
            "type": "array",
            "description": "slurm controller pings",
            "items": {
              "$ref": "#/components/schemas/v0.0.38_ping"
            }
          }
        }
      },
      "v0.0.38_ping": {
        "type": "object",
        "properties": {
          "hostname": {
            "type": "string",
            "description": "slurm controller hostname"
          },
          "ping": {
            "type": "string",
            "description": "slurm controller host up",
            "enum": [
              "UP",
              "DOWN"
            ]
          },
          "mode": {
            "type": "string",
            "description": "slurm controller mode"
          },
          "status": {
            "type": "integer",
            "description": "slurm controller status"
          }
        }
      },
      "v0.0.38_partition": {
        "type": "object",
        "properties": {
          "flags": {
            "type": "array",
            "description": "partition options",
            "items": {
              "type": "string"
            }
          },
          "preemption_mode": {
            "type": "array",
            "description": "preemption type",
            "items": {
              "type": "string"
            }
          },
          "allowed_allocation_nodes": {
            "type": "string",
            "description": "list names of allowed allocating nodes"
          },
          "allowed_accounts": {
            "type": "string",
            "description": "comma delimited list of accounts"
          },
          "allowed_groups": {
            "type": "string",
            "description": "comma delimited list of groups"
          },
          "allowed_qos": {
            "type": "string",
            "description": "comma delimited list of qos"
          },
          "alternative": {
            "type": "string",
            "description": "name of alternate partition"
          },
          "billing_weights": {
            "type": "string",
            "description": "TRES billing weights"
          },
          "default_memory_per_cpu": {
            "type": "integer",
            "format": "int64",
            "description": "default MB memory per allocated CPU"
          },
          "default_time_limit": {
            "type": "integer",
            "format": "int64",
            "description": "default time limit (minutes)"
          },
          "denied_accounts": {
            "type": "string",
            "description": "comma delimited list of denied accounts"
          },
          "denied_qos": {
            "type": "string",
            "description": "comma delimited list of denied qos"
          },
          "preemption_grace_time": {
            "type": "integer",
            "format": "int64",
            "description": "preemption grace time (seconds)"
          },
          "maximum_cpus_per_node": {
            "type": "integer",
            "description": "maximum allocated CPUs per node"
          },
          "maximum_memory_per_node": {
            "type": "integer",
            "format": "int64",
            "description": "maximum memory per allocated node (MiB)"
          },
          "maximum_nodes_per_job": {
            "type": "integer",
            "description": "Max nodes per job"
          },
          "max_time_limit": {
            "type": "integer",
            "format": "int64",
            "description": "Max time limit per job"
          },
          "min_nodes_per_job": {
            "type": "integer",
            "description": "Min number of nodes per job"
          },
          "name": {
            "type": "string",
            "description": "Partition name"
          },
          "nodes": {
            "type": "string",
            "description": "list names of nodes in partition"
          },
          "over_time_limit": {
            "type": "integer",
            "description": "job's time limit can be exceeded by this number of minutes before cancellation"
          },
          "priority_job_factor": {
            "type": "integer",
            "description": "job priority weight factor"
          },
          "priority_tier": {
            "type": "integer",
            "description": "tier for scheduling and preemption"
          },
          "qos": {
            "type": "string",
            "description": "partition QOS name"
          },
          "state": {
            "type": "string",
            "description": "Partition state"
          },
          "total_cpus": {
            "type": "integer",
            "description": "Total cpus in partition"
          },
          "total_nodes": {
            "type": "integer",
            "description": "Total number of nodes in partition"
          },
          "tres": {
            "type": "string",
            "description": "configured TRES in partition"
          },
          "maximum_memory_per_cpu": {
            "type": "integer",
            "format": "int64",
            "description": "maximum memory per allocated CPU (MiB)"
          },
          "default_memory_per_node": {
            "type": "integer",
            "format": "int64",
            "description": "default MB memory per allocated node"
          }
        }
      },
      "v0.0.38_partitions_response": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/v0.0.38_meta"
          },
          "errors": {
            "type": "array",
            "description": "slurm errors",
            "items": {
              "$ref": "#/components/schemas/v0.0.38_error"
            }
          },
          "partitions": {
            "type": "array",
            "description": "partition info",
            "items": {
              "$ref": "#/components/schemas/v0.0.38_partition"
            }
          }
        }
      },
      "v0.0.38_reservation": {
        "type": "object",
        "properties": {
          "accounts": {
            "type": "string",
            "description": "Allowed accounts"
          },
          "burst_buffer": {
            "type": "string",
            "description": "Reserved burst buffer"
          },
          "core_count": {
            "type": "integer",
            "description": "Number of reserved cores"
          },
          "core_spec_cnt": {
            "type": "integer",
            "description": "Number of reserved specialized cores"
          },
          "end_time": {
            "type": "integer",
            "description": "End time of the reservation"
          },
          "features": {
            "type": "string",
            "description": "List of features"
          },
          "flags": {
            "type": "array",
            "description": "Reservation options",
            "items": {
              "type": "string"
            }
          },
          "groups": {
            "type": "string",
            "description": "List of groups permitted to use the reserved nodes"
          },
          "licenses": {
            "type": "string",
            "description": "List of licenses"
          },
          "max_start_delay": {
            "type": "integer",
            "description": "Maximum delay in which jobs outside of the reservation will be permitted to overlap once any jobs are queued for the reservation"
          },
          "name": {
            "type": "string",
            "description": "Reservationn name"
          },
          "node_count": {
            "type": "integer",
            "description": "Count of nodes reserved"
          },
          "node_list": {
            "type": "string",
            "description": "List of reserved nodes"
          },
          "partition": {
            "type": "string",
            "description": "Partition"
          },
          "purge_completed": {
            "type": "object",
            "description": "If PURGE_COMP flag is set the amount of seconds this reservation will sit idle until it is revoked",
            "properties": {
              "time": {
                "type": "integer",
                "description": "amount of seconds this reservation will sit idle until it is revoked"
              }
            }
          },
          "start_time": {
            "type": "integer",
            "description": "Start time of reservation"
          },
          "watts": {
            "type": "integer",
            "description": "amount of power to reserve in watts"
          },
          "tres": {
            "type": "string",
            "description": "List of TRES"
          },
          "users": {
            "type": "string",
            "description": "List of users"
          }
        }
      },
      "v0.0.38_reservations_response": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/v0.0.38_meta"
          },
          "errors": {
            "type": "array",
            "description": "slurm errors",
            "items": {
              "$ref": "#/components/schemas/v0.0.38_error"
            }
          },
          "reservations": {
            "type": "array",
            "description": "reservation info",
            "items": {
              "$ref": "#/components/schemas/v0.0.38_reservation"
            }
          }
        }
      },
      "v0.0.38_errors": {
        "type": "array",
        "description": "Slurm errors",
        "items": {
          "$ref": "#/components/schemas/v0.0.38_error"
        }
      },
      "v0.0.38_error": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "description": "error message"
          },
          "error_number": {
            "description": "Slurm internal error number",
            "type": "integer"
          }
        }
      },
      "v0.0.38_signal": {
        "type": "string",
        "description": "POSIX signal name",
        "format": "int32",
        "enum": [
          "HUP",
          "INT",
          "QUIT",
          "ABRT",
          "KILL",
          "ALRM",
          "TERM",
          "USR1",
          "USR2",
          "URG",
          "CONT",
          "STOP",
          "TSTP",
          "TTIN",
          "TTOU"
        ]
      },
      "v0.0.38_job_submission_response": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/v0.0.38_meta"
          },
          "errors": {
            "type": "array",
            "description": "slurm errors",
            "items": {
              "$ref": "#/components/schemas/v0.0.38_error"
            }
          },
          "job_id": {
            "description": "new job ID",
            "type": "integer"
          },
          "step_id": {
            "description": "new job step ID",
            "type": "string"
          },
          "job_submit_user_msg": {
            "description": "Message to user from job_submit plugin",
            "type": "string"
          }
        }
      },
      "v0.0.38_job_submission": {
        "required": [
          "script"
        ],
        "properties": {
          "script": {
            "type": "string",
            "description": "Executable script (full contents) to run in batch step"
          },
          "job": {
            "$ref": "#/components/schemas/v0.0.38_job_properties"
          },
          "jobs": {
            "description": "Properties of an HetJob",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v0.0.38_job_properties"
            }
          }
        }
      },
      "v0.0.38_jobs_response": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/v0.0.38_meta"
          },
          "errors": {
            "type": "array",
            "description": "slurm errors",
            "items": {
              "$ref": "#/components/schemas/v0.0.38_error"
            }
          },
          "jobs": {
            "type": "array",
            "description": "job descriptions",
            "items": {
              "$ref": "#/components/schemas/v0.0.38_job_response_properties"
            }
          }
        }
      },
      "v0.0.38_job_response_properties": {
        "type": "object",
        "properties": {
          "account": {
            "type": "string",
            "description": "Charge resources used by this job to specified account"
          },
          "accrue_time": {
            "type": "integer",
            "format": "int64",
            "description": "time job is eligible for running"
          },
          "admin_comment": {
            "type": "string",
            "description": "administrator's arbitrary comment"
          },
          "array_job_id": {
            "type": "integer",
            "description": "job_id of a job array or 0 if N/A"
          },
          "array_task_id": {
            "type": "integer",
            "description": "task_id of a job array"
          },
          "array_max_tasks": {
            "type": "integer",
            "description": "Maximum number of running array tasks"
          },
          "array_task_string": {
            "type": "string",
            "description": "string expression of task IDs in this record"
          },
          "association_id": {
            "type": "integer",
            "description": "association id for job"
          },
          "batch_features": {
            "type": "string",
            "description": "features required for batch script's node"
          },
          "batch_flag": {
            "type": "boolean",
            "description": "if batch: queued job with script"
          },
          "batch_host": {
            "type": "string",
            "description": "name of host running batch script"
          },
          "flags": {
            "type": "array",
            "description": "Job flags",
            "items": {
              "type": "string"
            }
          },
          "burst_buffer": {
            "type": "string",
            "description": "burst buffer specifications"
          },
          "burst_buffer_state": {
            "type": "string",
            "description": "burst buffer state info"
          },
          "cluster": {
            "type": "string",
            "description": "name of cluster that the job is on"
          },
          "cluster_features": {
            "type": "string",
            "description": "comma separated list of required cluster features"
          },
          "command": {
            "type": "string",
            "description": "command to be executed"
          },
          "comment": {
            "type": "string",
            "description": "arbitrary comment"
          },
          "container": {
            "type": "string",
            "description": "absolute path to OCI container bundle"
          },
          "contiguous": {
            "type": "boolean",
            "description": "job requires contiguous nodes"
          },
          "core_spec": {
            "type": "string",
            "description": "specialized core count"
          },
          "thread_spec": {
            "type": "string",
            "description": "specialized thread count"
          },
          "cores_per_socket": {
            "type": "string",
            "description": "cores per socket required by job"
          },
          "billable_tres": {
            "type": "number",
            "description": "billable TRES"
          },
          "cpus_per_task": {
            "type": "string",
            "description": "number of processors required for each task"
          },
          "cpu_frequency_minimum": {
            "type": "string",
            "description": "Minimum cpu frequency"
          },
          "cpu_frequency_maximum": {
            "type": "string",
            "description": "Maximum cpu frequency"
          },
          "cpu_frequency_governor": {
            "type": "string",
            "description": "cpu frequency governor"
          },
          "cpus_per_tres": {
            "type": "string",
            "description": "semicolon delimited list of TRES=# values"
          },
          "deadline": {
            "type": "integer",
            "description": "job start deadline "
          },
          "delay_boot": {
            "type": "integer",
            "description": "command to be executed"
          },
          "dependency": {
            "type": "string",
            "description": "synchronize job execution with other jobs"
          },
          "derived_exit_code": {
            "type": "integer",
            "description": "highest exit code of all job steps"
          },
          "eligible_time": {
            "type": "integer",
            "format": "int64",
            "description": "time job is eligible for running"
          },
          "end_time": {
            "type": "integer",
            "format": "int64",
            "description": "time of termination, actual or expected"
          },
          "excluded_nodes": {
            "type": "string",
            "description": "comma separated list of excluded nodes"
          },
          "exit_code": {
            "type": "integer",
            "description": "exit code for job"
          },
          "features": {
            "type": "string",
            "description": "comma separated list of required features"
          },
          "federation_origin": {
            "type": "string",
            "description": "Origin cluster's name"
          },
          "federation_siblings_active": {
            "type": "string",
            "description": "string of active sibling names"
          },
          "federation_siblings_viable": {
            "type": "string",
            "description": "string of viable sibling names"
          },
          "gres_detail": {
            "type": "array",
            "description": "Job flags",
            "items": {
              "type": "string"
            }
          },
          "group_id": {
            "type": "integer",
            "description": "group job submitted as"
          },
          "job_id": {
            "type": "integer",
            "description": "job ID"
          },
          "job_resources": {
            "$ref": "#/components/schemas/v0.0.38_job_resources"
          },
          "job_state": {
            "type": "string",
            "description": "state of the job"
          },
          "last_sched_evaluation": {
            "type": "integer",
            "description": "last time job was evaluated for scheduling"
          },
          "licenses": {
            "type": "string",
            "description": "licenses required by the job"
          },
          "max_cpus": {
            "type": "integer",
            "description": "maximum number of cpus usable by job"
          },
          "max_nodes": {
            "type": "integer",
            "description": "maximum number of nodes usable by job"
          },
          "mcs_label": {
            "type": "string",
            "description": "mcs_label if mcs plugin in use"
          },
          "memory_per_tres": {
            "type": "string",
            "description": "semicolon delimited list of TRES=# values"
          },
          "name": {
            "type": "string",
            "description": "name of the job"
          },
          "nodes": {
            "type": "string",
            "description": "list of nodes allocated to job"
          },
          "nice": {
            "type": "integer",
            "description": "requested priority change"
          },
          "tasks_per_core": {
            "type": "integer",
            "description": "number of tasks to invoke on each core"
          },
          "tasks_per_socket": {
            "type": "integer",
            "description": "number of tasks to invoke on each socket"
          },
          "tasks_per_board": {
            "type": "integer",
            "description": "number of tasks to invoke on each board"
          },
          "cpus": {
            "type": "integer",
            "description": "minimum number of cpus required by job"
          },
          "node_count": {
            "type": "integer",
            "description": "minimum number of nodes required by job"
          },
          "tasks": {
            "type": "integer",
            "description": "requested task count"
          },
          "het_job_id": {
            "type": "integer",
            "description": "job ID of hetjob leader"
          },
          "het_job_id_set": {
            "type": "string",
            "description": "job IDs for all components"
          },
          "het_job_offset": {
            "type": "integer",
            "description": "HetJob component offset from leader"
          },
          "partition": {
            "type": "string",
            "description": "name of assigned partition"
          },
          "memory_per_node": {
            "type": "integer",
            "description": "minimum real memory per node"
          },
          "memory_per_cpu": {
            "type": "integer",
            "description": "minimum real memory per cpu"
          },
          "minimum_cpus_per_node": {
            "type": "integer",
            "description": "minimum # CPUs per node"
          },
          "minimum_tmp_disk_per_node": {
            "type": "integer",
            "description": "minimum tmp disk per node"
          },
          "preempt_time": {
            "type": "integer",
            "format": "int64",
            "description": "preemption signal time"
          },
          "pre_sus_time": {
            "type": "integer",
            "format": "int64",
            "description": "time job ran prior to last suspend"
          },
          "priority": {
            "type": "integer",
            "description": "relative priority of the job"
          },
          "profile": {
            "type": "array",
            "description": "Job profiling requested",
            "items": {
              "type": "string"
            }
          },
          "qos": {
            "type": "string",
            "description": "Quality of Service"
          },
          "reboot": {
            "type": "boolean",
            "description": "node reboot requested before start"
          },
          "required_nodes": {
            "type": "string",
            "description": "comma separated list of required nodes"
          },
          "requeue": {
            "type": "boolean",
            "description": "enable or disable job requeue option"
          },
          "resize_time": {
            "type": "integer",
            "format": "int64",
            "description": "time of latest size change"
          },
          "restart_cnt": {
            "type": "integer",
            "description": "count of job restarts"
          },
          "resv_name": {
            "type": "string",
            "description": "reservation name"
          },
          "shared": {
            "type": "string",
            "description": "type and if job can share nodes with other jobs"
          },
          "show_flags": {
            "type": "array",
            "description": "details requested",
            "items": {
              "type": "string"
            }
          },
          "sockets_per_board": {
            "type": "integer",
            "description": "sockets per board required by job"
          },
          "sockets_per_node": {
            "type": "integer",
            "description": "sockets per node required by job"
          },
          "start_time": {
            "type": "integer",
            "format": "int64",
            "description": "time execution begins, actual or expected"
          },
          "state_description": {
            "type": "string",
            "description": "optional details for state_reason"
          },
          "state_reason": {
            "type": "string",
            "description": "reason job still pending or failed"
          },
          "standard_error": {
            "type": "string",
            "description": "pathname of job's stderr file"
          },
          "standard_input": {
            "type": "string",
            "description": "pathname of job's stdin file"
          },
          "standard_output": {
            "type": "string",
            "description": "pathname of job's stdout file"
          },
          "submit_time": {
            "type": "integer",
            "format": "int64",
            "description": "time of job submission"
          },
          "suspend_time": {
            "type": "integer",
            "format": "int64",
            "description": "time job last suspended or resumed"
          },
          "system_comment": {
            "type": "string",
            "description": "slurmctld's arbitrary comment"
          },
          "time_limit": {
            "type": "integer",
            "format": "int64",
            "description": "maximum run time in minutes"
          },
          "time_minimum": {
            "type": "integer",
            "format": "int64",
            "description": "minimum run time in minutes"
          },
          "threads_per_core": {
            "type": "integer",
            "description": "threads per core required by job"
          },
          "tres_bind": {
            "type": "string",
            "description": "Task to TRES binding directives"
          },
          "tres_freq": {
            "type": "string",
            "description": "TRES frequency directives"
          },
          "tres_per_job": {
            "type": "string",
            "description": "semicolon delimited list of TRES=# values"
          },
          "tres_per_node": {
            "type": "string",
            "description": "semicolon delimited list of TRES=# values"
          },
          "tres_per_socket": {
            "type": "string",
            "description": "semicolon delimited list of TRES=# values"
          },
          "tres_per_task": {
            "type": "string",
            "description": "semicolon delimited list of TRES=# values"
          },
          "tres_req_str": {
            "type": "string",
            "description": "tres reqeusted in the job"
          },
          "tres_alloc_str": {
            "type": "string",
            "description": "tres used in the job"
          },
          "user_id": {
            "type": "integer",
            "format": "int64",
            "description": "user id the job runs as"
          },
          "user_name": {
            "type": "string",
            "description": "user the job runs as"
          },
          "wckey": {
            "type": "string",
            "description": "wckey for job"
          },
          "current_working_directory": {
            "type": "string",
            "description": "pathname of working directory"
          }
        }
      },
      "v0.0.38_job_resources": {
        "type": "object",
        "properties": {
          "nodes": {
            "type": "string",
            "description": "list of assigned job nodes"
          },
          "allocated_cpus": {
            "type": "integer",
            "description": "number of assigned job cpus"
          },
          "allocated_hosts": {
            "type": "integer",
            "description": "number of assigned job hosts"
          },
          "allocated_nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v0.0.38_node_allocation"
            },
            "description": "array of allocated nodes"
          }
        }
      },
      "v0.0.38_node_allocation": {
        "type": "object",
        "properties": {
          "memory": {
            "type": "integer",
            "description": "amount of assigned job memory"
          },
          "cpus": {
            "type": "integer",
            "description": "number of assigned job CPUs"
          },
          "sockets": {
            "type": "object",
            "description": "assignment status of each socket by numeric socket id",
            "properties": {
              "cores": {
                "type": "object",
                "description": "assignment status of each core by core id in each socket"
              }
            }
          },
          "nodename": {
            "type": "string",
            "description": "node name"
          }
        }
      },
      "v0.0.38_job_properties": {
        "type": "object",
        "required": [
          "environment"
        ],
        "properties": {
          "account": {
            "type": "string",
            "description": "Charge resources used by this job to specified account."
          },
          "account_gather_frequency": {
            "type": "string",
            "description": "Define the job accounting and profiling sampling intervals."
          },
          "argv": {
            "type": "array",
            "description": "Arguments to the script.",
            "items": {
              "type": "string"
            }
          },
          "array": {
            "type": "string",
            "description": "Submit a job array, multiple jobs to be executed with identical parameters. The indexes specification identifies what array index values should be used."
          },
          "batch_features": {
            "type": "string",
            "description": "features required for batch script's node"
          },
          "begin_time": {
            "type": "integer",
            "format": "int64",
            "description": "Submit the batch script to the Slurm controller immediately, like normal, but tell the controller to defer the allocation of the job until the specified time."
          },
          "burst_buffer": {
            "type": "string",
            "description": "Burst buffer specification."
          },
          "cluster_constraint": {
            "type": "string",
            "description": "Specifies features that a federated cluster must have to have a sibling job submitted to it."
          },
          "comment": {
            "type": "string",
            "description": "An arbitrary comment."
          },
          "constraints": {
            "type": "string",
            "description": "node features required by job."
          },
          "container": {
            "type": "string",
            "description": "absolute path to OCI container bundle"
          },
          "core_specification": {
            "type": "integer",
            "description": "Count of specialized threads per node reserved by the job for system operations and not used by the application."
          },
          "cores_per_socket": {
            "type": "integer",
            "description": "Restrict node selection to nodes with at least the specified number of cores per socket."
          },
          "cpu_binding": {
            "type": "string",
            "description": "Cpu binding"
          },
          "cpu_binding_hint": {
            "type": "string",
            "description": "Cpu binding hint"
          },
          "cpu_frequency": {
            "type": "string",
            "description": "Request that job steps initiated by srun commands inside this sbatch script be run at some requested frequency if possible, on the CPUs selected for the step on the compute node(s)."
          },
          "cpus_per_gpu": {
            "type": "string",
            "description": "Number of CPUs requested per allocated GPU."
          },
          "cpus_per_task": {
            "type": "integer",
            "description": "Advise the Slurm controller that ensuing job steps will require ncpus number of processors per task."
          },
          "current_working_directory": {
            "type": "string",
            "description": "Instruct Slurm to connect the batch script's standard output directly to the file name."
          },
          "deadline": {
            "type": "string",
            "description": "Remove the job if no ending is possible before this deadline (start > (deadline - time[-min]))."
          },
          "delay_boot": {
            "type": "integer",
            "description": "Do not reboot nodes in order to satisfied this job's feature specification if the job has been eligible to run for less than this time period."
          },
          "dependency": {
            "type": "string",
            "description": "Defer the start of this job until the specified dependencies have been satisfied completed."
          },
          "distribution": {
            "type": "string",
            "description": "Specify alternate distribution methods for remote processes."
          },
          "environment": {
            "type": "object",
            "description": "Dictionary of environment entries."
          },
          "exclusive": {
            "type": "string",
            "description": "The job allocation can share nodes just other users with the \"user\" option or with the \"mcs\" option).",
            "enum": [
              "user",
              "mcs",
              "true",
              "false"
            ]
          },
          "get_user_environment": {
            "type": "boolean",
            "description": "Load new login environment for user on job node."
          },
          "gres": {
            "type": "string",
            "description": "Specifies a comma delimited list of generic consumable resources."
          },
          "gres_flags": {
            "type": "string",
            "description": "Specify generic resource task binding options.",
            "enum": [
              "disable-binding",
              "enforce-binding"
            ]
          },
          "gpu_binding": {
            "type": "string",
            "description": "Requested binding of tasks to GPU."
          },
          "gpu_frequency": {
            "type": "string",
            "description": "Requested GPU frequency."
          },
          "gpus": {
            "type": "string",
            "description": "GPUs per job."
          },
          "gpus_per_node": {
            "type": "string",
            "description": "GPUs per node."
          },
          "gpus_per_socket": {
            "type": "string",
            "description": "GPUs per socket."
          },
          "gpus_per_task": {
            "type": "string",
            "description": "GPUs per task."
          },
          "hold": {
            "type": "boolean",
            "description": "Specify the job is to be submitted in a held state (priority of zero)."
          },
          "kill_on_invalid_dependency": {
            "type": "boolean",
            "description": "If a job has an invalid dependency, then Slurm is to terminate it."
          },
          "licenses": {
            "type": "string",
            "description": "Specification of licenses (or other resources available on all nodes of the cluster) which must be allocated to this job."
          },
          "mail_type": {
            "type": "string",
            "description": "Notify user by email when certain event types occur."
          },
          "mail_user": {
            "type": "string",
            "description": "User to receive email notification of state changes as defined by mail_type."
          },
          "mcs_label": {
            "type": "string",
            "description": "This parameter is a group among the groups of the user."
          },
          "memory_binding": {
            "type": "string",
            "description": "Bind tasks to memory."
          },
          "memory_per_cpu": {
            "type": "integer",
            "description": "Minimum real memory per cpu (MB)."
          },
          "memory_per_gpu": {
            "type": "integer",
            "description": "Minimum memory required per allocated GPU."
          },
          "memory_per_node": {
            "type": "integer",
            "description": "Minimum real memory per node (MB)."
          },
          "minimum_cpus_per_node": {
            "type": "integer",
            "description": "Minimum number of CPUs per node."
          },
          "minimum_nodes": {
            "type": "boolean",
            "description": "If a range of node counts is given, prefer the smaller count."
          },
          "name": {
            "type": "string",
            "description": "Specify a name for the job allocation."
          },
          "nice": {
            "type": "integer",
            "description": "Run the job with an adjusted scheduling priority within Slurm."
          },
          "no_kill": {
            "type": "boolean",
            "description": "Do not automatically terminate a job if one of the nodes it has been allocated fails."
          },
          "nodes": {
            "maxItems": 2,
            "minItems": 1,
            "type": "array",
            "description": "Request that a minimum of minnodes nodes and a maximum node count.",
            "items": {
              "type": "integer"
            }
          },
          "open_mode": {
            "type": "string",
            "description": "Open the output and error files using append or truncate mode as specified.",
            "default": "append",
            "enum": [
              "append",
              "truncate"
            ]
          },
          "oversubscribe": {
            "type": "boolean",
            "description": "The job allocation can over-subscribe resources with other running jobs.",
            "default": "false"
          },
          "partition": {
            "type": "string",
            "description": "Request a specific partition for the resource allocation."
          },
          "prefer": {
            "type": "string",
            "description": "Comma delimited list of features for scheduler to prefer but not a strict requirement like a constraint. Value can be used for job submission but is only displayed for PENDING jobs."
          },
          "priority": {
            "type": "string",
            "description": "Request a specific job priority."
          },
          "qos": {
            "type": "string",
            "description": "Request a quality of service for the job."
          },
          "requeue": {
            "type": "boolean",
            "description": "Specifies that the batch job should eligible to being requeue."
          },
          "reservation": {
            "type": "string",
            "description": "Allocate resources for the job from the named reservation."
          },
          "signal": {
            "pattern": "(B:|)sig_num(@sig_time|)",
            "type": "string",
            "description": "When a job is within sig_time seconds of its end time, send it the signal sig_num."
          },
          "sockets_per_node": {
            "type": "integer",
            "description": "Restrict node selection to nodes with at least the specified number of sockets."
          },
          "spread_job": {
            "type": "boolean",
            "description": "Spread the job allocation over as many nodes as possible and attempt to evenly distribute tasks across the allocated nodes."
          },
          "standard_error": {
            "type": "string",
            "description": "Instruct Slurm to connect the batch script's standard error directly to the file name."
          },
          "standard_input": {
            "type": "string",
            "description": "Instruct Slurm to connect the batch script's standard input directly to the file name specified."
          },
          "standard_output": {
            "type": "string",
            "description": "Instruct Slurm to connect the batch script's standard output directly to the file name."
          },
          "tasks": {
            "type": "integer",
            "description": "Advises the Slurm controller that job steps run within the allocation will launch a maximum of number tasks and to provide for sufficient resources."
          },
          "tasks_per_core": {
            "type": "integer",
            "description": "Request the maximum ntasks be invoked on each core."
          },
          "tasks_per_node": {
            "type": "integer",
            "description": "Request the maximum ntasks be invoked on each node."
          },
          "tasks_per_socket": {
            "type": "integer",
            "description": "Request the maximum ntasks be invoked on each socket."
          },
          "thread_specification": {
            "type": "integer",
            "description": "Count of specialized threads per node reserved by the job for system operations and not used by the application."
          },
          "threads_per_core": {
            "type": "integer",
            "description": "Restrict node selection to nodes with at least the specified number of threads per core."
          },
          "time_limit": {
            "type": "integer",
            "description": "Step time limit in minutes."
          },
          "time_minimum": {
            "type": "integer",
            "description": "Minimum run time in minutes."
          },
          "wait_all_nodes": {
            "type": "boolean",
            "description": "Do not begin execution until all nodes are ready for use."
          },
          "wckey": {
            "type": "string",
            "description": "Specify wckey to be used with job."
          }
        }
      },
      "v0.0.38_node": {
        "type": "object",
        "properties": {
          "architecture": {
            "type": "string",
            "description": "computer architecture"
          },
          "burstbuffer_network_address": {
            "type": "string",
            "description": "BcastAddr"
          },
          "boards": {
            "type": "integer",
            "description": "total number of boards per node"
          },
          "boot_time": {
            "type": "integer",
            "format": "int64",
            "description": "timestamp of node boot"
          },
          "cores": {
            "type": "integer",
            "description": "number of cores per socket"
          },
          "cpu_binding": {
            "type": "integer",
            "description": "Default task binding"
          },
          "cpu_load": {
            "type": "integer",
            "format": "int64",
            "description": "CPU load * 100"
          },
          "free_memory": {
            "type": "integer",
            "description": "free memory in MiB"
          },
          "cpus": {
            "type": "integer",
            "description": "configured count of cpus running on the node"
          },
          "features": {
            "type": "string",
            "description": ""
          },
          "active_features": {
            "type": "string",
            "description": "list of a node's available features"
          },
          "gres": {
            "type": "string",
            "description": "list of a node's generic resources"
          },
          "gres_drained": {
            "type": "string",
            "description": "list of drained GRES"
          },
          "gres_used": {
            "type": "string",
            "description": "list of GRES in current use"
          },
          "mcs_label": {
            "type": "string",
            "description": "mcs label if mcs plugin in use"
          },
          "name": {
            "type": "string",
            "description": "node name to slurm"
          },
          "next_state_after_reboot": {
            "type": "string",
            "description": "state after reboot"
          },
          "next_state_after_reboot_flags": {
            "type": "array",
            "description": "node state flags",
            "items": {
              "type": "string"
            }
          },
          "address": {
            "type": "string",
            "description": "state after reboot"
          },
          "hostname": {
            "type": "string",
            "description": "node's hostname"
          },
          "state": {
            "type": "string",
            "description": "current node state"
          },
          "state_flags": {
            "type": "array",
            "description": "node state flags",
            "items": {
              "type": "string"
            }
          },
          "operating_system": {
            "type": "string",
            "description": "operating system"
          },
          "owner": {
            "type": "string",
            "description": "User allowed to use this node"
          },
          "partitions": {
            "type": "array",
            "description": "assigned partitions",
            "items": {
              "type": "string"
            }
          },
          "port": {
            "type": "integer",
            "description": "TCP port number of the slurmd"
          },
          "real_memory": {
            "type": "integer",
            "description": "configured MB of real memory on the node"
          },
          "reason": {
            "type": "string",
            "description": "reason for node being DOWN or DRAINING"
          },
          "reason_changed_at": {
            "type": "integer",
            "description": "Time stamp when reason was set"
          },
          "reason_set_by_user": {
            "type": "string",
            "description": "User that set the reason"
          },
          "slurmd_start_time": {
            "type": "integer",
            "format": "int64",
            "description": "timestamp of slurmd startup"
          },
          "sockets": {
            "type": "integer",
            "description": "total number of sockets per node"
          },
          "threads": {
            "type": "integer",
            "description": "number of threads per core"
          },
          "temporary_disk": {
            "type": "integer",
            "description": "configured MB of total disk in TMP_FS"
          },
          "weight": {
            "type": "integer",
            "description": "arbitrary priority of node for scheduling"
          },
          "tres": {
            "type": "string",
            "description": "TRES on node"
          },
          "tres_used": {
            "type": "string",
            "description": "TRES used on node"
          },
          "tres_weighted": {
            "type": "number",
            "format": "double",
            "description": "TRES weight used on node"
          },
          "slurmd_version": {
            "type": "string",
            "description": "Slurmd version"
          },
          "alloc_cpus": {
            "type": "integer",
            "format": "int64",
            "description": "Allocated CPUs"
          },
          "idle_cpus": {
            "type": "integer",
            "format": "int64",
            "description": "Idle CPUs"
          },
          "alloc_memory": {
            "type": "integer",
            "format": "int64",
            "description": "Allocated memory (MB)"
          }
        }
      },
      "v0.0.38_nodes_response": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/v0.0.38_meta"
          },
          "errors": {
            "type": "array",
            "description": "slurm errors",
            "items": {
              "$ref": "#/components/schemas/v0.0.38_error"
            }
          },
          "nodes": {
            "type": "array",
            "description": "nodes info",
            "items": {
              "$ref": "#/components/schemas/v0.0.38_node"
            }
          }
        }
      },
      "v0.0.38_meta": {
        "type": "object",
        "properties": {
          "plugin": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "description": ""
              },
              "name": {
                "type": "string",
                "description": ""
              }
            }
          },
          "Slurm": {
            "type": "object",
            "description": "Slurm information",
            "properties": {
              "version": {
                "type": "object",
                "properties": {
                  "major": {
                    "type": "string",
                    "description": ""
                  },
                  "micro": {
                    "type": "string",
                    "description": ""
                  },
                  "minor": {
                    "type": "string",
                    "description": ""
                  }
                }
              },
              "release": {
                "type": "string",
                "description": "version specifier"
              }
            }
          }
        }
      }
    }
  }
}
