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"