From 2d55c2dbff16816dddb6ecafdb0c254036c1195f Mon Sep 17 00:00:00 2001 From: Nicholas Devenish Date: Thu, 18 Jul 2024 17:58:49 +0100 Subject: [PATCH] Regenerate SLURM models.py It has proven hard to reproduce the exact contents of the (automatically generated) models.py. There seems to be differences in flags between what is the documented way it was run vs the contents, the SLURM version, and the fact that datamodel-code-generator output order does not seem to be stable. Thus, this is now regenerated with: datamodel-code-generator 0.25.8 ripgrep jq And the command: curl -H "X-SLURM-USER-NAME: gda2" \ -H "X-SLURM-USER-TOKEN: $(cat /dls_sw/apps/zocalo/secrets/slurmrest-gda2.tkn)" \ https://slurm-rest.diamond.ac.uk:8443/openapi/v3 \ | jq --sort-keys \ | rg --passthru -N '((?:db)?v)0.0.(\d+)_' -r '${1}00$2.' \ | datamodel-codegen --target-python-version=3.8 \ --use-schema-description \ --use-field-description \ --output-model-type=pydantic.BaseModel \ --field-constraints \ --use-double-quotes \ --output models \ --keep-model-order \ && cp models/v0040.py src/zocalo/util/slurm/models.py (then selecting models/v0040.py). --- src/zocalo/util/slurm/models.py | 4744 +++++++++++++++---------------- 1 file changed, 2372 insertions(+), 2372 deletions(-) diff --git a/src/zocalo/util/slurm/models.py b/src/zocalo/util/slurm/models.py index a615581..94df0a3 100644 --- a/src/zocalo/util/slurm/models.py +++ b/src/zocalo/util/slurm/models.py @@ -1,6 +1,6 @@ # generated by datamodel-codegen: -# filename: wilson-slurm-rest38.yaml -# timestamp: 2024-03-27T13:12:29+00:00 +# filename: +# timestamp: 2024-07-18T18:31:07+00:00 from __future__ import annotations @@ -10,8 +10,21 @@ from pydantic import BaseModel, Field -class Flag(Enum): - DELETED = "DELETED" +class Account(BaseModel): + associations: Optional[AssocShortList] = None + coordinators: Optional[CoordList] = None + description: str + flags: Optional[List[Flag]] = None + name: str + organization: str + + +class AccountList(BaseModel): + __root__: List[Account] + + +class AccountModel(BaseModel): + wall_clock: Optional[Uint32NoVal] = None class AccountShort(BaseModel): @@ -25,419 +38,419 @@ class AccountShort(BaseModel): """ -class Allocated(BaseModel): - seconds: Optional[int] = None - - -class Default(BaseModel): - qos: Optional[str] = None +class Accounting(BaseModel): + TRES: Optional[TresModel] = None + allocated: Optional[Allocated] = None + id: Optional[int] = None + start: Optional[int] = None -class Fairshare(BaseModel): - factor: Optional[float] = None - """ - fairshare factor - """ - level: Optional[float] = None - """ - fairshare factor at this level. stored on an assoc as a long double, but that is not needed for display in sshare - """ +class AccountingList(BaseModel): + __root__: List[Accounting] -class TypeEnum(Enum): - USER = "USER" - ASSOCIATION = "ASSOCIATION" +class Accounts(BaseModel): + allowed: Optional[str] = None + deny: Optional[str] = None -class AssocShort(BaseModel): - account: Optional[str] = None - """ - Association account (if assigned) - """ - cluster: Optional[str] = None - """ - Association cluster (if assigned) - """ - id: Optional[int] = None +class AccountsAddCond(BaseModel): + accounts: StringList """ - Numeric Association ID (if known) + CSV accounts list """ - partition: Optional[str] = None + association: Optional[AssocRecSet] = None """ - Association partition (if assigned) + Association limits and options """ - user: str + clusters: Optional[StringList] = None """ - Assocation user (if assigned) + CSV clusters list """ -class AssocShortList(BaseModel): - __root__: List[AssocShort] - - -class BfExitFields(BaseModel): - bf_max_job_start: Optional[int] = None - bf_max_job_test: Optional[int] = None - bf_max_time: Optional[int] = None - bf_node_space_size: Optional[int] = None - end_job_queue: Optional[int] = None - state_changed: Optional[int] = None - - -class Associations(BaseModel): - root: Optional[AssocShort] = None - - -class Controller(BaseModel): - host: Optional[str] = None - port: Optional[int] = None - - -class Flag2(Enum): - REGISTERING = "REGISTERING" - MULTIPLE_SLURMD = "MULTIPLE_SLURMD" - FRONT_END = "FRONT_END" - CRAY_NATIVE = "CRAY_NATIVE" - FEDERATION = "FEDERATION" - EXTERNAL = "EXTERNAL" - - -class ControllerPing(BaseModel): - hostname: Optional[str] = None - latency: Optional[int] = None - mode: Optional[str] = None - pinged: Optional[str] = None +class Accruing(BaseModel): + per: Optional[PerModel3] = None -class ControllerPingArray(BaseModel): - __root__: List[ControllerPing] +class AcctGatherEnergy(BaseModel): + average_watts: Optional[int] = None + base_consumed_energy: Optional[int] = None + consumed_energy: Optional[int] = None + current_watts: Optional[Uint32NoVal] = None + last_collected: Optional[int] = None + previous_consumed_energy: Optional[int] = None -class Coord(BaseModel): - direct: Optional[bool] = None - name: str +class ActiveJobs(BaseModel): + accruing: Optional[Uint32NoVal] = None + count: Optional[Uint32NoVal] = None -class CoordList(BaseModel): - __root__: List[Coord] +class ActiveJobsModel(BaseModel): + per: Optional[PerModel3] = None -class Flag3(Enum): - WILD_MINUTE = "WILD_MINUTE" - WILD_HOUR = "WILD_HOUR" - WILD_DAY_OF_MONTH = "WILD_DAY_OF_MONTH" - WILD_MONTH = "WILD_MONTH" - WILD_DAY_OF_WEEK = "WILD_DAY_OF_WEEK" +class AdministratorLevelEnum(Enum): + Not_Set = "Not Set" + None_ = "None" + Operator = "Operator" + Administrator = "Administrator" -class Line(BaseModel): - end: Optional[int] = None - start: Optional[int] = None +class AdminlevelEnum(Enum): + Not_Set = "Not Set" + None_ = "None" + Operator = "Operator" + Administrator = "Administrator" -class CronEntry(BaseModel): - command: Optional[str] = None - day_of_month: Optional[str] = None - day_of_week: Optional[str] = None - flags: Optional[List[Flag3]] = None - hour: Optional[str] = None - line: Optional[Line] = None - minute: Optional[str] = None - month: Optional[str] = None - specification: Optional[str] = None +class Allocated(BaseModel): + seconds: Optional[int] = None -class CsvString(BaseModel): - __root__: List[str] +class Array(BaseModel): + job_id: Optional[int] = None + limits: Optional[Limits] = None + task: Optional[str] = None + task_id: Optional[Uint32NoVal] = None -class Float64NoVal(BaseModel): +class Assoc(BaseModel): + account: Optional[str] = None + accounting: Optional[AccountingList] = None """ - 64 bit floating point number with flags + Usage accounting """ - - infinite: Optional[bool] = False + cluster: Optional[str] = None + comment: Optional[str] = None """ - True if number has been set to infinite. "set" and "number" will be ignored. + comment for the association """ - number: Optional[float] = None + default: Optional[Default] = None + flags: Optional[List[Flag]] = None + id: Optional[AssocShort] = None """ - If set is True the number will be set with value. Otherwise ignore number contents. + Association ID """ - set: Optional[bool] = False + is_default: Optional[bool] = None + lineage: Optional[str] = None """ - True if number has been set. False if number is unset + Complete path up the hierarchy to the root association """ + max: Optional[MaxModel] = None + min: Optional[Min] = None + parent_account: Optional[str] = None + partition: Optional[str] = None + priority: Optional[Uint32NoVal] = None + qos: Optional[QosStringIdList] = None + """ + List of QOS names + """ + shares_raw: Optional[int] = None + user: str -class HostList(BaseModel): - __root__: List[str] - - -class HostListString(BaseModel): - __root__: List[str] - - -class Time(BaseModel): - time_end: Optional[int] = None - time_start: Optional[int] = None - - -class Instance(BaseModel): - cluster: Optional[str] = None - extra: Optional[str] = None - instance_id: Optional[str] = None - instance_type: Optional[str] = None - node_name: Optional[str] = None - time: Optional[Time] = None - - -class InstanceList(BaseModel): - __root__: List[Instance] - - -class Running(BaseModel): - tasks: Optional[int] = None - - -class Max1(BaseModel): - running: Optional[Running] = None - - -class Limits(BaseModel): - max: Optional[Max1] = None - - -class Comment(BaseModel): - administrator: Optional[str] = None - job: Optional[str] = None - system: Optional[str] = None - - -class Flag4(Enum): - NONE = "NONE" - CLEAR_SCHEDULING = "CLEAR_SCHEDULING" - NOT_SET = "NOT_SET" - STARTED_ON_SUBMIT = "STARTED_ON_SUBMIT" - STARTED_ON_SCHEDULE = "STARTED_ON_SCHEDULE" - STARTED_ON_BACKFILL = "STARTED_ON_BACKFILL" - START_RECEIVED = "START_RECEIVED" - - -class Mcs(BaseModel): - label: Optional[str] = None - - -class Reservation(BaseModel): - id: Optional[int] = None - name: Optional[str] = None +class AssocList(BaseModel): + __root__: List[Assoc] -class CurrentEnum(Enum): - PENDING = "PENDING" - RUNNING = "RUNNING" - SUSPENDED = "SUSPENDED" - COMPLETED = "COMPLETED" - CANCELLED = "CANCELLED" - FAILED = "FAILED" - TIMEOUT = "TIMEOUT" - NODE_FAIL = "NODE_FAIL" - PREEMPTED = "PREEMPTED" - BOOT_FAIL = "BOOT_FAIL" - DEADLINE = "DEADLINE" - OUT_OF_MEMORY = "OUT_OF_MEMORY" - LAUNCH_FAILED = "LAUNCH_FAILED" - UPDATE_DB = "UPDATE_DB" - REQUEUED = "REQUEUED" - REQUEUE_HOLD = "REQUEUE_HOLD" - SPECIAL_EXIT = "SPECIAL_EXIT" - RESIZING = "RESIZING" - CONFIGURING = "CONFIGURING" - COMPLETING = "COMPLETING" - STOPPED = "STOPPED" - RECONFIG_FAIL = "RECONFIG_FAIL" - POWER_UP_NODE = "POWER_UP_NODE" - REVOKED = "REVOKED" - REQUEUE_FED = "REQUEUE_FED" - RESV_DEL_HOLD = "RESV_DEL_HOLD" - SIGNALING = "SIGNALING" - STAGE_OUT = "STAGE_OUT" - - -class State(BaseModel): - current: Optional[List[CurrentEnum]] = None - reason: Optional[str] = None - - -class System(BaseModel): - microseconds: Optional[int] = None - seconds: Optional[int] = None +class AssocRecSet(BaseModel): + comment: Optional[str] = None + """ + Comment for the association + """ + defaultqos: Optional[str] = None + """ + Which QOS id is this association default + """ + fairshare: Optional[int] = None + """ + Number of shares allocated to this association + """ + grpjobs: Optional[Uint32NoVal] = None + """ + Max number of jobs the underlying group of associations can run at one time + """ + grpjobsaccrue: Optional[Uint32NoVal] = None + """ + Max number of jobs the underlying group of associations can have accruing priority at one time + """ + grpsubmitjobs: Optional[Uint32NoVal] = None + """ + Max number of jobs the underlying group of associations can submit at one time + """ + grptres: Optional[TresList] = None + grptresmins: Optional[TresList] = None + """ + Max number of cpu minutes the underlying group of associations can run for + """ + grptresrunmins: Optional[TresList] = None + """ + Max number of cpu minutes the underlying group of associations can having running at one time + """ + grpwall: Optional[Uint32NoVal] = None + """ + Total time in minutes the underlying group of associations can run for + """ + maxjobs: Optional[Uint32NoVal] = None + """ + Max number of jobs this association can run at one time + """ + maxjobsaccrue: Optional[Uint32NoVal] = None + """ + Max number of jobs this association can have accruing priority time + """ + maxsubmitjobs: Optional[Uint32NoVal] = None + """ + Max number of jobs that can be submitted by association + """ + maxtresminsperjob: Optional[TresList] = None + """ + Max number of cpu minutes this association can have per job + """ + maxtresperjob: Optional[TresList] = None + """ + Max number of cpus this association can allocate per job + """ + maxtrespernode: Optional[TresList] = None + """ + Max number of TRES this association can allocate per node + """ + maxtresrunmins: Optional[TresList] = None + """ + Max number of cpu minutes this association can having running at one time + """ + maxwalldurationperjob: Optional[Uint32NoVal] = None + """ + Longest time this association can run a job + """ + minpriothresh: Optional[Uint32NoVal] = None + """ + Don't reserve resources for pending jobs unless they have a priority equal to or higher than this + """ + parent: Optional[str] = None + """ + Name of parent account + """ + priority: Optional[Uint32NoVal] = None + """ + Association priority + """ + qoslevel: Optional[QosStringIdList] = None + """ + List of QOS names + """ -class Total(BaseModel): - microseconds: Optional[int] = None - seconds: Optional[int] = None +class AssocSharesObjList(BaseModel): + __root__: List[AssocSharesObjWrap] -class User(BaseModel): - microseconds: Optional[int] = None - seconds: Optional[int] = None +class AssocSharesObjWrap(BaseModel): + cluster: Optional[str] = None + """ + cluster name + """ + effective_usage: Optional[float] = None + """ + effective, normalized usage + """ + fairshare: Optional[Fairshare] = None + id: Optional[int] = None + """ + assocation id + """ + name: Optional[str] = None + """ + share name + """ + parent: Optional[str] = None + """ + parent name + """ + partition: Optional[str] = None + """ + partition name + """ + shares: Optional[Uint32NoVal] = None + """ + number of shares allocated + """ + shares_normalized: Optional[Float64NoVal] = None + """ + normalized shares + """ + tres: Optional[TresModel5] = None + type: Optional[List[TypeEnum]] = None + """ + user or account association + """ + usage: Optional[int] = None + """ + measure of tresbillableunits usage + """ + usage_normalized: Optional[Float64NoVal] = None + """ + normalized usage + """ -class JobArrayResponseMsgEntry(BaseModel): - error: Optional[str] = None +class AssocShort(BaseModel): + account: Optional[str] = None """ - Verbose update status or error + Association account (if assigned) """ - error_code: Optional[int] = None + cluster: Optional[str] = None """ - Verbose update status or error + Association cluster (if assigned) """ - job_id: Optional[int] = None + id: Optional[int] = None """ - JobId for updated Job + Numeric Association ID (if known) """ - step_id: Optional[str] = None + partition: Optional[str] = None """ - StepId for updated Job + Association partition (if assigned) """ - why: Optional[str] = None + user: str """ - Update response message + Assocation user (if assigned) """ -class CpuBindingFlag(Enum): - CPU_BIND_TO_THREADS = "CPU_BIND_TO_THREADS" - CPU_BIND_TO_CORES = "CPU_BIND_TO_CORES" - CPU_BIND_TO_SOCKETS = "CPU_BIND_TO_SOCKETS" - CPU_BIND_TO_LDOMS = "CPU_BIND_TO_LDOMS" - CPU_BIND_NONE = "CPU_BIND_NONE" - CPU_BIND_RANK = "CPU_BIND_RANK" - CPU_BIND_MAP = "CPU_BIND_MAP" - CPU_BIND_MASK = "CPU_BIND_MASK" - CPU_BIND_LDRANK = "CPU_BIND_LDRANK" - CPU_BIND_LDMAP = "CPU_BIND_LDMAP" - CPU_BIND_LDMASK = "CPU_BIND_LDMASK" - VERBOSE = "VERBOSE" - CPU_BIND_ONE_THREAD_PER_CORE = "CPU_BIND_ONE_THREAD_PER_CORE" +class AssocShortList(BaseModel): + __root__: List[AssocShort] -class ExclusiveEnum(Enum): - true = "true" - false = "false" - user = "user" - mcs = "mcs" +class Associations(BaseModel): + root: Optional[AssocShort] = None -class Flag5(Enum): - KILL_INVALID_DEPENDENCY = "KILL_INVALID_DEPENDENCY" - NO_KILL_INVALID_DEPENDENCY = "NO_KILL_INVALID_DEPENDENCY" - HAS_STATE_DIRECTORY = "HAS_STATE_DIRECTORY" - TESTING_BACKFILL = "TESTING_BACKFILL" - GRES_BINDING_ENFORCED = "GRES_BINDING_ENFORCED" - TEST_NOW_ONLY = "TEST_NOW_ONLY" - SEND_JOB_ENVIRONMENT = "SEND_JOB_ENVIRONMENT" - SPREAD_JOB = "SPREAD_JOB" - PREFER_MINIMUM_NODE_COUNT = "PREFER_MINIMUM_NODE_COUNT" - JOB_KILL_HURRY = "JOB_KILL_HURRY" - SKIP_TRES_STRING_ACCOUNTING = "SKIP_TRES_STRING_ACCOUNTING" - SIBLING_CLUSTER_UPDATE_ONLY = "SIBLING_CLUSTER_UPDATE_ONLY" - HETEROGENEOUS_JOB = "HETEROGENEOUS_JOB" - EXACT_TASK_COUNT_REQUESTED = "EXACT_TASK_COUNT_REQUESTED" - EXACT_CPU_COUNT_REQUESTED = "EXACT_CPU_COUNT_REQUESTED" - TESTING_WHOLE_NODE_BACKFILL = "TESTING_WHOLE_NODE_BACKFILL" - TOP_PRIORITY_JOB = "TOP_PRIORITY_JOB" - ACCRUE_COUNT_CLEARED = "ACCRUE_COUNT_CLEARED" - GRED_BINDING_DISABLED = "GRED_BINDING_DISABLED" - JOB_WAS_RUNNING = "JOB_WAS_RUNNING" - JOB_ACCRUE_TIME_RESET = "JOB_ACCRUE_TIME_RESET" - CRON_JOB = "CRON_JOB" - EXACT_MEMORY_REQUESTED = "EXACT_MEMORY_REQUESTED" - USING_DEFAULT_ACCOUNT = "USING_DEFAULT_ACCOUNT" - USING_DEFAULT_PARTITION = "USING_DEFAULT_PARTITION" - USING_DEFAULT_QOS = "USING_DEFAULT_QOS" - USING_DEFAULT_WCKEY = "USING_DEFAULT_WCKEY" - DEPENDENT = "DEPENDENT" - MAGNETIC = "MAGNETIC" - PARTITION_ASSIGNED = "PARTITION_ASSIGNED" - BACKFILL_ATTEMPTED = "BACKFILL_ATTEMPTED" - SCHEDULING_ATTEMPTED = "SCHEDULING_ATTEMPTED" - SAVE_BATCH_SCRIPT = "SAVE_BATCH_SCRIPT" +class BfExitFields(BaseModel): + bf_max_job_start: Optional[int] = None + bf_max_job_test: Optional[int] = None + bf_max_time: Optional[int] = None + bf_node_space_size: Optional[int] = None + end_job_queue: Optional[int] = None + state_changed: Optional[int] = None -class KillWarningFlag(Enum): - BATCH_JOB = "BATCH_JOB" - ARRAY_TASK = "ARRAY_TASK" - FULL_STEPS_ONLY = "FULL_STEPS_ONLY" - FULL_JOB = "FULL_JOB" - FEDERATION_REQUEUE = "FEDERATION_REQUEUE" - HURRY = "HURRY" - OUT_OF_MEMORY = "OUT_OF_MEMORY" - NO_SIBLING_JOBS = "NO_SIBLING_JOBS" - RESERVATION_JOB = "RESERVATION_JOB" - WARNING_SENT = "WARNING_SENT" +class CPU(BaseModel): + actual_frequency: Optional[int] = None -class MailTypeEnum(Enum): - BEGIN = "BEGIN" - END = "END" - FAIL = "FAIL" - REQUEUE = "REQUEUE" - TIME_100_ = "TIME=100%" - TIME_90_ = "TIME=90%" - TIME_80_ = "TIME=80%" - TIME_50_ = "TIME=50%" - STAGE_OUT = "STAGE_OUT" - ARRAY_TASKS = "ARRAY_TASKS" - INVALID_DEPENDENCY = "INVALID_DEPENDENCY" +class CPUModel(BaseModel): + governor: Optional[str] = None + requested_frequency: Optional[RequestedFrequency] = None -class MemoryBindingTypeEnum(Enum): - NONE = "NONE" - RANK = "RANK" - MAP = "MAP" - MASK = "MASK" - LOCAL = "LOCAL" - VERBOSE = "VERBOSE" - SORT = "SORT" - PREFER = "PREFER" +class Client(BaseModel): + group: Optional[str] = None + """ + Client group (if known) + """ + source: Optional[str] = None + """ + Client source description + """ + user: Optional[str] = None + """ + Client user (if known) + """ -class OpenModeEnum(Enum): - APPEND = "APPEND" - TRUNCATE = "TRUNCATE" +class ClusterRec(BaseModel): + associations: Optional[Associations] = None + controller: Optional[Controller] = None + flags: Optional[List[FlagModel]] = None + name: Optional[str] = None + nodes: Optional[str] = None + rpc_version: Optional[int] = None + select_plugin: Optional[str] = None + tres: Optional[TresList] = None -class PowerFlag(Enum): - EQUAL_POWER = "EQUAL_POWER" +class ClusterRecList(BaseModel): + __root__: List[ClusterRec] -class ProfileEnum(Enum): - NOT_SET = "NOT_SET" - NONE = "NONE" - ENERGY = "ENERGY" - LUSTRE = "LUSTRE" - NETWORK = "NETWORK" - TASK = "TASK" +class Comment(BaseModel): + administrator: Optional[str] = None + job: Optional[str] = None + system: Optional[str] = None -class SharedEnum(Enum): - none = "none" - oversubscribe = "oversubscribe" - user = "user" - mcs = "mcs" +class Consumed(BaseModel): + average: Optional[TresList] = None + max: Optional[StepTresUsageMax] = None + min: Optional[StepTresUsageMin] = None + total: Optional[TresList] = None -class X11Enum(Enum): - FORWARD_ALL_NODES = "FORWARD_ALL_NODES" - BATCH_NODE = "BATCH_NODE" - FIRST_NODE = "FIRST_NODE" - LAST_NODE = "LAST_NODE" +class Controller(BaseModel): + host: Optional[str] = None + port: Optional[int] = None -class JobStateEnum(Enum): +class ControllerPing(BaseModel): + hostname: Optional[str] = None + latency: Optional[int] = None + mode: Optional[str] = None + pinged: Optional[str] = None + + +class ControllerPingArray(BaseModel): + __root__: List[ControllerPing] + + +class Coord(BaseModel): + direct: Optional[bool] = None + name: str + + +class CoordList(BaseModel): + __root__: List[Coord] + + +class CpuBindingFlag(Enum): + CPU_BIND_TO_THREADS = "CPU_BIND_TO_THREADS" + CPU_BIND_TO_CORES = "CPU_BIND_TO_CORES" + CPU_BIND_TO_SOCKETS = "CPU_BIND_TO_SOCKETS" + CPU_BIND_TO_LDOMS = "CPU_BIND_TO_LDOMS" + CPU_BIND_NONE = "CPU_BIND_NONE" + CPU_BIND_RANK = "CPU_BIND_RANK" + CPU_BIND_MAP = "CPU_BIND_MAP" + CPU_BIND_MASK = "CPU_BIND_MASK" + CPU_BIND_LDRANK = "CPU_BIND_LDRANK" + CPU_BIND_LDMAP = "CPU_BIND_LDMAP" + CPU_BIND_LDMASK = "CPU_BIND_LDMASK" + VERBOSE = "VERBOSE" + CPU_BIND_ONE_THREAD_PER_CORE = "CPU_BIND_ONE_THREAD_PER_CORE" + + +class Cpus(BaseModel): + task_binding: Optional[int] = None + total: Optional[int] = None + + +class CronEntry(BaseModel): + command: Optional[str] = None + day_of_month: Optional[str] = None + day_of_week: Optional[str] = None + flags: Optional[List[FlagModel1]] = None + hour: Optional[str] = None + line: Optional[Line] = None + minute: Optional[str] = None + month: Optional[str] = None + specification: Optional[str] = None + + +class CsvString(BaseModel): + __root__: List[str] + + +class CurrentEnum(Enum): PENDING = "PENDING" RUNNING = "RUNNING" SUSPENDED = "SUSPENDED" @@ -468,1325 +481,1456 @@ class JobStateEnum(Enum): STAGE_OUT = "STAGE_OUT" -class Flag7(Enum): - EQUAL_POWER = "EQUAL_POWER" +class Default(BaseModel): + qos: Optional[str] = None -class Power(BaseModel): - flags: Optional[List[Flag7]] = None +class DefaultModel(BaseModel): + account: Optional[str] = None + wckey: Optional[str] = None -class ShowFlag(Enum): - ALL = "ALL" - DETAIL = "DETAIL" - MIXED = "MIXED" - LOCAL = "LOCAL" - SIBLING = "SIBLING" - FEDERATION = "FEDERATION" - FUTURE = "FUTURE" +class Defaults(BaseModel): + job: Optional[str] = None + memory_per_cpu: Optional[int] = None + partition_memory_per_cpu: Optional[Uint64NoVal] = None + partition_memory_per_node: Optional[Uint64NoVal] = None + time: Optional[Uint32NoVal] = None -class JobInfoGresDetail(BaseModel): - __root__: List[str] +class Energy(BaseModel): + consumed: Optional[Uint64NoVal] = None -class JobResNodes(BaseModel): +class ExclusiveEnum(Enum): + true = "true" + false = "false" + user = "user" + mcs = "mcs" + + +class ExtSensorsData(BaseModel): + consumed_energy: Optional[Uint64NoVal] = None + current_watts: Optional[int] = None + energy_update_time: Optional[int] = None + temperature: Optional[Uint32NoVal] = None + + +class Fairshare(BaseModel): + factor: Optional[float] = None """ - job node resources + fairshare factor """ - - __root__: List + level: Optional[float] = None """ - job node resources + fairshare factor at this level. stored on an assoc as a long double, but that is not needed for display in sshare """ -class JobSubmitResponseMsg(BaseModel): - error: Optional[str] = None - error_code: Optional[int] = None - job_id: Optional[int] = None - job_submit_user_msg: Optional[str] = None - step_id: Optional[str] = None +class Flag(Enum): + DELETED = "DELETED" -class License(BaseModel): - Free: Optional[int] = None - LastConsumed: Optional[int] = None - LastDeficit: Optional[int] = None - LastUpdate: Optional[int] = None - LicenseName: Optional[str] = None - Remote: Optional[bool] = None - Reserved: Optional[int] = None - Total: Optional[int] = None - Used: Optional[int] = None +class FlagModel(Enum): + REGISTERING = "REGISTERING" + MULTIPLE_SLURMD = "MULTIPLE_SLURMD" + FRONT_END = "FRONT_END" + CRAY_NATIVE = "CRAY_NATIVE" + FEDERATION = "FEDERATION" + EXTERNAL = "EXTERNAL" -class Licenses(BaseModel): - __root__: List[License] +class FlagModel1(Enum): + WILD_MINUTE = "WILD_MINUTE" + WILD_HOUR = "WILD_HOUR" + WILD_DAY_OF_MONTH = "WILD_DAY_OF_MONTH" + WILD_MONTH = "WILD_MONTH" + WILD_DAY_OF_WEEK = "WILD_DAY_OF_WEEK" -class NextStateAfterRebootEnum(Enum): - INVALID = "INVALID" - UNKNOWN = "UNKNOWN" - DOWN = "DOWN" - IDLE = "IDLE" - ALLOCATED = "ALLOCATED" - ERROR = "ERROR" - MIXED = "MIXED" - FUTURE = "FUTURE" - PERFCTRS = "PERFCTRS" - RESERVED = "RESERVED" - UNDRAIN = "UNDRAIN" - CLOUD = "CLOUD" - RESUME = "RESUME" - DRAIN = "DRAIN" - COMPLETING = "COMPLETING" - NOT_RESPONDING = "NOT_RESPONDING" - POWERED_DOWN = "POWERED_DOWN" - FAIL = "FAIL" - POWERING_UP = "POWERING_UP" - MAINTENANCE = "MAINTENANCE" - REBOOT_REQUESTED = "REBOOT_REQUESTED" - REBOOT_CANCELED = "REBOOT_CANCELED" - POWERING_DOWN = "POWERING_DOWN" - DYNAMIC_FUTURE = "DYNAMIC_FUTURE" - REBOOT_ISSUED = "REBOOT_ISSUED" - PLANNED = "PLANNED" - INVALID_REG = "INVALID_REG" - POWER_DOWN = "POWER_DOWN" - POWER_UP = "POWER_UP" - POWER_DRAIN = "POWER_DRAIN" - DYNAMIC_NORM = "DYNAMIC_NORM" +class FlagModel10(Enum): + ASSIGNED_DEFAULT = "ASSIGNED_DEFAULT" -class StateEnum(Enum): - INVALID = "INVALID" - UNKNOWN = "UNKNOWN" - DOWN = "DOWN" - IDLE = "IDLE" - ALLOCATED = "ALLOCATED" - ERROR = "ERROR" - MIXED = "MIXED" - FUTURE = "FUTURE" - PERFCTRS = "PERFCTRS" - RESERVED = "RESERVED" - UNDRAIN = "UNDRAIN" - CLOUD = "CLOUD" - RESUME = "RESUME" - DRAIN = "DRAIN" - COMPLETING = "COMPLETING" - NOT_RESPONDING = "NOT_RESPONDING" - POWERED_DOWN = "POWERED_DOWN" - FAIL = "FAIL" - POWERING_UP = "POWERING_UP" - MAINTENANCE = "MAINTENANCE" - REBOOT_REQUESTED = "REBOOT_REQUESTED" - REBOOT_CANCELED = "REBOOT_CANCELED" - POWERING_DOWN = "POWERING_DOWN" - DYNAMIC_FUTURE = "DYNAMIC_FUTURE" - REBOOT_ISSUED = "REBOOT_ISSUED" - PLANNED = "PLANNED" - INVALID_REG = "INVALID_REG" - POWER_DOWN = "POWER_DOWN" - POWER_UP = "POWER_UP" - POWER_DRAIN = "POWER_DRAIN" - DYNAMIC_NORM = "DYNAMIC_NORM" +class FlagModel2(Enum): + NONE = "NONE" + CLEAR_SCHEDULING = "CLEAR_SCHEDULING" + NOT_SET = "NOT_SET" + STARTED_ON_SUBMIT = "STARTED_ON_SUBMIT" + STARTED_ON_SCHEDULE = "STARTED_ON_SCHEDULE" + STARTED_ON_BACKFILL = "STARTED_ON_BACKFILL" + START_RECEIVED = "START_RECEIVED" -class OpenapiError(BaseModel): - description: Optional[str] = None - """ - Long form error description - """ - error: Optional[str] = None - """ - Short form error description - """ - error_number: Optional[int] = None - """ - Slurm numeric error identifier - """ - source: Optional[str] = None - """ - Source of error or where error was first detected - """ +class FlagModel3(Enum): + KILL_INVALID_DEPENDENCY = "KILL_INVALID_DEPENDENCY" + NO_KILL_INVALID_DEPENDENCY = "NO_KILL_INVALID_DEPENDENCY" + HAS_STATE_DIRECTORY = "HAS_STATE_DIRECTORY" + TESTING_BACKFILL = "TESTING_BACKFILL" + GRES_BINDING_ENFORCED = "GRES_BINDING_ENFORCED" + TEST_NOW_ONLY = "TEST_NOW_ONLY" + SEND_JOB_ENVIRONMENT = "SEND_JOB_ENVIRONMENT" + SPREAD_JOB = "SPREAD_JOB" + PREFER_MINIMUM_NODE_COUNT = "PREFER_MINIMUM_NODE_COUNT" + JOB_KILL_HURRY = "JOB_KILL_HURRY" + SKIP_TRES_STRING_ACCOUNTING = "SKIP_TRES_STRING_ACCOUNTING" + SIBLING_CLUSTER_UPDATE_ONLY = "SIBLING_CLUSTER_UPDATE_ONLY" + HETEROGENEOUS_JOB = "HETEROGENEOUS_JOB" + EXACT_TASK_COUNT_REQUESTED = "EXACT_TASK_COUNT_REQUESTED" + EXACT_CPU_COUNT_REQUESTED = "EXACT_CPU_COUNT_REQUESTED" + TESTING_WHOLE_NODE_BACKFILL = "TESTING_WHOLE_NODE_BACKFILL" + TOP_PRIORITY_JOB = "TOP_PRIORITY_JOB" + ACCRUE_COUNT_CLEARED = "ACCRUE_COUNT_CLEARED" + GRED_BINDING_DISABLED = "GRED_BINDING_DISABLED" + JOB_WAS_RUNNING = "JOB_WAS_RUNNING" + JOB_ACCRUE_TIME_RESET = "JOB_ACCRUE_TIME_RESET" + CRON_JOB = "CRON_JOB" + EXACT_MEMORY_REQUESTED = "EXACT_MEMORY_REQUESTED" + USING_DEFAULT_ACCOUNT = "USING_DEFAULT_ACCOUNT" + USING_DEFAULT_PARTITION = "USING_DEFAULT_PARTITION" + USING_DEFAULT_QOS = "USING_DEFAULT_QOS" + USING_DEFAULT_WCKEY = "USING_DEFAULT_WCKEY" + DEPENDENT = "DEPENDENT" + MAGNETIC = "MAGNETIC" + PARTITION_ASSIGNED = "PARTITION_ASSIGNED" + BACKFILL_ATTEMPTED = "BACKFILL_ATTEMPTED" + SCHEDULING_ATTEMPTED = "SCHEDULING_ATTEMPTED" + SAVE_BATCH_SCRIPT = "SAVE_BATCH_SCRIPT" -class OpenapiErrors(BaseModel): - __root__: List[OpenapiError] +class FlagModel4(Enum): + EQUAL_POWER = "EQUAL_POWER" -class Client(BaseModel): - group: Optional[str] = None - """ - Client group (if known) - """ - source: Optional[str] = None - """ - Client source description - """ - user: Optional[str] = None - """ - Client user (if known) - """ +class FlagModel5(Enum): + force = "force" -class Plugin(BaseModel): - accounting_storage: Optional[str] = None - """ - Slurm accounting plugin - """ - data_parser: Optional[str] = None - """ - Slurm data_parser plugin - """ - name: Optional[str] = None - """ - Slurm plugin name (if applicable) - """ - type: Optional[str] = None - """ - Slurm plugin type (if applicable) - """ +class FlagModel6(Enum): + NOT_SET = "NOT_SET" + ADD = "ADD" + REMOVE = "REMOVE" + PARTITION_MINIMUM_NODE = "PARTITION_MINIMUM_NODE" + PARTITION_MAXIMUM_NODE = "PARTITION_MAXIMUM_NODE" + PARTITION_TIME_LIMIT = "PARTITION_TIME_LIMIT" + ENFORCE_USAGE_THRESHOLD = "ENFORCE_USAGE_THRESHOLD" + NO_RESERVE = "NO_RESERVE" + REQUIRED_RESERVATION = "REQUIRED_RESERVATION" + DENY_LIMIT = "DENY_LIMIT" + OVERRIDE_PARTITION_QOS = "OVERRIDE_PARTITION_QOS" + NO_DECAY = "NO_DECAY" + USAGE_FACTOR_SAFE = "USAGE_FACTOR_SAFE" + RELATIVE = "RELATIVE" -class Version(BaseModel): - major: Optional[str] = None - """ - Slurm release major version - """ - micro: Optional[str] = None - """ - Slurm release micro version - """ - minor: Optional[str] = None - """ - Slurm release minor version - """ +class FlagModel7(Enum): + MAINT = "MAINT" + NO_MAINT = "NO_MAINT" + DAILY = "DAILY" + NO_DAILY = "NO_DAILY" + WEEKLY = "WEEKLY" + NO_WEEKLY = "NO_WEEKLY" + IGNORE_JOBS = "IGNORE_JOBS" + NO_IGNORE_JOBS = "NO_IGNORE_JOBS" + ANY_NODES = "ANY_NODES" + STATIC = "STATIC" + NO_STATIC = "NO_STATIC" + PART_NODES = "PART_NODES" + NO_PART_NODES = "NO_PART_NODES" + OVERLAP = "OVERLAP" + SPEC_NODES = "SPEC_NODES" + TIME_FLOAT = "TIME_FLOAT" + REPLACE = "REPLACE" + ALL_NODES = "ALL_NODES" + PURGE_COMP = "PURGE_COMP" + WEEKDAY = "WEEKDAY" + NO_WEEKDAY = "NO_WEEKDAY" + WEEKEND = "WEEKEND" + NO_WEEKEND = "NO_WEEKEND" + FLEX = "FLEX" + NO_FLEX = "NO_FLEX" + DURATION_PLUS = "DURATION_PLUS" + DURATION_MINUS = "DURATION_MINUS" + NO_HOLD_JOBS_AFTER_END = "NO_HOLD_JOBS_AFTER_END" + NO_PURGE_COMP = "NO_PURGE_COMP" + MAGNETIC = "MAGNETIC" + SKIP = "SKIP" + HOURLY = "HOURLY" + NO_HOURLY = "NO_HOURLY" + REOCCURRING = "REOCCURRING" -class Slurm(BaseModel): - cluster: Optional[str] = None +class FlagModel8(Enum): + NONE = "NONE" + DELETED = "DELETED" + + +class FlagModel9(Enum): + DELETED = "DELETED" + + +class Float64NoVal(BaseModel): """ - Slurm cluster name + 64 bit floating point number with flags """ - release: Optional[str] = None + + infinite: Optional[bool] = 0 """ - Slurm release string + True if number has been set to infinite. "set" and "number" will be ignored. """ - version: Optional[Version] = None - - -class OpenapiWarning(BaseModel): - description: Optional[str] = None + number: Optional[float] = None """ - Long form warning description + If set is True the number will be set with value. Otherwise ignore number contents. """ - source: Optional[str] = None + set: Optional[bool] = False """ - Source of warning or where warning was first detected + True if number has been set. False if number is unset """ -class OpenapiWarnings(BaseModel): - __root__: List[OpenapiWarning] - - -class Accounts(BaseModel): - allowed: Optional[str] = None - deny: Optional[str] = None - - -class Cpus(BaseModel): - task_binding: Optional[int] = None - total: Optional[int] = None +class Group(BaseModel): + active: Optional[TresList] = None + minutes: Optional[TresList] = None class Groups(BaseModel): allowed: Optional[str] = None -class Flag8(Enum): - force = "force" +class Het(BaseModel): + job_id: Optional[int] = None + job_offset: Optional[Uint32NoVal] = None -class Oversubscribe(BaseModel): - flags: Optional[List[Flag8]] = None - jobs: Optional[int] = None +class Hostlist(BaseModel): + __root__: List[str] -class Minimums(BaseModel): - nodes: Optional[int] = None +class HostlistString(BaseModel): + __root__: List[str] -class Nodes1(BaseModel): - allowed_allocation: Optional[str] = None - configured: Optional[str] = None - total: Optional[int] = None +class Instance(BaseModel): + cluster: Optional[str] = None + extra: Optional[str] = None + instance_id: Optional[str] = None + instance_type: Optional[str] = None + node_name: Optional[str] = None + time: Optional[Time] = None -class StateEnum1(Enum): - INACTIVE = "INACTIVE" - UNKNOWN = "UNKNOWN" - UP = "UP" - DOWN = "DOWN" - DRAIN = "DRAIN" +class InstanceList(BaseModel): + __root__: List[Instance] -class Partition(BaseModel): - state: Optional[List[StateEnum1]] = None - - -class Priority(BaseModel): - job_factor: Optional[int] = None - tier: Optional[int] = None - - -class Qos(BaseModel): - allowed: Optional[str] = None - assigned: Optional[str] = None - deny: Optional[str] = None - - -class Tres4(BaseModel): - billing_weights: Optional[str] = None - configured: Optional[str] = None - - -class StatusEnum(Enum): - INVALID = "INVALID" - PENDING = "PENDING" - SUCCESS = "SUCCESS" - ERROR = "ERROR" - SIGNALED = "SIGNALED" - CORE_DUMPED = "CORE_DUMPED" - - -class Flag9(Enum): - NOT_SET = "NOT_SET" - ADD = "ADD" - REMOVE = "REMOVE" - PARTITION_MINIMUM_NODE = "PARTITION_MINIMUM_NODE" - PARTITION_MAXIMUM_NODE = "PARTITION_MAXIMUM_NODE" - PARTITION_TIME_LIMIT = "PARTITION_TIME_LIMIT" - ENFORCE_USAGE_THRESHOLD = "ENFORCE_USAGE_THRESHOLD" - NO_RESERVE = "NO_RESERVE" - REQUIRED_RESERVATION = "REQUIRED_RESERVATION" - DENY_LIMIT = "DENY_LIMIT" - OVERRIDE_PARTITION_QOS = "OVERRIDE_PARTITION_QOS" - NO_DECAY = "NO_DECAY" - USAGE_FACTOR_SAFE = "USAGE_FACTOR_SAFE" - RELATIVE = "RELATIVE" - - -class ModeEnum(Enum): - DISABLED = "DISABLED" - SUSPEND = "SUSPEND" - REQUEUE = "REQUEUE" - CANCEL = "CANCEL" - GANG = "GANG" - - -class QosPreemptList(BaseModel): - __root__: List[str] - - -class QosStringIdList(BaseModel): - """ - List of QOS names - """ - - __root__: List[str] - """ - List of QOS names - """ - - -class ReservationCoreSpec(BaseModel): - core: Optional[str] = None - node: Optional[str] = None - - -class Flag10(Enum): - MAINT = "MAINT" - NO_MAINT = "NO_MAINT" - DAILY = "DAILY" - NO_DAILY = "NO_DAILY" - WEEKLY = "WEEKLY" - NO_WEEKLY = "NO_WEEKLY" - IGNORE_JOBS = "IGNORE_JOBS" - NO_IGNORE_JOBS = "NO_IGNORE_JOBS" - ANY_NODES = "ANY_NODES" - STATIC = "STATIC" - NO_STATIC = "NO_STATIC" - PART_NODES = "PART_NODES" - NO_PART_NODES = "NO_PART_NODES" - OVERLAP = "OVERLAP" - SPEC_NODES = "SPEC_NODES" - TIME_FLOAT = "TIME_FLOAT" - REPLACE = "REPLACE" - ALL_NODES = "ALL_NODES" - PURGE_COMP = "PURGE_COMP" - WEEKDAY = "WEEKDAY" - NO_WEEKDAY = "NO_WEEKDAY" - WEEKEND = "WEEKEND" - NO_WEEKEND = "NO_WEEKEND" - FLEX = "FLEX" - NO_FLEX = "NO_FLEX" - DURATION_PLUS = "DURATION_PLUS" - DURATION_MINUS = "DURATION_MINUS" - NO_HOLD_JOBS_AFTER_END = "NO_HOLD_JOBS_AFTER_END" - NO_PURGE_COMP = "NO_PURGE_COMP" - MAGNETIC = "MAGNETIC" - SKIP = "SKIP" - HOURLY = "HOURLY" - NO_HOURLY = "NO_HOURLY" - REOCCURRING = "REOCCURRING" - - -class ReservationInfoCoreSpec(BaseModel): - __root__: List[ReservationCoreSpec] - - -class Type(Enum): - """ - type - """ - - internal = "internal" - user = "user" - unknown = "unknown" - - -class RollupStat(BaseModel): - """ - recorded rollup statistics - """ - - last_run: Optional[int] = Field(None, alias="last run") - """ - Last time rollup ran (UNIX timestamp) - """ - max_cycle: Optional[int] = None - """ - longest rollup time (seconds) - """ - mean_cycles: Optional[int] = None - """ - average time for rollup (seconds) - """ - total_cycles: Optional[int] = None - """ - number of rollups since last_run - """ - total_time: Optional[int] = None - """ - total time spent doing rollups (seconds) - """ - type: Optional[Type] = None - """ - type - """ - - -class RollupStats(BaseModel): +class Job(BaseModel): + account: Optional[str] = None + allocation_nodes: Optional[int] = None + array: Optional[Array] = None + association: Optional[AssocShort] = None + block: Optional[str] = None + cluster: Optional[str] = None + comment: Optional[Comment] = None + constraints: Optional[str] = None + container: Optional[str] = None + derived_exit_code: Optional[ProcessExitCodeVerbose] = None """ - List of recorded rollup statistics + return code returned by process """ - - __root__: List[RollupStat] + exit_code: Optional[ProcessExitCodeVerbose] = None """ - List of recorded rollup statistics + return code returned by process """ - - -class ScheduleExitFields(BaseModel): - default_queue_depth: Optional[int] = None - end_job_queue: Optional[int] = None - licenses: Optional[int] = None - max_job_start: Optional[int] = None - max_rpc_cnt: Optional[int] = None - max_sched_time: Optional[int] = None - - -class SharesFloat128Tres(BaseModel): + extra: Optional[str] = None + failed_node: Optional[str] = None + flags: Optional[List[FlagModel2]] = None + group: Optional[str] = None + het: Optional[Het] = None + job_id: Optional[int] = None + kill_request_user: Optional[str] = None + licenses: Optional[str] = None + mcs: Optional[Mcs] = None name: Optional[str] = None + nodes: Optional[str] = None + partition: Optional[str] = None + priority: Optional[Uint32NoVal] = None + qos: Optional[str] = None + required: Optional[Required] = None + reservation: Optional[Reservation] = None + script: Optional[str] = None + state: Optional[State] = None + steps: Optional[StepList] = None + submit_line: Optional[str] = None + time: Optional[TimeModel1] = None + tres: Optional[TresModel2] = None + used_gres: Optional[str] = None + user: Optional[str] = None + wckey: Optional[WckeyTagStruct] = None """ - TRES name - """ - value: Optional[float] = None - """ - TRES value + WCKey ID with tagging """ + working_directory: Optional[str] = None -class SharesFloat128TresList(BaseModel): - __root__: List[SharesFloat128Tres] - +class JobArrayResponseArray(BaseModel): + __root__: List[JobArrayResponseMsgEntry] -class StatsMsgRpcsByTypeItem(BaseModel): - """ - RPC - """ - average_time: Optional[int] = None - """ - Average time spent processing RPC in seconds - """ - count: Optional[int] = None - """ - Number of RPCs received - """ - message_type: Optional[str] = None +class JobArrayResponseMsgEntry(BaseModel): + error: Optional[str] = None """ - Message type as string + Verbose update status or error """ - total_time: Optional[int] = None + error_code: Optional[int] = None """ - Total time spent processing RPC in seconds + Verbose update status or error """ - type_id: Optional[int] = None + job_id: Optional[int] = None """ - Message type as integer + JobId for updated Job """ - - -class StatsMsgRpcsByType(BaseModel): + step_id: Optional[str] = None """ - RPCs by message type + StepId for updated Job """ - - __root__: List[StatsMsgRpcsByTypeItem] + why: Optional[str] = None """ - RPCs by message type + Update response message """ -class StatsMsgRpcsByUserItem(BaseModel): - """ - user - """ - - average_time: Optional[int] = None - """ - Average time spent processing RPC in seconds +class JobDescMsg(BaseModel): + account: Optional[str] = None + account_gather_frequency: Optional[str] = None + admin_comment: Optional[str] = None + allocation_node_list: Optional[str] = None + allocation_node_port: Optional[int] = None + argv: Optional[StringArray] = None + array: Optional[str] = None + batch_features: Optional[str] = None + begin_time: Optional[Uint64NoVal] = None + burst_buffer: Optional[str] = None + cluster_constraint: Optional[str] = None + clusters: Optional[str] = None + comment: Optional[str] = None + constraints: Optional[str] = None + container: Optional[str] = None + container_id: Optional[str] = None + contiguous: Optional[bool] = None + core_specification: Optional[int] = None + cpu_binding: Optional[str] = None + cpu_binding_flags: Optional[List[CpuBindingFlag]] = None + cpu_frequency: Optional[str] = None + cpus_per_task: Optional[int] = None + cpus_per_tres: Optional[str] = None + crontab: Optional[CronEntry] = None + current_working_directory: Optional[str] = None + deadline: Optional[int] = None + delay_boot: Optional[int] = None + dependency: Optional[str] = None + distribution: Optional[str] = None + distribution_plane_size: Optional[int] = None + end_time: Optional[int] = None + environment: Optional[StringArray] = None + excluded_nodes: Optional[CsvString] = None + exclusive: Optional[List[ExclusiveEnum]] = None + extra: Optional[str] = None + flags: Optional[List[FlagModel3]] = None + group_id: Optional[str] = None + hetjob_group: Optional[int] = None + immediate: Optional[bool] = None + job_id: Optional[int] = None + kill_on_node_fail: Optional[bool] = None + kill_warning_delay: Optional[Uint16NoVal] = None + kill_warning_flags: Optional[List[KillWarningFlag]] = None + kill_warning_signal: Optional[str] = None + licenses: Optional[str] = None + mail_type: Optional[List[MailTypeEnum]] = None + mail_user: Optional[str] = None + maximum_cpus: Optional[int] = None + maximum_nodes: Optional[int] = None + mcs_label: Optional[str] = None + memory_binding: Optional[str] = None + memory_binding_type: Optional[List[MemoryBindingTypeEnum]] = None + memory_per_cpu: Optional[Uint64NoVal] = None + memory_per_node: Optional[Uint64NoVal] = None + memory_per_tres: Optional[str] = None + minimum_boards_per_node: Optional[int] = None + minimum_cpus: Optional[int] = None + minimum_cpus_per_node: Optional[int] = None + minimum_nodes: Optional[int] = None + minimum_sockets_per_board: Optional[int] = None + name: Optional[str] = None + network: Optional[str] = None + nice: Optional[int] = None + nodes: Optional[str] = None + ntasks_per_tres: Optional[int] = None + open_mode: Optional[List[OpenModeEnum]] = None + overcommit: Optional[bool] = None + oversubscribe: Optional[bool] = None + partition: Optional[str] = None + power_flags: Optional[List[PowerFlag]] = None + prefer: Optional[str] = None + priority: Optional[Uint32NoVal] = None + profile: Optional[List[ProfileEnum]] = None + qos: Optional[str] = None + reboot: Optional[bool] = None + requeue: Optional[bool] = None + required_nodes: Optional[CsvString] = None + required_switches: Optional[Uint32NoVal] = None + reservation: Optional[str] = None + reserve_ports: Optional[int] = None + rlimits: Optional[Rlimits] = None + script: Optional[str] = None + selinux_context: Optional[str] = None + shared: Optional[List[SharedEnum]] = None + site_factor: Optional[int] = None + sockets_per_node: Optional[int] = None + spank_environment: Optional[StringArray] = None + standard_error: Optional[str] = None + standard_input: Optional[str] = None + standard_output: Optional[str] = None + tasks: Optional[int] = None + tasks_per_board: Optional[int] = None + tasks_per_core: Optional[int] = None + tasks_per_node: Optional[int] = None + tasks_per_socket: Optional[int] = None + temporary_disk_per_node: Optional[int] = None + thread_specification: Optional[int] = None + threads_per_core: Optional[int] = None + time_limit: Optional[Uint32NoVal] = None + time_minimum: Optional[Uint32NoVal] = None + tres_bind: Optional[str] = None + tres_freq: Optional[str] = None + tres_per_job: Optional[str] = None + tres_per_node: Optional[str] = None + tres_per_socket: Optional[str] = None + tres_per_task: Optional[str] = None + user_id: Optional[str] = None + wait_all_nodes: Optional[bool] = None + wait_for_switch: Optional[int] = None + wckey: Optional[str] = None + x11: Optional[List[X11Enum]] = None + x11_magic_cookie: Optional[str] = None + x11_target_host: Optional[str] = None + x11_target_port: Optional[int] = None + + +class JobDescMsgList(BaseModel): + __root__: List[JobDescMsg] + + +class JobInfo(BaseModel): + account: Optional[str] = None + accrue_time: Optional[Uint64NoVal] = None + admin_comment: Optional[str] = None + allocating_node: Optional[str] = None + array_job_id: Optional[Uint32NoVal] = None + array_max_tasks: Optional[Uint32NoVal] = None + array_task_id: Optional[Uint32NoVal] = None + array_task_string: Optional[str] = None + association_id: Optional[int] = None + batch_features: Optional[str] = None + batch_flag: Optional[bool] = None + batch_host: Optional[str] = None + billable_tres: Optional[Float64NoVal] = None + burst_buffer: Optional[str] = None + burst_buffer_state: Optional[str] = None + cluster: Optional[str] = None + cluster_features: Optional[str] = None + command: Optional[str] = None + comment: Optional[str] = None + container: Optional[str] = None + container_id: Optional[str] = None + contiguous: Optional[bool] = None + core_spec: Optional[int] = None + cores_per_socket: Optional[Uint16NoVal] = None + cpu_frequency_governor: Optional[Uint32NoVal] = None + cpu_frequency_maximum: Optional[Uint32NoVal] = None + cpu_frequency_minimum: Optional[Uint32NoVal] = None + cpus: Optional[Uint32NoVal] = None + cpus_per_task: Optional[Uint16NoVal] = None + cpus_per_tres: Optional[str] = None + cron: Optional[str] = None + current_working_directory: Optional[str] = None + deadline: Optional[Uint64NoVal] = None + delay_boot: Optional[Uint32NoVal] = None + dependency: Optional[str] = None + derived_exit_code: Optional[ProcessExitCodeVerbose] = None """ - count: Optional[int] = None + return code returned by process """ - Number of RPCs received + eligible_time: Optional[Uint64NoVal] = None + end_time: Optional[Uint64NoVal] = None + excluded_nodes: Optional[str] = None + exclusive: Optional[List[ExclusiveEnum]] = None + exit_code: Optional[ProcessExitCodeVerbose] = None """ - total_time: Optional[int] = None + return code returned by process """ - Total time spent processing RPC in seconds + extra: Optional[str] = None + failed_node: Optional[str] = None + features: Optional[str] = None + federation_origin: Optional[str] = None + federation_siblings_active: Optional[str] = None + federation_siblings_viable: Optional[str] = None + flags: Optional[List[FlagModel3]] = None + gres_detail: Optional[JobInfoGresDetail] = None + group_id: Optional[int] = None + group_name: Optional[str] = None + het_job_id: Optional[Uint32NoVal] = None + het_job_id_set: Optional[str] = None + het_job_offset: Optional[Uint32NoVal] = None + job_id: Optional[int] = None + job_resources: Optional[JobRes] = None + job_size_str: Optional[CsvString] = None + job_state: Optional[List[JobStateEnum]] = None + last_sched_evaluation: Optional[Uint64NoVal] = None + licenses: Optional[str] = None + mail_type: Optional[List[MailTypeEnum]] = None + mail_user: Optional[str] = None + max_cpus: Optional[Uint32NoVal] = None + max_nodes: Optional[Uint32NoVal] = None + maximum_switch_wait_time: Optional[int] = None + mcs_label: Optional[str] = None + memory_per_cpu: Optional[Uint64NoVal] = None + memory_per_node: Optional[Uint64NoVal] = None + memory_per_tres: Optional[str] = None + minimum_cpus_per_node: Optional[Uint16NoVal] = None + minimum_switches: Optional[int] = None + minimum_tmp_disk_per_node: Optional[Uint32NoVal] = None + name: Optional[str] = None + network: Optional[str] = None + nice: Optional[int] = None + node_count: Optional[Uint32NoVal] = None + nodes: Optional[str] = None + oversubscribe: Optional[bool] = None + partition: Optional[str] = None + power: Optional[Power] = None + pre_sus_time: Optional[Uint64NoVal] = None + preempt_time: Optional[Uint64NoVal] = None + preemptable_time: Optional[Uint64NoVal] = None + prefer: Optional[str] = None + priority: Optional[Uint32NoVal] = None + profile: Optional[List[ProfileEnum]] = None + qos: Optional[str] = None + reboot: Optional[bool] = None + requeue: Optional[bool] = None + required_nodes: Optional[str] = None + resize_time: Optional[Uint64NoVal] = None + restart_cnt: Optional[int] = None + resv_name: Optional[str] = None + scheduled_nodes: Optional[str] = None + selinux_context: Optional[str] = None + shared: Optional[List[SharedEnum]] = None + show_flags: Optional[List[ShowFlag]] = None + sockets_per_board: Optional[int] = None + sockets_per_node: Optional[Uint16NoVal] = None + standard_error: Optional[str] = None + standard_input: Optional[str] = None + standard_output: Optional[str] = None + start_time: Optional[Uint64NoVal] = None + state_description: Optional[str] = None + state_reason: Optional[str] = None + submit_time: Optional[Uint64NoVal] = None + suspend_time: Optional[Uint64NoVal] = None + system_comment: Optional[str] = None + tasks: Optional[Uint32NoVal] = None + tasks_per_board: Optional[Uint16NoVal] = None + tasks_per_core: Optional[Uint16NoVal] = None + tasks_per_node: Optional[Uint16NoVal] = None + tasks_per_socket: Optional[Uint16NoVal] = None + tasks_per_tres: Optional[Uint16NoVal] = None + thread_spec: Optional[int] = None + threads_per_core: Optional[Uint16NoVal] = None + time_limit: Optional[Uint32NoVal] = None + time_minimum: Optional[Uint32NoVal] = None + tres_alloc_str: Optional[str] = None + tres_bind: Optional[str] = None + tres_freq: Optional[str] = None + tres_per_job: Optional[str] = None + tres_per_node: Optional[str] = None + tres_per_socket: Optional[str] = None + tres_per_task: Optional[str] = None + tres_req_str: Optional[str] = None + user_id: Optional[int] = None + user_name: Optional[str] = None + wckey: Optional[str] = None + + +class JobInfoGresDetail(BaseModel): + __root__: List[str] + + +class JobInfoMsg(BaseModel): + __root__: List[JobInfo] + + +class JobList(BaseModel): + __root__: List[Job] + + +class JobRes(BaseModel): + allocated_cores: Optional[int] = None + allocated_cpus: Optional[int] = None + allocated_hosts: Optional[int] = None + allocated_nodes: Optional[JobResNodes] = None + nodes: Optional[str] = None + + +class JobResNodes(BaseModel): """ - user: Optional[str] = None + job node resources """ - user name + + __root__: List """ - user_id: Optional[int] = None + job node resources """ - user id (numeric) + + +class JobStateEnum(Enum): + PENDING = "PENDING" + RUNNING = "RUNNING" + SUSPENDED = "SUSPENDED" + COMPLETED = "COMPLETED" + CANCELLED = "CANCELLED" + FAILED = "FAILED" + TIMEOUT = "TIMEOUT" + NODE_FAIL = "NODE_FAIL" + PREEMPTED = "PREEMPTED" + BOOT_FAIL = "BOOT_FAIL" + DEADLINE = "DEADLINE" + OUT_OF_MEMORY = "OUT_OF_MEMORY" + LAUNCH_FAILED = "LAUNCH_FAILED" + UPDATE_DB = "UPDATE_DB" + REQUEUED = "REQUEUED" + REQUEUE_HOLD = "REQUEUE_HOLD" + SPECIAL_EXIT = "SPECIAL_EXIT" + RESIZING = "RESIZING" + CONFIGURING = "CONFIGURING" + COMPLETING = "COMPLETING" + STOPPED = "STOPPED" + RECONFIG_FAIL = "RECONFIG_FAIL" + POWER_UP_NODE = "POWER_UP_NODE" + REVOKED = "REVOKED" + REQUEUE_FED = "REQUEUE_FED" + RESV_DEL_HOLD = "RESV_DEL_HOLD" + SIGNALING = "SIGNALING" + STAGE_OUT = "STAGE_OUT" + + +class JobSubmitReq(BaseModel): + job: Optional[JobDescMsg] = None + """ + Job description + """ + jobs: Optional[JobDescMsgList] = None + """ + HetJob description + """ + script: Optional[str] = None """ + batch job script + """ + + +class JobSubmitResponseMsg(BaseModel): + error: Optional[str] = None + error_code: Optional[int] = None + job_id: Optional[int] = None + job_submit_user_msg: Optional[str] = None + step_id: Optional[str] = None + + +class Jobs(BaseModel): + accruing: Optional[Uint32NoVal] = None + active: Optional[Uint32NoVal] = None + per: Optional[Per] = None + total: Optional[Uint32NoVal] = None + + +class JobsModel(BaseModel): + active_jobs: Optional[ActiveJobsModel] = None + per: Optional[PerModel3] = None + + +class KillWarningFlag(Enum): + BATCH_JOB = "BATCH_JOB" + ARRAY_TASK = "ARRAY_TASK" + FULL_STEPS_ONLY = "FULL_STEPS_ONLY" + FULL_JOB = "FULL_JOB" + FEDERATION_REQUEUE = "FEDERATION_REQUEUE" + HURRY = "HURRY" + OUT_OF_MEMORY = "OUT_OF_MEMORY" + NO_SIBLING_JOBS = "NO_SIBLING_JOBS" + RESERVATION_JOB = "RESERVATION_JOB" + WARNING_SENT = "WARNING_SENT" + + +class License(BaseModel): + Free: Optional[int] = None + LastConsumed: Optional[int] = None + LastDeficit: Optional[int] = None + LastUpdate: Optional[int] = None + LicenseName: Optional[str] = None + Remote: Optional[bool] = None + Reserved: Optional[int] = None + Total: Optional[int] = None + Used: Optional[int] = None + + +class Licenses(BaseModel): + __root__: List[License] -class StatsMsgRpcsByUser(BaseModel): - """ - RPCs by user - """ +class Limits(BaseModel): + max: Optional[Max] = None - __root__: List[StatsMsgRpcsByUserItem] - """ - RPCs by user - """ +class LimitsModel(BaseModel): + factor: Optional[Float64NoVal] = None + grace_time: Optional[int] = None + max: Optional[MaxModel1] = None + min: Optional[MinModel] = None -class Time2(BaseModel): - average: Optional[int] = None - total: Optional[int] = None +class Line(BaseModel): + end: Optional[int] = None + start: Optional[int] = None -class StatsRpc(BaseModel): - count: Optional[int] = None - rpc: Optional[str] = None - time: Optional[Time2] = None +class MailTypeEnum(Enum): + BEGIN = "BEGIN" + END = "END" + FAIL = "FAIL" + REQUEUE = "REQUEUE" + TIME_100_ = "TIME=100%" + TIME_90_ = "TIME=90%" + TIME_80_ = "TIME=80%" + TIME_50_ = "TIME=50%" + STAGE_OUT = "STAGE_OUT" + ARRAY_TASKS = "ARRAY_TASKS" + INVALID_DEPENDENCY = "INVALID_DEPENDENCY" -class StatsRpcList(BaseModel): - __root__: List[StatsRpc] +class Max(BaseModel): + running: Optional[Running] = None -class StatsUser(BaseModel): - count: Optional[int] = None - time: Optional[Time2] = None - user: Optional[str] = None +class MaxModel(BaseModel): + jobs: Optional[Jobs] = None + per: Optional[PerModel] = None + tres: Optional[TresModel1] = None -class StatsUserList(BaseModel): - __root__: List[StatsUser] +class MaxModel1(BaseModel): + accruing: Optional[Accruing] = None + active_jobs: Optional[ActiveJobs] = None + jobs: Optional[JobsModel] = None + tres: Optional[TresModel3] = None + wall_clock: Optional[WallClock] = None -class Nodes2(BaseModel): - count: Optional[int] = None - List: Optional[HostList] = None - range: Optional[str] = None +class Maximums(BaseModel): + cpus_per_node: Optional[Uint32NoVal] = None + cpus_per_socket: Optional[Uint32NoVal] = None + memory_per_cpu: Optional[int] = None + nodes: Optional[Uint32NoVal] = None + over_time_limit: Optional[Uint16NoVal] = None + oversubscribe: Optional[Oversubscribe] = None + partition_memory_per_cpu: Optional[Uint64NoVal] = None + partition_memory_per_node: Optional[Uint64NoVal] = None + shares: Optional[int] = None + time: Optional[Uint32NoVal] = None -class StateEnum2(Enum): - PENDING = "PENDING" - RUNNING = "RUNNING" - SUSPENDED = "SUSPENDED" - COMPLETED = "COMPLETED" - CANCELLED = "CANCELLED" - FAILED = "FAILED" - TIMEOUT = "TIMEOUT" - NODE_FAIL = "NODE_FAIL" - PREEMPTED = "PREEMPTED" - BOOT_FAIL = "BOOT_FAIL" - DEADLINE = "DEADLINE" - OUT_OF_MEMORY = "OUT_OF_MEMORY" - LAUNCH_FAILED = "LAUNCH_FAILED" - UPDATE_DB = "UPDATE_DB" - REQUEUED = "REQUEUED" - REQUEUE_HOLD = "REQUEUE_HOLD" - SPECIAL_EXIT = "SPECIAL_EXIT" - RESIZING = "RESIZING" - CONFIGURING = "CONFIGURING" - COMPLETING = "COMPLETING" - STOPPED = "STOPPED" - RECONFIG_FAIL = "RECONFIG_FAIL" - POWER_UP_NODE = "POWER_UP_NODE" - REVOKED = "REVOKED" - REQUEUE_FED = "REQUEUE_FED" - RESV_DEL_HOLD = "RESV_DEL_HOLD" - SIGNALING = "SIGNALING" - STAGE_OUT = "STAGE_OUT" + +class Mcs(BaseModel): + label: Optional[str] = None -class CPU1(BaseModel): - actual_frequency: Optional[int] = None +class MemoryBindingTypeEnum(Enum): + NONE = "NONE" + RANK = "RANK" + MAP = "MAP" + MASK = "MASK" + LOCAL = "LOCAL" + VERBOSE = "VERBOSE" + SORT = "SORT" + PREFER = "PREFER" -class Step1(BaseModel): - id: Optional[str] = None - """ - Slurm Job StepId - """ - name: Optional[str] = None +class Min(BaseModel): + priority_threshold: Optional[Uint32NoVal] = None -class Task(BaseModel): - distribution: Optional[str] = None +class MinModel(BaseModel): + priority_threshold: Optional[Uint32NoVal] = None + tres: Optional[TresModel4] = None -class Tasks(BaseModel): - count: Optional[int] = None +class Minimums(BaseModel): + nodes: Optional[int] = None -class StringArray(BaseModel): - __root__: List[str] +class Minutes(BaseModel): + per: Optional[PerModel1] = None + total: Optional[TresList] = None -class StringList(BaseModel): - __root__: List[str] +class MinutesModel(BaseModel): + per: Optional[PerModel4] = None -class Tres(BaseModel): - count: Optional[int] = None - id: Optional[int] = None +class ModeEnum(Enum): + DISABLED = "DISABLED" + SUSPEND = "SUSPEND" + REQUEUE = "REQUEUE" + CANCEL = "CANCEL" + GANG = "GANG" + + +class NextStateAfterRebootEnum(Enum): + INVALID = "INVALID" + UNKNOWN = "UNKNOWN" + DOWN = "DOWN" + IDLE = "IDLE" + ALLOCATED = "ALLOCATED" + ERROR = "ERROR" + MIXED = "MIXED" + FUTURE = "FUTURE" + PERFCTRS = "PERFCTRS" + RESERVED = "RESERVED" + UNDRAIN = "UNDRAIN" + CLOUD = "CLOUD" + RESUME = "RESUME" + DRAIN = "DRAIN" + COMPLETING = "COMPLETING" + NOT_RESPONDING = "NOT_RESPONDING" + POWERED_DOWN = "POWERED_DOWN" + FAIL = "FAIL" + POWERING_UP = "POWERING_UP" + MAINTENANCE = "MAINTENANCE" + REBOOT_REQUESTED = "REBOOT_REQUESTED" + REBOOT_CANCELED = "REBOOT_CANCELED" + POWERING_DOWN = "POWERING_DOWN" + DYNAMIC_FUTURE = "DYNAMIC_FUTURE" + REBOOT_ISSUED = "REBOOT_ISSUED" + PLANNED = "PLANNED" + INVALID_REG = "INVALID_REG" + POWER_DOWN = "POWER_DOWN" + POWER_UP = "POWER_UP" + POWER_DRAIN = "POWER_DRAIN" + DYNAMIC_NORM = "DYNAMIC_NORM" + + +class Node(BaseModel): + active_features: Optional[CsvString] = None + address: Optional[str] = None + alloc_cpus: Optional[int] = None + alloc_idle_cpus: Optional[int] = None + alloc_memory: Optional[int] = None + architecture: Optional[str] = None + boards: Optional[int] = None + boot_time: Optional[Uint64NoVal] = None + burstbuffer_network_address: Optional[str] = None + cluster_name: Optional[str] = None + comment: Optional[str] = None + cores: Optional[int] = None + cpu_binding: Optional[int] = None + cpu_load: Optional[int] = None + cpus: Optional[int] = None + effective_cpus: Optional[int] = None + energy: Optional[AcctGatherEnergy] = None + external_sensors: Optional[ExtSensorsData] = None + extra: Optional[str] = None + features: Optional[CsvString] = None + free_mem: Optional[Uint64NoVal] = None + gres: Optional[str] = None + gres_drained: Optional[str] = None + gres_used: Optional[str] = None + hostname: Optional[str] = None + instance_id: Optional[str] = None + instance_type: Optional[str] = None + last_busy: Optional[Uint64NoVal] = None + mcs_label: Optional[str] = None name: Optional[str] = None - type: str + next_state_after_reboot: Optional[List[NextStateAfterRebootEnum]] = None + operating_system: Optional[str] = None + owner: Optional[str] = None + partitions: Optional[CsvString] = None + port: Optional[int] = None + power: Optional[PowerMgmtData] = None + real_memory: Optional[int] = None + reason: Optional[str] = None + reason_changed_at: Optional[Uint64NoVal] = None + reason_set_by_user: Optional[str] = None + reservation: Optional[str] = None + resume_after: Optional[Uint64NoVal] = None + slurmd_start_time: Optional[Uint64NoVal] = None + sockets: Optional[int] = None + specialized_cores: Optional[int] = None + specialized_cpus: Optional[str] = None + specialized_memory: Optional[int] = None + state: Optional[List[StateEnum]] = None + temporary_disk: Optional[int] = None + threads: Optional[int] = None + tres: Optional[str] = None + tres_used: Optional[str] = None + tres_weighted: Optional[float] = None + version: Optional[str] = None + weight: Optional[int] = None -class TresList(BaseModel): - __root__: List[Tres] +class Nodes(BaseModel): + allowed_allocation: Optional[str] = None + configured: Optional[str] = None + total: Optional[int] = None -class Uint16NoVal(BaseModel): - """ - Integer number with flags - """ +class NodesModel(BaseModel): + count: Optional[int] = None + list: Optional[Hostlist] = None + range: Optional[str] = None - infinite: Optional[bool] = False - """ - True if number has been set to infinite. "set" and "number" will be ignored. - """ - number: Optional[int] = None - """ - If set is True the number will be set with value. Otherwise ignore number contents. - """ - set: Optional[bool] = False - """ - True if number has been set. False if number is unset - """ + +class NodesModel1(BaseModel): + __root__: List[Node] -class Uint32NoVal(BaseModel): +class OpenModeEnum(Enum): + APPEND = "APPEND" + TRUNCATE = "TRUNCATE" + + +class OpenapiAccountsAddCondResp(BaseModel): + account: Optional[AccountShort] = None + """ + Account organization and description + """ + association_condition: Optional[AccountsAddCond] = None """ - Integer number with flags + CSV list of accounts, association limits and options, CSV list of clusters """ - - infinite: Optional[bool] = False + errors: Optional[OpenapiErrors] = None """ - True if number has been set to infinite. "set" and "number" will be ignored. + Query errors """ - number: Optional[int] = None + meta: Optional[OpenapiMeta] = None """ - If set is True the number will be set with value. Otherwise ignore number contents. + Slurm meta values """ - set: Optional[bool] = False + warnings: Optional[OpenapiWarnings] = None """ - True if number has been set. False if number is unset + Query warnings """ -class Uint64NoVal(BaseModel): +class OpenapiAccountsAddCondRespStr(BaseModel): + added_accounts: str """ - Integer number with flags + added_accounts """ - - infinite: Optional[bool] = False + errors: Optional[OpenapiErrors] = None """ - True if number has been set to infinite. "set" and "number" will be ignored. + Query errors """ - number: Optional[int] = None + meta: Optional[OpenapiMeta] = None """ - If set is True the number will be set with value. Otherwise ignore number contents. + Slurm meta values """ - set: Optional[bool] = False + warnings: Optional[OpenapiWarnings] = None """ - True if number has been set. False if number is unset + Query warnings """ -class StateEnum3(Enum): - INVALID = "INVALID" - UNKNOWN = "UNKNOWN" - DOWN = "DOWN" - IDLE = "IDLE" - ALLOCATED = "ALLOCATED" - ERROR = "ERROR" - MIXED = "MIXED" - FUTURE = "FUTURE" - PERFCTRS = "PERFCTRS" - RESERVED = "RESERVED" - UNDRAIN = "UNDRAIN" - CLOUD = "CLOUD" - RESUME = "RESUME" - DRAIN = "DRAIN" - COMPLETING = "COMPLETING" - NOT_RESPONDING = "NOT_RESPONDING" - POWERED_DOWN = "POWERED_DOWN" - FAIL = "FAIL" - POWERING_UP = "POWERING_UP" - MAINTENANCE = "MAINTENANCE" - REBOOT_REQUESTED = "REBOOT_REQUESTED" - REBOOT_CANCELED = "REBOOT_CANCELED" - POWERING_DOWN = "POWERING_DOWN" - DYNAMIC_FUTURE = "DYNAMIC_FUTURE" - REBOOT_ISSUED = "REBOOT_ISSUED" - PLANNED = "PLANNED" - INVALID_REG = "INVALID_REG" - POWER_DOWN = "POWER_DOWN" - POWER_UP = "POWER_UP" - POWER_DRAIN = "POWER_DRAIN" - DYNAMIC_NORM = "DYNAMIC_NORM" - - -class UpdateNodeMsg(BaseModel): - address: Optional[HostListString] = None - """ - communication name - """ - comment: Optional[str] = None - """ - arbitrary comment - """ - cpu_bind: Optional[int] = None +class OpenapiAccountsRemovedResp(BaseModel): + errors: Optional[OpenapiErrors] = None """ - default CPU binding type + Query errors """ - extra: Optional[str] = None + meta: Optional[OpenapiMeta] = None """ - arbitrary string + Slurm meta values """ - features: Optional[CsvString] = None + removed_accounts: StringList """ - new available feature for node + removed_accounts """ - features_act: Optional[CsvString] = None + warnings: Optional[OpenapiWarnings] = None """ - new active feature for node + Query warnings """ - gres: Optional[str] = None + + +class OpenapiAccountsResp(BaseModel): + accounts: AccountList """ - new generic resources for node + accounts """ - hostname: Optional[HostListString] = None + errors: Optional[OpenapiErrors] = None """ - node's hostname + Query errors """ - name: Optional[HostListString] = None + meta: Optional[OpenapiMeta] = None """ - node to update + Slurm meta values """ - reason: Optional[str] = None + warnings: Optional[OpenapiWarnings] = None """ - reason for node being DOWN or DRAINING + Query warnings """ - reason_uid: Optional[str] = None + + +class OpenapiAssocsRemovedResp(BaseModel): + errors: Optional[OpenapiErrors] = None """ - user ID of sending (needed if user root is sending message) + Query errors """ - resume_after: Optional[Uint32NoVal] = None + meta: Optional[OpenapiMeta] = None """ - automatically resume DOWN or DRAINED node after this amount of seconds + Slurm meta values """ - state: Optional[List[StateEnum3]] = None + removed_associations: StringList """ - assign new node state + removed_associations """ - weight: Optional[Uint32NoVal] = None + warnings: Optional[OpenapiWarnings] = None """ - new weight for node + Query warnings """ -class AdministratorLevelEnum(Enum): - Not_Set = "Not Set" - None_ = "None" - Operator = "Operator" - Administrator = "Administrator" - - -class Default1(BaseModel): - account: Optional[str] = None - wckey: Optional[str] = None - - -class Flag11(Enum): - NONE = "NONE" - DELETED = "DELETED" - - -class AdminlevelEnum(Enum): - Not_Set = "Not Set" - None_ = "None" - Operator = "Operator" - Administrator = "Administrator" - - -class UserShort(BaseModel): - adminlevel: Optional[List[AdminlevelEnum]] = None - """ - Admin level of user. Valid levels are None, Operator, and Admin. - """ - defaultaccount: Optional[str] = None - """ - Identify the default bank account name to be used for a job if none is specified at submission time. - """ - defaultwckey: Optional[str] = None +class OpenapiAssocsResp(BaseModel): + associations: AssocList """ - Identify the default Workload Characterization Key. + associations """ - - -class Flag12(Enum): - DELETED = "DELETED" - - -class Flag13(Enum): - ASSIGNED_DEFAULT = "ASSIGNED_DEFAULT" - - -class WckeyTagStruct(BaseModel): - flags: List[Flag13] + errors: Optional[OpenapiErrors] = None """ - Active flags + Query errors """ - wckey: str + meta: Optional[OpenapiMeta] = None """ - WCKey name + Slurm meta values + """ + warnings: Optional[OpenapiWarnings] = None + """ + Query warnings """ -class Account(BaseModel): - associations: Optional[AssocShortList] = None - coordinators: Optional[CoordList] = None - description: str - flags: Optional[List[Flag]] = None - name: str - organization: str - - -class AccountList(BaseModel): - __root__: List[Account] - - -class Accounting(BaseModel): - TRES: Optional[Tres] = None - allocated: Optional[Allocated] = None - id: Optional[int] = None - start: Optional[int] = None - - -class AccountingList(BaseModel): - __root__: List[Accounting] - - -class AcctGatherEnergy(BaseModel): - average_watts: Optional[int] = None - base_consumed_energy: Optional[int] = None - consumed_energy: Optional[int] = None - current_watts: Optional[Uint32NoVal] = None - last_collected: Optional[int] = None - previous_consumed_energy: Optional[int] = None - - -class Per(BaseModel): - accruing: Optional[Uint32NoVal] = None - count: Optional[Uint32NoVal] = None - submitted: Optional[Uint32NoVal] = None - wall_clock: Optional[Uint32NoVal] = None - - -class Jobs(BaseModel): - accruing: Optional[Uint32NoVal] = None - active: Optional[Uint32NoVal] = None - per: Optional[Per] = None - total: Optional[Uint32NoVal] = None - - -class Account1(BaseModel): - wall_clock: Optional[Uint32NoVal] = None - - -class Per1(BaseModel): - account: Optional[Account1] = None - - -class Group(BaseModel): - active: Optional[TresList] = None - minutes: Optional[TresList] = None - - -class Per2(BaseModel): - job: Optional[TresList] = None - - -class Minutes(BaseModel): - per: Optional[Per2] = None - total: Optional[TresList] = None - - -class Per3(BaseModel): - job: Optional[TresList] = None - node: Optional[TresList] = None - - -class Tres1(BaseModel): - group: Optional[Group] = None - minutes: Optional[Minutes] = None - per: Optional[Per3] = None - total: Optional[TresList] = None - - -class Max(BaseModel): - jobs: Optional[Jobs] = None - per: Optional[Per1] = None - tres: Optional[Tres1] = None - - -class Min(BaseModel): - priority_threshold: Optional[Uint32NoVal] = None - - -class Assoc(BaseModel): - account: Optional[str] = None - accounting: Optional[AccountingList] = None +class OpenapiClustersRemovedResp(BaseModel): + deleted_clusters: StringList """ - Usage accounting + deleted_clusters """ - cluster: Optional[str] = None - comment: Optional[str] = None + errors: Optional[OpenapiErrors] = None """ - comment for the association + Query errors """ - default: Optional[Default] = None - flags: Optional[List[Flag]] = None - id: Optional[AssocShort] = None + meta: Optional[OpenapiMeta] = None """ - Association ID + Slurm meta values """ - is_default: Optional[bool] = None - lineage: Optional[str] = None + warnings: Optional[OpenapiWarnings] = None """ - Complete path up the hierarchy to the root association + Query warnings """ - max: Optional[Max] = None - min: Optional[Min] = None - parent_account: Optional[str] = None - partition: Optional[str] = None - priority: Optional[Uint32NoVal] = None - qos: Optional[QosStringIdList] = None + + +class OpenapiClustersResp(BaseModel): + clusters: ClusterRecList """ - List of QOS names + clusters + """ + errors: Optional[OpenapiErrors] = None + """ + Query errors + """ + meta: Optional[OpenapiMeta] = None + """ + Slurm meta values + """ + warnings: Optional[OpenapiWarnings] = None + """ + Query warnings """ - shares_raw: Optional[int] = None - user: str -class AssocList(BaseModel): - __root__: List[Assoc] +class OpenapiDiagResp(BaseModel): + errors: Optional[OpenapiErrors] = None + """ + Query errors + """ + meta: Optional[OpenapiMeta] = None + """ + Slurm meta values + """ + statistics: StatsMsg + """ + statistics + """ + warnings: Optional[OpenapiWarnings] = None + """ + Query warnings + """ -class AssocRecSet(BaseModel): - comment: Optional[str] = None +class OpenapiError(BaseModel): + description: Optional[str] = None """ - Comment for the association + Long form error description """ - defaultqos: Optional[str] = None + error: Optional[str] = None """ - Which QOS id is this association default + Short form error description """ - fairshare: Optional[int] = None + error_number: Optional[int] = None """ - Number of shares allocated to this association + Slurm numeric error identifier """ - grpjobs: Optional[Uint32NoVal] = None + source: Optional[str] = None """ - Max number of jobs the underlying group of associations can run at one time + Source of error or where error was first detected """ - grpjobsaccrue: Optional[Uint32NoVal] = None + + +class OpenapiErrors(BaseModel): + __root__: List[OpenapiError] + + +class OpenapiInstancesResp(BaseModel): + errors: Optional[OpenapiErrors] = None """ - Max number of jobs the underlying group of associations can have accruing priority at one time + Query errors """ - grpsubmitjobs: Optional[Uint32NoVal] = None + instances: InstanceList """ - Max number of jobs the underlying group of associations can submit at one time + instances """ - grptres: Optional[TresList] = None - grptresmins: Optional[TresList] = None + meta: Optional[OpenapiMeta] = None """ - Max number of cpu minutes the underlying group of associations can run for + Slurm meta values """ - grptresrunmins: Optional[TresList] = None + warnings: Optional[OpenapiWarnings] = None """ - Max number of cpu minutes the underlying group of associations can having running at one time + Query warnings """ - grpwall: Optional[Uint32NoVal] = None + + +class OpenapiJobInfoResp(BaseModel): + errors: Optional[OpenapiErrors] = None """ - Total time in minutes the underlying group of associations can run for + Query errors """ - maxjobs: Optional[Uint32NoVal] = None + jobs: JobInfoMsg """ - Max number of jobs this association can run at one time + list of jobs """ - maxjobsaccrue: Optional[Uint32NoVal] = None + last_backfill: Uint64NoVal """ - Max number of jobs this association can have accruing priority time + time of last backfill scheduler run (UNIX timestamp) """ - maxsubmitjobs: Optional[Uint32NoVal] = None + last_update: Uint64NoVal """ - Max number of jobs that can be submitted by association + time of last job change (UNIX timestamp) """ - maxtresminsperjob: Optional[TresList] = None + meta: Optional[OpenapiMeta] = None """ - Max number of cpu minutes this association can have per job + Slurm meta values """ - maxtresperjob: Optional[TresList] = None + warnings: Optional[OpenapiWarnings] = None """ - Max number of cpus this association can allocate per job + Query warnings """ - maxtrespernode: Optional[TresList] = None + + +class OpenapiJobPostResponse(BaseModel): + errors: Optional[OpenapiErrors] = None """ - Max number of TRES this association can allocate per node + Query errors """ - maxtresrunmins: Optional[TresList] = None + job_id: Optional[str] = None """ - Max number of cpu minutes this association can having running at one time + First updated JobId - Use results instead """ - maxwalldurationperjob: Optional[Uint32NoVal] = None + job_submit_user_msg: Optional[str] = None """ - Longest time this association can run a job + First updated Job submision user message - Use results instead """ - minpriothresh: Optional[Uint32NoVal] = None + meta: Optional[OpenapiMeta] = None """ - Don't reserve resources for pending jobs unless they have a priority equal to or higher than this + Slurm meta values """ - parent: Optional[str] = None + results: Optional[JobArrayResponseArray] = None """ - Name of parent account + Job update results """ - priority: Optional[Uint32NoVal] = None + step_id: Optional[str] = None """ - Association priority + First updated StepID - Use results instead """ - qoslevel: Optional[QosStringIdList] = None + warnings: Optional[OpenapiWarnings] = None """ - List of QOS names + Query warnings """ -class ClusterRec(BaseModel): - associations: Optional[Associations] = None - controller: Optional[Controller] = None - flags: Optional[List[Flag2]] = None - name: Optional[str] = None - nodes: Optional[str] = None - rpc_version: Optional[int] = None - select_plugin: Optional[str] = None - tres: Optional[TresList] = None - - -class ClusterRecList(BaseModel): - __root__: List[ClusterRec] - - -class ExtSensorsData(BaseModel): - consumed_energy: Optional[Uint64NoVal] = None - current_watts: Optional[int] = None - energy_update_time: Optional[int] = None - temperature: Optional[Uint32NoVal] = None - - -class Array(BaseModel): - job_id: Optional[int] = None - limits: Optional[Limits] = None - task: Optional[str] = None - task_id: Optional[Uint32NoVal] = None - - -class Het(BaseModel): +class OpenapiJobSubmitResponse(BaseModel): + errors: Optional[OpenapiErrors] = None + """ + Query errors + """ job_id: Optional[int] = None - job_offset: Optional[Uint32NoVal] = None - - -class Required(BaseModel): - CPUs: Optional[int] = None - memory_per_cpu: Optional[Uint64NoVal] = None - memory_per_node: Optional[Uint64NoVal] = None - - -class Time1(BaseModel): - elapsed: Optional[int] = None - eligible: Optional[int] = None - end: Optional[int] = None - limit: Optional[Uint32NoVal] = None - start: Optional[int] = None - submission: Optional[int] = None - suspended: Optional[int] = None - system: Optional[System] = None - total: Optional[Total] = None - user: Optional[User] = None + """ + submited JobId + """ + job_submit_user_msg: Optional[str] = None + """ + job submision user message + """ + meta: Optional[OpenapiMeta] = None + """ + Slurm meta values + """ + result: Optional[JobSubmitResponseMsg] = None + """ + Job submission + """ + step_id: Optional[str] = None + """ + submited StepID + """ + warnings: Optional[OpenapiWarnings] = None + """ + Query warnings + """ -class Tres3(BaseModel): - allocated: Optional[TresList] = None - requested: Optional[TresList] = None +class OpenapiLicensesResp(BaseModel): + errors: Optional[OpenapiErrors] = None + """ + Query errors + """ + last_update: Uint64NoVal + """ + time of last licenses change (UNIX timestamp) + """ + licenses: Licenses + """ + list of licenses + """ + meta: Optional[OpenapiMeta] = None + """ + Slurm meta values + """ + warnings: Optional[OpenapiWarnings] = None + """ + Query warnings + """ -class JobArrayResponseArray(BaseModel): - __root__: List[JobArrayResponseMsgEntry] +class OpenapiMeta(BaseModel): + client: Optional[Client] = None + command: Optional[StringArray] = None + """ + CLI command (if applicable) + """ + plugin: Optional[Plugin] = None + slurm: Optional[Slurm] = None -class Rlimits(BaseModel): - as_: Optional[Uint64NoVal] = Field(None, alias="as") +class OpenapiNodesResp(BaseModel): + errors: Optional[OpenapiErrors] = None """ - Address space limit. + Query errors """ - core: Optional[Uint64NoVal] = None + last_update: Uint64NoVal """ - Largest core file that can be created, in bytes. + time of last node change (UNIX timestamp) """ - cpu: Optional[Uint64NoVal] = None + meta: Optional[OpenapiMeta] = None """ - Per-process CPU limit, in seconds. + Slurm meta values """ - data: Optional[Uint64NoVal] = None + nodes: NodesModel1 """ - Maximum size of data segment, in bytes. + list of nodes """ - fsize: Optional[Uint64NoVal] = None + warnings: Optional[OpenapiWarnings] = None """ - Largest file that can be created, in bytes. + Query warnings """ - memlock: Optional[Uint64NoVal] = None + + +class OpenapiPartitionResp(BaseModel): + errors: Optional[OpenapiErrors] = None """ - Locked-in-memory address space + Query errors """ - nofile: Optional[Uint64NoVal] = None + last_update: Uint64NoVal """ - Number of open files. + time of last partition change (UNIX timestamp) """ - nproc: Optional[Uint64NoVal] = None + meta: Optional[OpenapiMeta] = None """ - Number of processes. + Slurm meta values """ - rss: Optional[Uint64NoVal] = None + partitions: PartitionInfoMsg """ - Largest resident set size, in bytes. This affects swapping; processes that are exceeding their resident set size will be more likely to have physical memory taken from them. + list of partitions """ - stack: Optional[Uint64NoVal] = None + warnings: Optional[OpenapiWarnings] = None """ - Maximum size of stack segment, in bytes. + Query warnings """ -class JobDescMsg(BaseModel): - account: Optional[str] = None - account_gather_frequency: Optional[str] = None - admin_comment: Optional[str] = None - allocation_node_List: Optional[str] = None - allocation_node_port: Optional[int] = None - argv: Optional[StringArray] = None - array: Optional[str] = None - batch_features: Optional[str] = None - begin_time: Optional[Uint64NoVal] = None - burst_buffer: Optional[str] = None - cluster_constraint: Optional[str] = None - clusters: Optional[str] = None - comment: Optional[str] = None - constraints: Optional[str] = None - container: Optional[str] = None - container_id: Optional[str] = None - contiguous: Optional[bool] = None - core_specification: Optional[int] = None - cpu_binding: Optional[str] = None - cpu_binding_flags: Optional[List[CpuBindingFlag]] = None - cpu_frequency: Optional[str] = None - cpus_per_task: Optional[int] = None - cpus_per_tres: Optional[str] = None - crontab: Optional[CronEntry] = None - current_working_directory: Optional[str] = None - deadline: Optional[int] = None - delay_boot: Optional[int] = None - dependency: Optional[str] = None - distribution: Optional[str] = None - distribution_plane_size: Optional[int] = None - end_time: Optional[int] = None - environment: Optional[StringArray] = None - excluded_nodes: Optional[CsvString] = None - exclusive: Optional[List[ExclusiveEnum]] = None - extra: Optional[str] = None - flags: Optional[List[Flag5]] = None - group_id: Optional[str] = None - hetjob_group: Optional[int] = None - immediate: Optional[bool] = None - job_id: Optional[int] = None - kill_on_node_fail: Optional[bool] = None - kill_warning_delay: Optional[Uint16NoVal] = None - kill_warning_flags: Optional[List[KillWarningFlag]] = None - kill_warning_signal: Optional[str] = None - licenses: Optional[str] = None - mail_type: Optional[List[MailTypeEnum]] = None - mail_user: Optional[str] = None - maximum_cpus: Optional[int] = None - maximum_nodes: Optional[int] = None - mcs_label: Optional[str] = None - memory_binding: Optional[str] = None - memory_binding_type: Optional[List[MemoryBindingTypeEnum]] = None - memory_per_cpu: Optional[Uint64NoVal] = None - memory_per_node: Optional[Uint64NoVal] = None - memory_per_tres: Optional[str] = None - minimum_boards_per_node: Optional[int] = None - minimum_cpus: Optional[int] = None - minimum_cpus_per_node: Optional[int] = None - minimum_nodes: Optional[int] = None - minimum_sockets_per_board: Optional[int] = None - name: Optional[str] = None - network: Optional[str] = None - nice: Optional[int] = None - nodes: Optional[str] = None - ntasks_per_tres: Optional[int] = None - open_mode: Optional[List[OpenModeEnum]] = None - overcommit: Optional[bool] = None - oversubscribe: Optional[bool] = None - partition: Optional[str] = None - power_flags: Optional[List[PowerFlag]] = None - prefer: Optional[str] = None - priority: Optional[Uint32NoVal] = None - profile: Optional[List[ProfileEnum]] = None - qos: Optional[str] = None - reboot: Optional[bool] = None - requeue: Optional[bool] = None - required_nodes: Optional[CsvString] = None - required_switches: Optional[Uint32NoVal] = None - reservation: Optional[str] = None - reserve_ports: Optional[int] = None - rlimits: Optional[Rlimits] = None - script: Optional[str] = None - selinux_context: Optional[str] = None - shared: Optional[List[SharedEnum]] = None - site_factor: Optional[int] = None - sockets_per_node: Optional[int] = None - spank_environment: Optional[StringArray] = None - standard_error: Optional[str] = None - standard_input: Optional[str] = None - standard_output: Optional[str] = None - tasks: Optional[int] = None - tasks_per_board: Optional[int] = None - tasks_per_core: Optional[int] = None - tasks_per_node: Optional[int] = None - tasks_per_socket: Optional[int] = None - temporary_disk_per_node: Optional[int] = None - thread_specification: Optional[int] = None - threads_per_core: Optional[int] = None - time_limit: Optional[Uint32NoVal] = None - time_minimum: Optional[Uint32NoVal] = None - tres_bind: Optional[str] = None - tres_freq: Optional[str] = None - tres_per_job: Optional[str] = None - tres_per_node: Optional[str] = None - tres_per_socket: Optional[str] = None - tres_per_task: Optional[str] = None - user_id: Optional[str] = None - wait_all_nodes: Optional[bool] = None - wait_for_switch: Optional[int] = None - wckey: Optional[str] = None - x11: Optional[List[X11Enum]] = None - x11_magic_cookie: Optional[str] = None - x11_target_host: Optional[str] = None - x11_target_port: Optional[int] = None +class OpenapiPingArrayResp(BaseModel): + errors: Optional[OpenapiErrors] = None + """ + Query errors + """ + meta: Optional[OpenapiMeta] = None + """ + Slurm meta values + """ + pings: ControllerPingArray + """ + pings + """ + warnings: Optional[OpenapiWarnings] = None + """ + Query warnings + """ -class JobDescMsgList(BaseModel): - __root__: List[JobDescMsg] +class OpenapiReservationResp(BaseModel): + errors: Optional[OpenapiErrors] = None + """ + Query errors + """ + last_update: Uint64NoVal + """ + time of last reservation change (UNIX timestamp) + """ + meta: Optional[OpenapiMeta] = None + """ + Slurm meta values + """ + reservations: ReservationInfoMsg + """ + list of reservations + """ + warnings: Optional[OpenapiWarnings] = None + """ + Query warnings + """ -class JobRes(BaseModel): - allocated_cores: Optional[int] = None - allocated_cpus: Optional[int] = None - allocated_hosts: Optional[int] = None - allocated_nodes: Optional[JobResNodes] = None - nodes: Optional[str] = None +class OpenapiResp(BaseModel): + errors: Optional[OpenapiErrors] = None + """ + Query errors + """ + meta: Optional[OpenapiMeta] = None + """ + Slurm meta values + """ + warnings: Optional[OpenapiWarnings] = None + """ + Query warnings + """ -class JobSubmitReq(BaseModel): - job: Optional[JobDescMsg] = None +class OpenapiSharesResp(BaseModel): + errors: Optional[OpenapiErrors] = None + """ + Query errors + """ + meta: Optional[OpenapiMeta] = None + """ + Slurm meta values + """ + shares: SharesRespMsg + """ + fairshare info + """ + warnings: Optional[OpenapiWarnings] = None + """ + Query warnings + """ + + +class OpenapiSlurmdbdConfigResp(BaseModel): + accounts: Optional[AccountList] = None """ - Job description + accounts """ - jobs: Optional[JobDescMsgList] = None + associations: Optional[AssocList] = None """ - HetJob description + associations """ - script: Optional[str] = None + clusters: Optional[ClusterRecList] = None """ - batch job script + clusters + """ + errors: Optional[OpenapiErrors] = None + """ + Query errors + """ + instances: Optional[InstanceList] = None + """ + instances + """ + meta: Optional[OpenapiMeta] = None + """ + Slurm meta values + """ + qos: Optional[QosList] = None + """ + qos + """ + tres: Optional[TresList] = None + """ + tres + """ + users: Optional[UserList] = None + """ + users + """ + warnings: Optional[OpenapiWarnings] = None + """ + Query warnings + """ + wckeys: Optional[WckeyList] = None + """ + wckeys """ -class OpenapiMeta(BaseModel): - client: Optional[Client] = None - command: Optional[StringArray] = None +class OpenapiSlurmdbdJobsResp(BaseModel): + errors: Optional[OpenapiErrors] = None """ - CLI command (if applicable) + Query errors + """ + jobs: JobList + """ + jobs + """ + meta: Optional[OpenapiMeta] = None + """ + Slurm meta values + """ + warnings: Optional[OpenapiWarnings] = None + """ + Query warnings """ - plugin: Optional[Plugin] = None - slurm: Optional[Slurm] = None -class OpenapiPingArrayResp(BaseModel): +class OpenapiSlurmdbdQosRemovedResp(BaseModel): errors: Optional[OpenapiErrors] = None """ Query errors @@ -1795,9 +1939,9 @@ class OpenapiPingArrayResp(BaseModel): """ Slurm meta values """ - pings: ControllerPingArray + removed_qos: StringList """ - pings + removed QOS """ warnings: Optional[OpenapiWarnings] = None """ @@ -1805,7 +1949,7 @@ class OpenapiPingArrayResp(BaseModel): """ -class OpenapiResp(BaseModel): +class OpenapiSlurmdbdQosResp(BaseModel): errors: Optional[OpenapiErrors] = None """ Query errors @@ -1814,13 +1958,17 @@ class OpenapiResp(BaseModel): """ Slurm meta values """ + qos: QosList + """ + List of QOS + """ warnings: Optional[OpenapiWarnings] = None """ Query warnings """ -class OpenapiSlurmdbdQosRemovedResp(BaseModel): +class OpenapiSlurmdbdStatsResp(BaseModel): errors: Optional[OpenapiErrors] = None """ Query errors @@ -1829,9 +1977,9 @@ class OpenapiSlurmdbdQosRemovedResp(BaseModel): """ Slurm meta values """ - removed_qos: StringList + statistics: StatsRec """ - removed QOS + statistics """ warnings: Optional[OpenapiWarnings] = None """ @@ -1858,6 +2006,29 @@ class OpenapiTresResp(BaseModel): """ +class OpenapiUsersAddCondResp(BaseModel): + association_condition: Optional[UsersAddCond] = None + """ + Filters to select associations for users + """ + errors: Optional[OpenapiErrors] = None + """ + Query errors + """ + meta: Optional[OpenapiMeta] = None + """ + Slurm meta values + """ + user: Optional[UserShort] = None + """ + Admin level of user, DefaultAccount, DefaultWCKey + """ + warnings: Optional[OpenapiWarnings] = None + """ + Query warnings + """ + + class OpenapiUsersAddCondRespStr(BaseModel): added_users: str """ @@ -1877,6 +2048,40 @@ class OpenapiUsersAddCondRespStr(BaseModel): """ +class OpenapiUsersResp(BaseModel): + errors: Optional[OpenapiErrors] = None + """ + Query errors + """ + meta: Optional[OpenapiMeta] = None + """ + Slurm meta values + """ + users: UserList + """ + users + """ + warnings: Optional[OpenapiWarnings] = None + """ + Query warnings + """ + + +class OpenapiWarning(BaseModel): + description: Optional[str] = None + """ + Long form warning description + """ + source: Optional[str] = None + """ + Source of warning or where warning was first detected + """ + + +class OpenapiWarnings(BaseModel): + __root__: List[OpenapiWarning] + + class OpenapiWckeyRemovedResp(BaseModel): deleted_wckeys: StringList """ @@ -1896,30 +2101,32 @@ class OpenapiWckeyRemovedResp(BaseModel): """ -class Defaults(BaseModel): - job: Optional[str] = None - memory_per_cpu: Optional[int] = None - partition_memory_per_cpu: Optional[Uint64NoVal] = None - partition_memory_per_node: Optional[Uint64NoVal] = None - time: Optional[Uint32NoVal] = None +class OpenapiWckeyResp(BaseModel): + errors: Optional[OpenapiErrors] = None + """ + Query errors + """ + meta: Optional[OpenapiMeta] = None + """ + Slurm meta values + """ + warnings: Optional[OpenapiWarnings] = None + """ + Query warnings + """ + wckeys: WckeyList + """ + wckeys + """ -class Maximums(BaseModel): - cpus_per_node: Optional[Uint32NoVal] = None - cpus_per_socket: Optional[Uint32NoVal] = None - memory_per_cpu: Optional[int] = None - nodes: Optional[Uint32NoVal] = None - over_time_limit: Optional[Uint16NoVal] = None - oversubscribe: Optional[Oversubscribe] = None - partition_memory_per_cpu: Optional[Uint64NoVal] = None - partition_memory_per_node: Optional[Uint64NoVal] = None - shares: Optional[int] = None - time: Optional[Uint32NoVal] = None +class Oversubscribe(BaseModel): + flags: Optional[List[FlagModel5]] = None + jobs: Optional[int] = None -class Timeouts(BaseModel): - resume: Optional[Uint16NoVal] = None - suspend: Optional[Uint16NoVal] = None +class Partition(BaseModel): + state: Optional[List[StateEnumModel]] = None class PartitionInfo(BaseModel): @@ -1934,19 +2141,94 @@ class PartitionInfo(BaseModel): minimums: Optional[Minimums] = None name: Optional[str] = None node_sets: Optional[str] = None - nodes: Optional[Nodes1] = None + nodes: Optional[Nodes] = None partition: Optional[Partition] = None priority: Optional[Priority] = None qos: Optional[Qos] = None suspend_time: Optional[Uint32NoVal] = None timeouts: Optional[Timeouts] = None - tres: Optional[Tres4] = None + tres: Optional[Tres] = None class PartitionInfoMsg(BaseModel): __root__: List[PartitionInfo] +class Per(BaseModel): + accruing: Optional[Uint32NoVal] = None + count: Optional[Uint32NoVal] = None + submitted: Optional[Uint32NoVal] = None + wall_clock: Optional[Uint32NoVal] = None + + +class PerModel(BaseModel): + account: Optional[AccountModel] = None + + +class PerModel1(BaseModel): + job: Optional[TresList] = None + + +class PerModel2(BaseModel): + job: Optional[TresList] = None + node: Optional[TresList] = None + + +class PerModel3(BaseModel): + account: Optional[Uint32NoVal] = None + user: Optional[Uint32NoVal] = None + + +class PerModel4(BaseModel): + account: Optional[TresList] = None + job: Optional[TresList] = None + qos: Optional[TresList] = None + user: Optional[TresList] = None + + +class PerModel5(BaseModel): + account: Optional[TresList] = None + job: Optional[TresList] = None + node: Optional[TresList] = None + user: Optional[TresList] = None + + +class PerModel6(BaseModel): + job: Optional[Uint32NoVal] = None + qos: Optional[Uint32NoVal] = None + + +class PerModel7(BaseModel): + job: Optional[TresList] = None + + +class Plugin(BaseModel): + accounting_storage: Optional[str] = None + """ + Slurm accounting plugin + """ + data_parser: Optional[str] = None + """ + Slurm data_parser plugin + """ + name: Optional[str] = None + """ + Slurm plugin name (if applicable) + """ + type: Optional[str] = None + """ + Slurm plugin type (if applicable) + """ + + +class Power(BaseModel): + flags: Optional[List[FlagModel4]] = None + + +class PowerFlag(Enum): + EQUAL_POWER = "EQUAL_POWER" + + class PowerMgmtData(BaseModel): current_watts: Optional[int] = None lowest_watts: Optional[int] = None @@ -1959,15 +2241,15 @@ class PowerMgmtData(BaseModel): total_energy: Optional[int] = None -class Signal(BaseModel): - id: Optional[Uint16NoVal] = None - """ - Signal sent to process (numeric) - """ - name: Optional[str] = None - """ - Signal sent to process - """ +class Preempt(BaseModel): + exempt_time: Optional[Uint32NoVal] = None + list: Optional[QosPreemptList] = None + mode: Optional[List[ModeEnum]] = None + + +class Priority(BaseModel): + job_factor: Optional[int] = None + tier: Optional[int] = None class ProcessExitCodeVerbose(BaseModel): @@ -1982,114 +2264,82 @@ class ProcessExitCodeVerbose(BaseModel): """ -class Per4(BaseModel): - account: Optional[Uint32NoVal] = None - user: Optional[Uint32NoVal] = None - +class ProfileEnum(Enum): + NOT_SET = "NOT_SET" + NONE = "NONE" + ENERGY = "ENERGY" + LUSTRE = "LUSTRE" + NETWORK = "NETWORK" + TASK = "TASK" -class Accruing(BaseModel): - per: Optional[Per4] = None +class PurgeCompleted(BaseModel): + time: Optional[Uint32NoVal] = None -class ActiveJobs(BaseModel): - accruing: Optional[Uint32NoVal] = None - count: Optional[Uint32NoVal] = None +class Qos(BaseModel): + allowed: Optional[str] = None + assigned: Optional[str] = None + deny: Optional[str] = None -class ActiveJobs1(BaseModel): - per: Optional[Per4] = None +class QosList(BaseModel): + __root__: List[QosModel] -class Jobs1(BaseModel): - active_jobs: Optional[ActiveJobs1] = None - per: Optional[Per4] = None +class QosModel(BaseModel): + description: Optional[str] = None + flags: Optional[List[FlagModel6]] = None + id: Optional[int] = None + limits: Optional[LimitsModel] = None + name: Optional[str] = None + preempt: Optional[Preempt] = None + priority: Optional[Uint32NoVal] = None + usage_factor: Optional[Float64NoVal] = None + usage_threshold: Optional[Float64NoVal] = None -class Per7(BaseModel): - account: Optional[TresList] = None - job: Optional[TresList] = None - qos: Optional[TresList] = None - user: Optional[TresList] = None +class QosPreemptList(BaseModel): + __root__: List[str] -class Minutes1(BaseModel): - per: Optional[Per7] = None +class QosStringIdList(BaseModel): + """ + List of QOS names + """ -class Per8(BaseModel): - account: Optional[TresList] = None - job: Optional[TresList] = None - node: Optional[TresList] = None - user: Optional[TresList] = None + __root__: List[str] + """ + List of QOS names + """ -class Tres5(BaseModel): - minutes: Optional[Minutes1] = None - per: Optional[Per8] = None +class Requested(BaseModel): + average: Optional[TresList] = None + max: Optional[StepTresReqMax] = None + min: Optional[StepTresReqMin] = None total: Optional[TresList] = None -class Per9(BaseModel): - job: Optional[Uint32NoVal] = None - qos: Optional[Uint32NoVal] = None - - -class WallClock(BaseModel): - per: Optional[Per9] = None - - -class Max2(BaseModel): - accruing: Optional[Accruing] = None - active_jobs: Optional[ActiveJobs] = None - jobs: Optional[Jobs1] = None - tres: Optional[Tres5] = None - wall_clock: Optional[WallClock] = None - - -class Per10(BaseModel): - job: Optional[TresList] = None - - -class Tres6(BaseModel): - per: Optional[Per10] = None - - -class Min1(BaseModel): - priority_threshold: Optional[Uint32NoVal] = None - tres: Optional[Tres6] = None - - -class Limits1(BaseModel): - factor: Optional[Float64NoVal] = None - grace_time: Optional[int] = None - max: Optional[Max2] = None - min: Optional[Min1] = None +class RequestedFrequency(BaseModel): + max: Optional[Uint32NoVal] = None + min: Optional[Uint32NoVal] = None -class Preempt(BaseModel): - exempt_time: Optional[Uint32NoVal] = None - List: Optional[QosPreemptList] = None - mode: Optional[List[ModeEnum]] = None +class Required(BaseModel): + CPUs: Optional[int] = None + memory_per_cpu: Optional[Uint64NoVal] = None + memory_per_node: Optional[Uint64NoVal] = None -class Qos1(BaseModel): - description: Optional[str] = None - flags: Optional[List[Flag9]] = None +class Reservation(BaseModel): id: Optional[int] = None - limits: Optional[Limits1] = None name: Optional[str] = None - preempt: Optional[Preempt] = None - priority: Optional[Uint32NoVal] = None - usage_factor: Optional[Float64NoVal] = None - usage_threshold: Optional[Float64NoVal] = None - - -class QosList(BaseModel): - __root__: List[Qos1] -class PurgeCompleted(BaseModel): - time: Optional[Uint32NoVal] = None +class ReservationCoreSpec(BaseModel): + core: Optional[str] = None + node: Optional[str] = None class ReservationInfo(BaseModel): @@ -2099,13 +2349,13 @@ class ReservationInfo(BaseModel): core_specializations: Optional[ReservationInfoCoreSpec] = None end_time: Optional[Uint64NoVal] = None features: Optional[str] = None - flags: Optional[List[Flag10]] = None + flags: Optional[List[FlagModel7]] = None groups: Optional[str] = None licenses: Optional[str] = None max_start_delay: Optional[int] = None name: Optional[str] = None node_count: Optional[int] = None - node_List: Optional[str] = None + node_list: Optional[str] = None partition: Optional[str] = None purge_completed: Optional[PurgeCompleted] = None start_time: Optional[Uint64NoVal] = None @@ -2114,1130 +2364,880 @@ class ReservationInfo(BaseModel): watts: Optional[Uint32NoVal] = None -class ReservationInfoMsg(BaseModel): - __root__: List[ReservationInfo] - - -class SharesUint64Tres(BaseModel): - name: Optional[str] = None - """ - TRES name - """ - value: Optional[Uint64NoVal] = None - """ - TRES value - """ - - -class SharesUint64TresList(BaseModel): - __root__: List[SharesUint64Tres] - - -class StatsMsg(BaseModel): - agent_count: Optional[int] = None - agent_queue_size: Optional[int] = None - agent_thread_count: Optional[int] = None - bf_active: Optional[bool] = None - bf_backfilled_het_jobs: Optional[int] = None - bf_backfilled_jobs: Optional[int] = None - bf_cycle_counter: Optional[int] = None - bf_cycle_last: Optional[int] = None - bf_cycle_mean: Optional[int] = None - bf_cycle_sum: Optional[int] = None - bf_depth_mean: Optional[int] = None - bf_depth_mean_try: Optional[int] = None - bf_depth_sum: Optional[int] = None - bf_depth_try_sum: Optional[int] = None - bf_exit: Optional[BfExitFields] = None - bf_last_backfilled_jobs: Optional[int] = None - bf_last_depth: Optional[int] = None - bf_last_depth_try: Optional[int] = None - bf_queue_len: Optional[int] = None - bf_queue_len_mean: Optional[int] = None - bf_queue_len_sum: Optional[int] = None - bf_table_size: Optional[int] = None - bf_table_size_mean: Optional[int] = None - bf_when_last_cycle: Optional[Uint64NoVal] = None - dbd_agent_queue_size: Optional[int] = None - gettimeofday_latency: Optional[int] = None - job_states_ts: Optional[Uint64NoVal] = None - jobs_canceled: Optional[int] = None - jobs_completed: Optional[int] = None - jobs_failed: Optional[int] = None - jobs_pending: Optional[int] = None - jobs_running: Optional[int] = None - jobs_started: Optional[int] = None - jobs_submitted: Optional[int] = None - parts_packed: Optional[int] = None - req_time: Optional[Uint64NoVal] = None - req_time_start: Optional[Uint64NoVal] = None - rpcs_by_message_type: Optional[StatsMsgRpcsByType] = None - rpcs_by_user: Optional[StatsMsgRpcsByUser] = None - schedule_cycle_last: Optional[int] = None - schedule_cycle_max: Optional[int] = None - schedule_cycle_mean: Optional[int] = None - schedule_cycle_mean_depth: Optional[int] = None - schedule_cycle_per_minute: Optional[int] = None - schedule_cycle_total: Optional[int] = None - schedule_exit: Optional[ScheduleExitFields] = None - schedule_queue_length: Optional[int] = None - server_thread_count: Optional[int] = None - - -class StatsRec(BaseModel): - RPCs: Optional[StatsRpcList] = None - rollups: Optional[RollupStats] = None - time_start: Optional[int] = None - users: Optional[StatsUserList] = None - - -class RequestedFrequency(BaseModel): - max: Optional[Uint32NoVal] = None - min: Optional[Uint32NoVal] = None - - -class CPU(BaseModel): - governor: Optional[str] = None - requested_frequency: Optional[RequestedFrequency] = None - - -class Energy(BaseModel): - consumed: Optional[Uint64NoVal] = None - - -class Statistics(BaseModel): - CPU: Optional[CPU1] = None - energy: Optional[Energy] = None - - -class Time4(BaseModel): - elapsed: Optional[int] = None - end: Optional[Uint64NoVal] = None - start: Optional[Uint64NoVal] = None - suspended: Optional[int] = None - system: Optional[System] = None - total: Optional[Total] = None - user: Optional[User] = None - - -class StepTresReqMax(BaseModel): - __root__: List[Tres] - - -class StepTresReqMin(BaseModel): - __root__: List[Tres] - - -class StepTresUsageMax(BaseModel): - __root__: List[Tres] - - -class StepTresUsageMin(BaseModel): - __root__: List[Tres] - - -class UsersAddCond(BaseModel): - accounts: Optional[StringList] = None - """ - CSV accounts List - """ - association: Optional[AssocRecSet] = None - """ - Association limits and options - """ - clusters: Optional[StringList] = None - """ - CSV clusters List - """ - partitions: Optional[StringList] = None - """ - CSV partitions List - """ - users: StringList - """ - CSV users List - """ - wckeys: Optional[StringList] = None - """ - CSV WCKeys List - """ - - -class Wckey(BaseModel): - accounting: Optional[AccountingList] = None - cluster: str - flags: Optional[List[Flag12]] = None - id: Optional[int] = None - name: str - user: str - +class ReservationInfoCoreSpec(BaseModel): + __root__: List[ReservationCoreSpec] -class WckeyList(BaseModel): - __root__: List[Wckey] +class ReservationInfoMsg(BaseModel): + __root__: List[ReservationInfo] -class AccountsAddCond(BaseModel): - accounts: StringList + +class Rlimits(BaseModel): + as_: Optional[Uint64NoVal] = Field(None, alias="as") """ - CSV accounts List + Address space limit. """ - association: Optional[AssocRecSet] = None + core: Optional[Uint64NoVal] = None """ - Association limits and options + Largest core file that can be created, in bytes. """ - clusters: Optional[StringList] = None + cpu: Optional[Uint64NoVal] = None """ - CSV clusters List + Per-process CPU limit, in seconds. """ - - -class Tres2(BaseModel): - group_minutes: Optional[SharesUint64TresList] = None + data: Optional[Uint64NoVal] = None """ - tres-minute limit + Maximum size of data segment, in bytes. """ - run_seconds: Optional[SharesUint64TresList] = None + fsize: Optional[Uint64NoVal] = None """ - currently running tres-secs = grp_used_tres_run_secs + Largest file that can be created, in bytes. """ - usage: Optional[SharesFloat128TresList] = None + memlock: Optional[Uint64NoVal] = None """ - measure of each tres usage + Locked-in-memory address space """ - - -class AssocSharesObjWrap(BaseModel): - cluster: Optional[str] = None + nofile: Optional[Uint64NoVal] = None """ - cluster name + Number of open files. """ - effective_usage: Optional[float] = None + nproc: Optional[Uint64NoVal] = None """ - effective, normalized usage + Number of processes. """ - fairshare: Optional[Fairshare] = None - id: Optional[int] = None + rss: Optional[Uint64NoVal] = None """ - assocation id + Largest resident set size, in bytes. This affects swapping; processes that are exceeding their resident set size will be more likely to have physical memory taken from them. """ - name: Optional[str] = None + stack: Optional[Uint64NoVal] = None """ - share name + Maximum size of stack segment, in bytes. """ - parent: Optional[str] = None + + +class RollupStat(BaseModel): """ - parent name + recorded rollup statistics """ - partition: Optional[str] = None + + last_run: Optional[int] = Field(None, alias="last run") """ - partition name + Last time rollup ran (UNIX timestamp) """ - shares: Optional[Uint32NoVal] = None + max_cycle: Optional[int] = None """ - number of shares allocated + longest rollup time (seconds) """ - shares_normalized: Optional[Float64NoVal] = None + mean_cycles: Optional[int] = None """ - normalized shares + average time for rollup (seconds) """ - tres: Optional[Tres2] = None - type: Optional[List[TypeEnum]] = None + total_cycles: Optional[int] = None """ - user or account association + number of rollups since last_run """ - usage: Optional[int] = None + total_time: Optional[int] = None """ - measure of tresbillableunits usage + total time spent doing rollups (seconds) """ - usage_normalized: Optional[Float64NoVal] = None + type: Optional[Type] = None """ - normalized usage + type """ -class JobInfo(BaseModel): - account: Optional[str] = None - accrue_time: Optional[Uint64NoVal] = None - admin_comment: Optional[str] = None - allocating_node: Optional[str] = None - array_job_id: Optional[Uint32NoVal] = None - array_max_tasks: Optional[Uint32NoVal] = None - array_task_id: Optional[Uint32NoVal] = None - array_task_string: Optional[str] = None - association_id: Optional[int] = None - batch_features: Optional[str] = None - batch_flag: Optional[bool] = None - batch_host: Optional[str] = None - billable_tres: Optional[Float64NoVal] = None - burst_buffer: Optional[str] = None - burst_buffer_state: Optional[str] = None - cluster: Optional[str] = None - cluster_features: Optional[str] = None - command: Optional[str] = None - comment: Optional[str] = None - container: Optional[str] = None - container_id: Optional[str] = None - contiguous: Optional[bool] = None - core_spec: Optional[int] = None - cores_per_socket: Optional[Uint16NoVal] = None - cpu_frequency_governor: Optional[Uint32NoVal] = None - cpu_frequency_maximum: Optional[Uint32NoVal] = None - cpu_frequency_minimum: Optional[Uint32NoVal] = None - cpus: Optional[Uint32NoVal] = None - cpus_per_task: Optional[Uint16NoVal] = None - cpus_per_tres: Optional[str] = None - cron: Optional[str] = None - current_working_directory: Optional[str] = None - deadline: Optional[Uint64NoVal] = None - delay_boot: Optional[Uint32NoVal] = None - dependency: Optional[str] = None - derived_exit_code: Optional[ProcessExitCodeVerbose] = None +class RollupStats(BaseModel): """ - return code returned by process + list of recorded rollup statistics """ - eligible_time: Optional[Uint64NoVal] = None - end_time: Optional[Uint64NoVal] = None - excluded_nodes: Optional[str] = None - exclusive: Optional[List[ExclusiveEnum]] = None - exit_code: Optional[ProcessExitCodeVerbose] = None + + __root__: List[RollupStat] """ - return code returned by process + list of recorded rollup statistics """ - extra: Optional[str] = None - failed_node: Optional[str] = None - features: Optional[str] = None - federation_origin: Optional[str] = None - federation_siblings_active: Optional[str] = None - federation_siblings_viable: Optional[str] = None - flags: Optional[List[Flag5]] = None - gres_detail: Optional[JobInfoGresDetail] = None - group_id: Optional[int] = None - group_name: Optional[str] = None - het_job_id: Optional[Uint32NoVal] = None - het_job_id_set: Optional[str] = None - het_job_offset: Optional[Uint32NoVal] = None - job_id: Optional[int] = None - job_resources: Optional[JobRes] = None - job_size_str: Optional[CsvString] = None - job_state: Optional[List[JobStateEnum]] = None - last_sched_evaluation: Optional[Uint64NoVal] = None - licenses: Optional[str] = None - mail_type: Optional[List[MailTypeEnum]] = None - mail_user: Optional[str] = None - max_cpus: Optional[Uint32NoVal] = None - max_nodes: Optional[Uint32NoVal] = None - maximum_switch_wait_time: Optional[int] = None - mcs_label: Optional[str] = None - memory_per_cpu: Optional[Uint64NoVal] = None - memory_per_node: Optional[Uint64NoVal] = None - memory_per_tres: Optional[str] = None - minimum_cpus_per_node: Optional[Uint16NoVal] = None - minimum_switches: Optional[int] = None - minimum_tmp_disk_per_node: Optional[Uint32NoVal] = None - name: Optional[str] = None - network: Optional[str] = None - nice: Optional[int] = None - node_count: Optional[Uint32NoVal] = None - nodes: Optional[str] = None - oversubscribe: Optional[bool] = None - partition: Optional[str] = None - power: Optional[Power] = None - pre_sus_time: Optional[Uint64NoVal] = None - preempt_time: Optional[Uint64NoVal] = None - preemptable_time: Optional[Uint64NoVal] = None - prefer: Optional[str] = None - priority: Optional[Uint32NoVal] = None - profile: Optional[List[ProfileEnum]] = None - qos: Optional[str] = None - reboot: Optional[bool] = None - requeue: Optional[bool] = None - required_nodes: Optional[str] = None - resize_time: Optional[Uint64NoVal] = None - restart_cnt: Optional[int] = None - resv_name: Optional[str] = None - scheduled_nodes: Optional[str] = None - selinux_context: Optional[str] = None - shared: Optional[List[SharedEnum]] = None - show_flags: Optional[List[ShowFlag]] = None - sockets_per_board: Optional[int] = None - sockets_per_node: Optional[Uint16NoVal] = None - standard_error: Optional[str] = None - standard_input: Optional[str] = None - standard_output: Optional[str] = None - start_time: Optional[Uint64NoVal] = None - state_description: Optional[str] = None - state_reason: Optional[str] = None - submit_time: Optional[Uint64NoVal] = None - suspend_time: Optional[Uint64NoVal] = None - system_comment: Optional[str] = None - tasks: Optional[Uint32NoVal] = None - tasks_per_board: Optional[Uint16NoVal] = None - tasks_per_core: Optional[Uint16NoVal] = None - tasks_per_node: Optional[Uint16NoVal] = None - tasks_per_socket: Optional[Uint16NoVal] = None - tasks_per_tres: Optional[Uint16NoVal] = None - thread_spec: Optional[int] = None - threads_per_core: Optional[Uint16NoVal] = None - time_limit: Optional[Uint32NoVal] = None - time_minimum: Optional[Uint32NoVal] = None - tres_alloc_str: Optional[str] = None - tres_bind: Optional[str] = None - tres_freq: Optional[str] = None - tres_per_job: Optional[str] = None - tres_per_node: Optional[str] = None - tres_per_socket: Optional[str] = None - tres_per_task: Optional[str] = None - tres_req_str: Optional[str] = None - user_id: Optional[int] = None - user_name: Optional[str] = None - wckey: Optional[str] = None -class JobInfoMsg(BaseModel): - __root__: List[JobInfo] +class Running(BaseModel): + tasks: Optional[int] = None -class Node(BaseModel): - active_features: Optional[CsvString] = None - address: Optional[str] = None - alloc_cpus: Optional[int] = None - alloc_idle_cpus: Optional[int] = None - alloc_memory: Optional[int] = None - architecture: Optional[str] = None - boards: Optional[int] = None - boot_time: Optional[Uint64NoVal] = None - burstbuffer_network_address: Optional[str] = None - cluster_name: Optional[str] = None - comment: Optional[str] = None - cores: Optional[int] = None - cpu_binding: Optional[int] = None - cpu_load: Optional[int] = None - cpus: Optional[int] = None - effective_cpus: Optional[int] = None - energy: Optional[AcctGatherEnergy] = None - external_sensors: Optional[ExtSensorsData] = None - extra: Optional[str] = None - features: Optional[CsvString] = None - free_mem: Optional[Uint64NoVal] = None - gres: Optional[str] = None - gres_drained: Optional[str] = None - gres_used: Optional[str] = None - hostname: Optional[str] = None - instance_id: Optional[str] = None - instance_type: Optional[str] = None - last_busy: Optional[Uint64NoVal] = None - mcs_label: Optional[str] = None +class ScheduleExitFields(BaseModel): + default_queue_depth: Optional[int] = None + end_job_queue: Optional[int] = None + licenses: Optional[int] = None + max_job_start: Optional[int] = None + max_rpc_cnt: Optional[int] = None + max_sched_time: Optional[int] = None + + +class SharedEnum(Enum): + none = "none" + oversubscribe = "oversubscribe" + user = "user" + mcs = "mcs" + + +class SharesFloat128Tres(BaseModel): name: Optional[str] = None - next_state_after_reboot: Optional[List[NextStateAfterRebootEnum]] = None - operating_system: Optional[str] = None - owner: Optional[str] = None - partitions: Optional[CsvString] = None - port: Optional[int] = None - power: Optional[PowerMgmtData] = None - real_memory: Optional[int] = None - reason: Optional[str] = None - reason_changed_at: Optional[Uint64NoVal] = None - reason_set_by_user: Optional[str] = None - reservation: Optional[str] = None - resume_after: Optional[Uint64NoVal] = None - slurmd_start_time: Optional[Uint64NoVal] = None - sockets: Optional[int] = None - specialized_cores: Optional[int] = None - specialized_cpus: Optional[str] = None - specialized_memory: Optional[int] = None - state: Optional[List[StateEnum]] = None - temporary_disk: Optional[int] = None - threads: Optional[int] = None - tres: Optional[str] = None - tres_used: Optional[str] = None - tres_weighted: Optional[float] = None - version: Optional[str] = None - weight: Optional[int] = None + """ + TRES name + """ + value: Optional[float] = None + """ + TRES value + """ -class Nodes(BaseModel): - __root__: List[Node] +class SharesFloat128TresList(BaseModel): + __root__: List[SharesFloat128Tres] -class OpenapiAccountsAddCondResp(BaseModel): - account: Optional[AccountShort] = None +class SharesRespMsg(BaseModel): + shares: Optional[AssocSharesObjList] = None """ - Account organization and description + Assocation shares """ - association_condition: Optional[AccountsAddCond] = None + total_shares: Optional[int] = None """ - CSV List of accounts, association limits and options, CSV List of clusters + Total number of shares """ - errors: Optional[OpenapiErrors] = None + + +class SharesUint64Tres(BaseModel): + name: Optional[str] = None """ - Query errors + TRES name """ - meta: Optional[OpenapiMeta] = None + value: Optional[Uint64NoVal] = None """ - Slurm meta values + TRES value """ - warnings: Optional[OpenapiWarnings] = None + + +class SharesUint64TresList(BaseModel): + __root__: List[SharesUint64Tres] + + +class ShowFlag(Enum): + ALL = "ALL" + DETAIL = "DETAIL" + MIXED = "MIXED" + LOCAL = "LOCAL" + SIBLING = "SIBLING" + FEDERATION = "FEDERATION" + FUTURE = "FUTURE" + + +class Signal(BaseModel): + id: Optional[Uint16NoVal] = None """ - Query warnings + Signal sent to process (numeric) + """ + name: Optional[str] = None + """ + Signal sent to process + """ + + +class Slurm(BaseModel): + cluster: Optional[str] = None + """ + Slurm cluster name + """ + release: Optional[str] = None + """ + Slurm release string """ + version: Optional[Version] = None + + +class State(BaseModel): + current: Optional[List[CurrentEnum]] = None + reason: Optional[str] = None + + +class StateEnum(Enum): + INVALID = "INVALID" + UNKNOWN = "UNKNOWN" + DOWN = "DOWN" + IDLE = "IDLE" + ALLOCATED = "ALLOCATED" + ERROR = "ERROR" + MIXED = "MIXED" + FUTURE = "FUTURE" + PERFCTRS = "PERFCTRS" + RESERVED = "RESERVED" + UNDRAIN = "UNDRAIN" + CLOUD = "CLOUD" + RESUME = "RESUME" + DRAIN = "DRAIN" + COMPLETING = "COMPLETING" + NOT_RESPONDING = "NOT_RESPONDING" + POWERED_DOWN = "POWERED_DOWN" + FAIL = "FAIL" + POWERING_UP = "POWERING_UP" + MAINTENANCE = "MAINTENANCE" + REBOOT_REQUESTED = "REBOOT_REQUESTED" + REBOOT_CANCELED = "REBOOT_CANCELED" + POWERING_DOWN = "POWERING_DOWN" + DYNAMIC_FUTURE = "DYNAMIC_FUTURE" + REBOOT_ISSUED = "REBOOT_ISSUED" + PLANNED = "PLANNED" + INVALID_REG = "INVALID_REG" + POWER_DOWN = "POWER_DOWN" + POWER_UP = "POWER_UP" + POWER_DRAIN = "POWER_DRAIN" + DYNAMIC_NORM = "DYNAMIC_NORM" + + +class StateEnumModel(Enum): + INACTIVE = "INACTIVE" + UNKNOWN = "UNKNOWN" + UP = "UP" + DOWN = "DOWN" + DRAIN = "DRAIN" + + +class StateEnumModel1(Enum): + PENDING = "PENDING" + RUNNING = "RUNNING" + SUSPENDED = "SUSPENDED" + COMPLETED = "COMPLETED" + CANCELLED = "CANCELLED" + FAILED = "FAILED" + TIMEOUT = "TIMEOUT" + NODE_FAIL = "NODE_FAIL" + PREEMPTED = "PREEMPTED" + BOOT_FAIL = "BOOT_FAIL" + DEADLINE = "DEADLINE" + OUT_OF_MEMORY = "OUT_OF_MEMORY" + LAUNCH_FAILED = "LAUNCH_FAILED" + UPDATE_DB = "UPDATE_DB" + REQUEUED = "REQUEUED" + REQUEUE_HOLD = "REQUEUE_HOLD" + SPECIAL_EXIT = "SPECIAL_EXIT" + RESIZING = "RESIZING" + CONFIGURING = "CONFIGURING" + COMPLETING = "COMPLETING" + STOPPED = "STOPPED" + RECONFIG_FAIL = "RECONFIG_FAIL" + POWER_UP_NODE = "POWER_UP_NODE" + REVOKED = "REVOKED" + REQUEUE_FED = "REQUEUE_FED" + RESV_DEL_HOLD = "RESV_DEL_HOLD" + SIGNALING = "SIGNALING" + STAGE_OUT = "STAGE_OUT" + + +class StateEnumModel2(Enum): + INVALID = "INVALID" + UNKNOWN = "UNKNOWN" + DOWN = "DOWN" + IDLE = "IDLE" + ALLOCATED = "ALLOCATED" + ERROR = "ERROR" + MIXED = "MIXED" + FUTURE = "FUTURE" + PERFCTRS = "PERFCTRS" + RESERVED = "RESERVED" + UNDRAIN = "UNDRAIN" + CLOUD = "CLOUD" + RESUME = "RESUME" + DRAIN = "DRAIN" + COMPLETING = "COMPLETING" + NOT_RESPONDING = "NOT_RESPONDING" + POWERED_DOWN = "POWERED_DOWN" + FAIL = "FAIL" + POWERING_UP = "POWERING_UP" + MAINTENANCE = "MAINTENANCE" + REBOOT_REQUESTED = "REBOOT_REQUESTED" + REBOOT_CANCELED = "REBOOT_CANCELED" + POWERING_DOWN = "POWERING_DOWN" + DYNAMIC_FUTURE = "DYNAMIC_FUTURE" + REBOOT_ISSUED = "REBOOT_ISSUED" + PLANNED = "PLANNED" + INVALID_REG = "INVALID_REG" + POWER_DOWN = "POWER_DOWN" + POWER_UP = "POWER_UP" + POWER_DRAIN = "POWER_DRAIN" + DYNAMIC_NORM = "DYNAMIC_NORM" + + +class Statistics(BaseModel): + CPU: Optional[CPU] = None + energy: Optional[Energy] = None + + +class StatsMsg(BaseModel): + agent_count: Optional[int] = None + agent_queue_size: Optional[int] = None + agent_thread_count: Optional[int] = None + bf_active: Optional[bool] = None + bf_backfilled_het_jobs: Optional[int] = None + bf_backfilled_jobs: Optional[int] = None + bf_cycle_counter: Optional[int] = None + bf_cycle_last: Optional[int] = None + bf_cycle_mean: Optional[int] = None + bf_cycle_sum: Optional[int] = None + bf_depth_mean: Optional[int] = None + bf_depth_mean_try: Optional[int] = None + bf_depth_sum: Optional[int] = None + bf_depth_try_sum: Optional[int] = None + bf_exit: Optional[BfExitFields] = None + bf_last_backfilled_jobs: Optional[int] = None + bf_last_depth: Optional[int] = None + bf_last_depth_try: Optional[int] = None + bf_queue_len: Optional[int] = None + bf_queue_len_mean: Optional[int] = None + bf_queue_len_sum: Optional[int] = None + bf_table_size: Optional[int] = None + bf_table_size_mean: Optional[int] = None + bf_when_last_cycle: Optional[Uint64NoVal] = None + dbd_agent_queue_size: Optional[int] = None + gettimeofday_latency: Optional[int] = None + job_states_ts: Optional[Uint64NoVal] = None + jobs_canceled: Optional[int] = None + jobs_completed: Optional[int] = None + jobs_failed: Optional[int] = None + jobs_pending: Optional[int] = None + jobs_running: Optional[int] = None + jobs_started: Optional[int] = None + jobs_submitted: Optional[int] = None + parts_packed: Optional[int] = None + req_time: Optional[Uint64NoVal] = None + req_time_start: Optional[Uint64NoVal] = None + rpcs_by_message_type: Optional[StatsMsgRpcsByType] = None + rpcs_by_user: Optional[StatsMsgRpcsByUser] = None + schedule_cycle_last: Optional[int] = None + schedule_cycle_max: Optional[int] = None + schedule_cycle_mean: Optional[int] = None + schedule_cycle_mean_depth: Optional[int] = None + schedule_cycle_per_minute: Optional[int] = None + schedule_cycle_total: Optional[int] = None + schedule_exit: Optional[ScheduleExitFields] = None + schedule_queue_length: Optional[int] = None + server_thread_count: Optional[int] = None -class OpenapiAccountsAddCondRespStr(BaseModel): - added_accounts: str - """ - added_accounts - """ - errors: Optional[OpenapiErrors] = None - """ - Query errors - """ - meta: Optional[OpenapiMeta] = None +class StatsMsgRpcsByType(BaseModel): """ - Slurm meta values + RPCs by message type """ - warnings: Optional[OpenapiWarnings] = None + + __root__: List[StatsMsgRpcsByTypeItem] """ - Query warnings + RPCs by message type """ -class OpenapiAccountsRemovedResp(BaseModel): - errors: Optional[OpenapiErrors] = None - """ - Query errors - """ - meta: Optional[OpenapiMeta] = None - """ - Slurm meta values - """ - removed_accounts: StringList +class StatsMsgRpcsByTypeItem(BaseModel): """ - removed_accounts + RPC """ - warnings: Optional[OpenapiWarnings] = None + + average_time: Optional[int] = None """ - Query warnings + Average time spent processing RPC in seconds """ - - -class OpenapiAccountsResp(BaseModel): - accounts: AccountList + count: Optional[int] = None """ - accounts + Number of RPCs received """ - errors: Optional[OpenapiErrors] = None + message_type: Optional[str] = None """ - Query errors + Message type as string """ - meta: Optional[OpenapiMeta] = None + total_time: Optional[int] = None """ - Slurm meta values + Total time spent processing RPC in seconds """ - warnings: Optional[OpenapiWarnings] = None + type_id: Optional[int] = None """ - Query warnings + Message type as integer """ -class OpenapiAssocsRemovedResp(BaseModel): - errors: Optional[OpenapiErrors] = None - """ - Query errors - """ - meta: Optional[OpenapiMeta] = None - """ - Slurm meta values - """ - removed_associations: StringList +class StatsMsgRpcsByUser(BaseModel): """ - removed_associations + RPCs by user """ - warnings: Optional[OpenapiWarnings] = None + + __root__: List[StatsMsgRpcsByUserItem] """ - Query warnings + RPCs by user """ -class OpenapiAssocsResp(BaseModel): - associations: AssocList +class StatsMsgRpcsByUserItem(BaseModel): """ - associations + user """ - errors: Optional[OpenapiErrors] = None + + average_time: Optional[int] = None """ - Query errors + Average time spent processing RPC in seconds """ - meta: Optional[OpenapiMeta] = None + count: Optional[int] = None """ - Slurm meta values + Number of RPCs received """ - warnings: Optional[OpenapiWarnings] = None + total_time: Optional[int] = None """ - Query warnings + Total time spent processing RPC in seconds """ - - -class OpenapiClustersRemovedResp(BaseModel): - deleted_clusters: StringList + user: Optional[str] = None """ - deleted_clusters + user name """ - errors: Optional[OpenapiErrors] = None + user_id: Optional[int] = None """ - Query errors + user id (numeric) """ - meta: Optional[OpenapiMeta] = None + + +class StatsRec(BaseModel): + RPCs: Optional[StatsRpcList] = None + rollups: Optional[RollupStats] = None + time_start: Optional[int] = None + users: Optional[StatsUserList] = None + + +class StatsRpc(BaseModel): + count: Optional[int] = None + rpc: Optional[str] = None + time: Optional[TimeModel] = None + + +class StatsRpcList(BaseModel): + __root__: List[StatsRpc] + + +class StatsUser(BaseModel): + count: Optional[int] = None + time: Optional[TimeModel] = None + user: Optional[str] = None + + +class StatsUserList(BaseModel): + __root__: List[StatsUser] + + +class StatusEnum(Enum): + INVALID = "INVALID" + PENDING = "PENDING" + SUCCESS = "SUCCESS" + ERROR = "ERROR" + SIGNALED = "SIGNALED" + CORE_DUMPED = "CORE_DUMPED" + + +class Step(BaseModel): + id: Optional[str] = None """ - Slurm meta values + Slurm Job StepId """ - warnings: Optional[OpenapiWarnings] = None + name: Optional[str] = None + + +class StepList(BaseModel): + __root__: List[StepModel] + + +class StepModel(BaseModel): + CPU: Optional[CPUModel] = None + exit_code: Optional[ProcessExitCodeVerbose] = None """ - Query warnings + return code returned by process """ + kill_request_user: Optional[str] = None + nodes: Optional[NodesModel] = None + pid: Optional[str] = None + state: Optional[List[StateEnumModel1]] = None + statistics: Optional[Statistics] = None + step: Optional[Step] = None + task: Optional[Task] = None + tasks: Optional[Tasks] = None + time: Optional[TimeModel2] = None + tres: Optional[TresModel6] = None + + +class StepTresReqMax(BaseModel): + __root__: List[TresModel] + + +class StepTresReqMin(BaseModel): + __root__: List[TresModel] + + +class StepTresUsageMax(BaseModel): + __root__: List[TresModel] + + +class StepTresUsageMin(BaseModel): + __root__: List[TresModel] + + +class StringArray(BaseModel): + __root__: List[str] + + +class StringList(BaseModel): + __root__: List[str] + + +class System(BaseModel): + microseconds: Optional[int] = None + seconds: Optional[int] = None + + +class Task(BaseModel): + distribution: Optional[str] = None + + +class Tasks(BaseModel): + count: Optional[int] = None + + +class Time(BaseModel): + time_end: Optional[int] = None + time_start: Optional[int] = None + + +class TimeModel(BaseModel): + average: Optional[int] = None + total: Optional[int] = None + + +class TimeModel1(BaseModel): + elapsed: Optional[int] = None + eligible: Optional[int] = None + end: Optional[int] = None + limit: Optional[Uint32NoVal] = None + start: Optional[int] = None + submission: Optional[int] = None + suspended: Optional[int] = None + system: Optional[System] = None + total: Optional[Total] = None + user: Optional[User] = None + + +class TimeModel2(BaseModel): + elapsed: Optional[int] = None + end: Optional[Uint64NoVal] = None + start: Optional[Uint64NoVal] = None + suspended: Optional[int] = None + system: Optional[System] = None + total: Optional[Total] = None + user: Optional[User] = None + + +class Timeouts(BaseModel): + resume: Optional[Uint16NoVal] = None + suspend: Optional[Uint16NoVal] = None + + +class Total(BaseModel): + microseconds: Optional[int] = None + seconds: Optional[int] = None + + +class Tres(BaseModel): + billing_weights: Optional[str] = None + configured: Optional[str] = None + + +class TresList(BaseModel): + __root__: List[TresModel] + + +class TresModel(BaseModel): + count: Optional[int] = None + id: Optional[int] = None + name: Optional[str] = None + type: str + + +class TresModel1(BaseModel): + group: Optional[Group] = None + minutes: Optional[Minutes] = None + per: Optional[PerModel2] = None + total: Optional[TresList] = None -class OpenapiClustersResp(BaseModel): - clusters: ClusterRecList - """ - clusters - """ - errors: Optional[OpenapiErrors] = None - """ - Query errors - """ - meta: Optional[OpenapiMeta] = None - """ - Slurm meta values - """ - warnings: Optional[OpenapiWarnings] = None - """ - Query warnings - """ +class TresModel2(BaseModel): + allocated: Optional[TresList] = None + requested: Optional[TresList] = None -class OpenapiDiagResp(BaseModel): - errors: Optional[OpenapiErrors] = None - """ - Query errors - """ - meta: Optional[OpenapiMeta] = None - """ - Slurm meta values - """ - statistics: StatsMsg - """ - statistics - """ - warnings: Optional[OpenapiWarnings] = None - """ - Query warnings - """ +class TresModel3(BaseModel): + minutes: Optional[MinutesModel] = None + per: Optional[PerModel5] = None + total: Optional[TresList] = None -class OpenapiInstancesResp(BaseModel): - errors: Optional[OpenapiErrors] = None - """ - Query errors - """ - instances: InstanceList - """ - instances - """ - meta: Optional[OpenapiMeta] = None - """ - Slurm meta values - """ - warnings: Optional[OpenapiWarnings] = None - """ - Query warnings - """ +class TresModel4(BaseModel): + per: Optional[PerModel7] = None -class OpenapiJobInfoResp(BaseModel): - errors: Optional[OpenapiErrors] = None - """ - Query errors - """ - jobs: JobInfoMsg - """ - List of jobs - """ - last_backfill: Uint64NoVal - """ - time of last backfill scheduler run (UNIX timestamp) - """ - last_update: Uint64NoVal +class TresModel5(BaseModel): + group_minutes: Optional[SharesUint64TresList] = None """ - time of last job change (UNIX timestamp) + tres-minute limit """ - meta: Optional[OpenapiMeta] = None + run_seconds: Optional[SharesUint64TresList] = None """ - Slurm meta values + currently running tres-secs = grp_used_tres_run_secs """ - warnings: Optional[OpenapiWarnings] = None + usage: Optional[SharesFloat128TresList] = None """ - Query warnings + measure of each tres usage """ -class OpenapiJobPostResponse(BaseModel): - errors: Optional[OpenapiErrors] = None - """ - Query errors - """ - job_id: Optional[str] = None - """ - First updated JobId - Use results instead - """ - job_submit_user_msg: Optional[str] = None - """ - First updated Job submision user message - Use results instead - """ - meta: Optional[OpenapiMeta] = None - """ - Slurm meta values - """ - results: Optional[JobArrayResponseArray] = None - """ - Job update results - """ - step_id: Optional[str] = None - """ - First updated StepID - Use results instead - """ - warnings: Optional[OpenapiWarnings] = None - """ - Query warnings - """ +class TresModel6(BaseModel): + allocated: Optional[TresList] = None + consumed: Optional[Consumed] = None + requested: Optional[Requested] = None -class OpenapiJobSubmitResponse(BaseModel): - errors: Optional[OpenapiErrors] = None - """ - Query errors - """ - job_id: Optional[int] = None - """ - submited JobId - """ - job_submit_user_msg: Optional[str] = None - """ - job submision user message - """ - meta: Optional[OpenapiMeta] = None - """ - Slurm meta values - """ - result: Optional[JobSubmitResponseMsg] = None - """ - Job submission - """ - step_id: Optional[str] = None - """ - submited StepID - """ - warnings: Optional[OpenapiWarnings] = None +class Type(Enum): """ - Query warnings + type """ + internal = "internal" + user = "user" + unknown = "unknown" -class OpenapiLicensesResp(BaseModel): - errors: Optional[OpenapiErrors] = None - """ - Query errors - """ - last_update: Uint64NoVal - """ - time of last licenses change (UNIX timestamp) - """ - licenses: Licenses - """ - List of licenses - """ - meta: Optional[OpenapiMeta] = None - """ - Slurm meta values - """ - warnings: Optional[OpenapiWarnings] = None - """ - Query warnings - """ +class TypeEnum(Enum): + USER = "USER" + ASSOCIATION = "ASSOCIATION" -class OpenapiNodesResp(BaseModel): - errors: Optional[OpenapiErrors] = None - """ - Query errors - """ - last_update: Uint64NoVal + +class Uint16NoVal(BaseModel): """ - time of last node change (UNIX timestamp) + Integer number with flags """ - meta: Optional[OpenapiMeta] = None + + infinite: Optional[bool] = 0 """ - Slurm meta values + True if number has been set to infinite. "set" and "number" will be ignored. """ - nodes: Nodes + number: Optional[int] = None """ - List of nodes + If set is True the number will be set with value. Otherwise ignore number contents. """ - warnings: Optional[OpenapiWarnings] = None + set: Optional[bool] = False """ - Query warnings + True if number has been set. False if number is unset """ -class OpenapiPartitionResp(BaseModel): - errors: Optional[OpenapiErrors] = None - """ - Query errors - """ - last_update: Uint64NoVal +class Uint32NoVal(BaseModel): """ - time of last partition change (UNIX timestamp) + Integer number with flags """ - meta: Optional[OpenapiMeta] = None + + infinite: Optional[bool] = 0 """ - Slurm meta values + True if number has been set to infinite. "set" and "number" will be ignored. """ - partitions: PartitionInfoMsg + number: Optional[int] = None """ - List of partitions + If set is True the number will be set with value. Otherwise ignore number contents. """ - warnings: Optional[OpenapiWarnings] = None + set: Optional[bool] = False """ - Query warnings + True if number has been set. False if number is unset """ -class OpenapiReservationResp(BaseModel): - errors: Optional[OpenapiErrors] = None - """ - Query errors - """ - last_update: Uint64NoVal +class Uint64NoVal(BaseModel): """ - time of last reservation change (UNIX timestamp) + Integer number with flags """ - meta: Optional[OpenapiMeta] = None + + infinite: Optional[bool] = 0 """ - Slurm meta values + True if number has been set to infinite. "set" and "number" will be ignored. """ - reservations: ReservationInfoMsg + number: Optional[int] = None """ - List of reservations + If set is True the number will be set with value. Otherwise ignore number contents. """ - warnings: Optional[OpenapiWarnings] = None + set: Optional[bool] = False """ - Query warnings + True if number has been set. False if number is unset """ -class OpenapiSlurmdbdQosResp(BaseModel): - errors: Optional[OpenapiErrors] = None - """ - Query errors - """ - meta: Optional[OpenapiMeta] = None - """ - Slurm meta values - """ - qos: QosList - """ - List of QOS - """ - warnings: Optional[OpenapiWarnings] = None +class UpdateNodeMsg(BaseModel): + address: Optional[HostlistString] = None """ - Query warnings + communication name """ - - -class OpenapiSlurmdbdStatsResp(BaseModel): - errors: Optional[OpenapiErrors] = None + comment: Optional[str] = None """ - Query errors + arbitrary comment """ - meta: Optional[OpenapiMeta] = None + cpu_bind: Optional[int] = None """ - Slurm meta values + default CPU binding type """ - statistics: StatsRec + extra: Optional[str] = None """ - statistics + arbitrary string """ - warnings: Optional[OpenapiWarnings] = None + features: Optional[CsvString] = None """ - Query warnings + new available feature for node """ - - -class OpenapiUsersAddCondResp(BaseModel): - association_condition: Optional[UsersAddCond] = None + features_act: Optional[CsvString] = None """ - Filters to select associations for users + new active feature for node """ - errors: Optional[OpenapiErrors] = None + gres: Optional[str] = None """ - Query errors + new generic resources for node """ - meta: Optional[OpenapiMeta] = None + hostname: Optional[HostlistString] = None """ - Slurm meta values + node's hostname """ - user: Optional[UserShort] = None + name: Optional[HostlistString] = None """ - Admin level of user, DefaultAccount, DefaultWCKey + node to update """ - warnings: Optional[OpenapiWarnings] = None + reason: Optional[str] = None """ - Query warnings + reason for node being DOWN or DRAINING """ - - -class OpenapiWckeyResp(BaseModel): - errors: Optional[OpenapiErrors] = None + reason_uid: Optional[str] = None """ - Query errors + user ID of sending (needed if user root is sending message) """ - meta: Optional[OpenapiMeta] = None + resume_after: Optional[Uint32NoVal] = None """ - Slurm meta values + automatically resume DOWN or DRAINED node after this amount of seconds """ - warnings: Optional[OpenapiWarnings] = None + state: Optional[List[StateEnumModel2]] = None """ - Query warnings + assign new node state """ - wckeys: WckeyList + weight: Optional[Uint32NoVal] = None """ - wckeys + new weight for node """ -class Consumed(BaseModel): - average: Optional[TresList] = None - max: Optional[StepTresUsageMax] = None - min: Optional[StepTresUsageMin] = None - total: Optional[TresList] = None - - -class Requested(BaseModel): - average: Optional[TresList] = None - max: Optional[StepTresReqMax] = None - min: Optional[StepTresReqMin] = None - total: Optional[TresList] = None - - -class Tres7(BaseModel): - allocated: Optional[TresList] = None - consumed: Optional[Consumed] = None - requested: Optional[Requested] = None - - -class Step(BaseModel): - CPU: Optional[CPU] = None - exit_code: Optional[ProcessExitCodeVerbose] = None - """ - return code returned by process - """ - kill_request_user: Optional[str] = None - nodes: Optional[Nodes2] = None - pid: Optional[str] = None - state: Optional[List[StateEnum2]] = None - statistics: Optional[Statistics] = None - step: Optional[Step1] = None - task: Optional[Task] = None - tasks: Optional[Tasks] = None - time: Optional[Time4] = None - tres: Optional[Tres7] = None +class User(BaseModel): + microseconds: Optional[int] = None + seconds: Optional[int] = None -class StepList(BaseModel): - __root__: List[Step] +class UserList(BaseModel): + __root__: List[UserModel] -class User2(BaseModel): +class UserModel(BaseModel): administrator_level: Optional[List[AdministratorLevelEnum]] = None associations: Optional[AssocShortList] = None coordinators: Optional[CoordList] = None - default: Optional[Default1] = None - flags: Optional[List[Flag11]] = None + default: Optional[DefaultModel] = None + flags: Optional[List[FlagModel8]] = None name: str old_name: Optional[str] = None wckeys: Optional[WckeyList] = None -class UserList(BaseModel): - __root__: List[User2] - - -class AssocSharesObjList(BaseModel): - __root__: List[AssocSharesObjWrap] - - -class Job(BaseModel): - account: Optional[str] = None - allocation_nodes: Optional[int] = None - array: Optional[Array] = None - association: Optional[AssocShort] = None - block: Optional[str] = None - cluster: Optional[str] = None - comment: Optional[Comment] = None - constraints: Optional[str] = None - container: Optional[str] = None - derived_exit_code: Optional[ProcessExitCodeVerbose] = None +class UserShort(BaseModel): + adminlevel: Optional[List[AdminlevelEnum]] = None """ - return code returned by process + Admin level of user. Valid levels are None, Operator, and Admin. """ - exit_code: Optional[ProcessExitCodeVerbose] = None + defaultaccount: Optional[str] = None """ - return code returned by process + Identify the default bank account name to be used for a job if none is specified at submission time. """ - extra: Optional[str] = None - failed_node: Optional[str] = None - flags: Optional[List[Flag4]] = None - group: Optional[str] = None - het: Optional[Het] = None - job_id: Optional[int] = None - kill_request_user: Optional[str] = None - licenses: Optional[str] = None - mcs: Optional[Mcs] = None - name: Optional[str] = None - nodes: Optional[str] = None - partition: Optional[str] = None - priority: Optional[Uint32NoVal] = None - qos: Optional[str] = None - required: Optional[Required] = None - reservation: Optional[Reservation] = None - script: Optional[str] = None - state: Optional[State] = None - steps: Optional[StepList] = None - submit_line: Optional[str] = None - time: Optional[Time1] = None - tres: Optional[Tres3] = None - used_gres: Optional[str] = None - user: Optional[str] = None - wckey: Optional[WckeyTagStruct] = None + defaultwckey: Optional[str] = None """ - WCKey ID with tagging + Identify the default Workload Characterization Key. """ - working_directory: Optional[str] = None - - -class JobList(BaseModel): - __root__: List[Job] -class OpenapiSlurmdbdConfigResp(BaseModel): - accounts: Optional[AccountList] = None - """ - accounts - """ - associations: Optional[AssocList] = None - """ - associations - """ - clusters: Optional[ClusterRecList] = None - """ - clusters - """ - errors: Optional[OpenapiErrors] = None - """ - Query errors - """ - instances: Optional[InstanceList] = None - """ - instances - """ - meta: Optional[OpenapiMeta] = None +class UsersAddCond(BaseModel): + accounts: Optional[StringList] = None """ - Slurm meta values + CSV accounts list """ - qos: Optional[QosList] = None + association: Optional[AssocRecSet] = None """ - qos + Association limits and options """ - tres: Optional[TresList] = None + clusters: Optional[StringList] = None """ - tres + CSV clusters list """ - users: Optional[UserList] = None + partitions: Optional[StringList] = None """ - users + CSV partitions list """ - warnings: Optional[OpenapiWarnings] = None + users: StringList """ - Query warnings + CSV users list """ - wckeys: Optional[WckeyList] = None + wckeys: Optional[StringList] = None """ - wckeys + CSV WCKeys list """ -class OpenapiSlurmdbdJobsResp(BaseModel): - errors: Optional[OpenapiErrors] = None - """ - Query errors - """ - jobs: JobList +class Version(BaseModel): + major: Optional[str] = None """ - jobs + Slurm release major version """ - meta: Optional[OpenapiMeta] = None + micro: Optional[str] = None """ - Slurm meta values + Slurm release micro version """ - warnings: Optional[OpenapiWarnings] = None + minor: Optional[str] = None """ - Query warnings + Slurm release minor version """ -class OpenapiUsersResp(BaseModel): - errors: Optional[OpenapiErrors] = None - """ - Query errors - """ - meta: Optional[OpenapiMeta] = None - """ - Slurm meta values - """ - users: UserList - """ - users - """ - warnings: Optional[OpenapiWarnings] = None - """ - Query warnings - """ +class WallClock(BaseModel): + per: Optional[PerModel6] = None -class SharesRespMsg(BaseModel): - shares: Optional[AssocSharesObjList] = None - """ - Assocation shares - """ - total_shares: Optional[int] = None - """ - Total number of shares - """ +class Wckey(BaseModel): + accounting: Optional[AccountingList] = None + cluster: str + flags: Optional[List[FlagModel9]] = None + id: Optional[int] = None + name: str + user: str -class OpenapiSharesResp(BaseModel): - errors: Optional[OpenapiErrors] = None - """ - Query errors - """ - meta: Optional[OpenapiMeta] = None - """ - Slurm meta values - """ - shares: SharesRespMsg +class WckeyList(BaseModel): + __root__: List[Wckey] + + +class WckeyTagStruct(BaseModel): + flags: List[FlagModel10] """ - fairshare info + Active flags """ - warnings: Optional[OpenapiWarnings] = None + wckey: str """ - Query warnings + WCKey name """ + + +class X11Enum(Enum): + FORWARD_ALL_NODES = "FORWARD_ALL_NODES" + BATCH_NODE = "BATCH_NODE" + FIRST_NODE = "FIRST_NODE" + LAST_NODE = "LAST_NODE"