# generated by datamodel-codegen:
#   filename:  squeue-output-small.json
#   timestamp: 2022-01-16T00:43:22+00:00

from __future__ import annotations

from typing import Any, Dict, List, Optional

from pydantic import BaseModel


class Plugin(BaseModel):
    type: str
    name: str


class Version(BaseModel):
    major: int
    micro: int
    minor: int


class Slurm(BaseModel):
    version: Version
    release: str


class Meta(BaseModel):
    plugin: Plugin
    Slurm: Slurm


class Job(BaseModel):
    account: str
    accrue_time: int
    admin_comment: str
    array_job_id: int
    array_task_id: Any
    array_max_tasks: int
    array_task_string: str
    association_id: int
    batch_features: str
    batch_flag: bool
    batch_host: str
    flags: List[str]
    burst_buffer: str
    burst_buffer_state: str
    cluster: str
    cluster_features: str
    command: str
    comment: str
    contiguous: bool
    core_spec: Any
    thread_spec: Any
    cores_per_socket: Any
    billable_tres: Any
    cpus_per_task: Any
    cpu_frequency_minimum: Any
    cpu_frequency_maximum: Any
    cpu_frequency_governor: Any
    cpus_per_tres: str
    deadline: int
    delay_boot: int
    dependency: str
    derived_exit_code: int
    eligible_time: int
    end_time: int
    excluded_nodes: str
    exit_code: int
    features: str
    federation_origin: str
    federation_siblings_active: str
    federation_siblings_viable: str
    gres_detail: List
    group_id: int
    job_id: int
    job_resources: Dict[str, Any]
    job_state: str
    last_sched_evaluation: int
    licenses: str
    max_cpus: int
    max_nodes: int
    mcs_label: str
    memory_per_tres: str
    name: str
    nodes: str
    nice: Any
    tasks_per_core: Any
    tasks_per_node: int
    tasks_per_socket: Any
    tasks_per_board: int
    cpus: int
    node_count: int
    tasks: int
    het_job_id: int
    het_job_id_set: str
    het_job_offset: int
    partition: str
    memory_per_node: Optional[int]
    memory_per_cpu: Any
    minimum_cpus_per_node: int
    minimum_tmp_disk_per_node: int
    preempt_time: int
    pre_sus_time: int
    priority: int
    profile: Any
    qos: str
    reboot: bool
    required_nodes: str
    requeue: bool
    resize_time: int
    restart_cnt: int
    resv_name: str
    shared: Any
    show_flags: List[str]
    sockets_per_board: int
    sockets_per_node: Any
    start_time: int
    state_description: str
    state_reason: str
    standard_error: str
    standard_input: str
    standard_output: str
    submit_time: int
    suspend_time: int
    system_comment: str
    time_limit: int
    time_minimum: int
    threads_per_core: Any
    tres_bind: str
    tres_freq: str
    tres_per_job: str
    tres_per_node: str
    tres_per_socket: str
    tres_per_task: str
    tres_req_str: str
    tres_alloc_str: str
    user_id: int
    user_name: str
    wckey: str
    current_working_directory: str


class SQueueResponse(BaseModel):
    meta: Meta
    errors: List
    jobs: List[Job]

# generated by datamodel-codegen:
#   filename:  squeue-output-small.json
#   timestamp: 2022-01-16T00:43:22+00:00

from __future__ import annotations

from typing import Any, Dict, List, Optional

from pydantic import BaseModel


class Plugin(BaseModel):
    type: str
    name: str


class Version(BaseModel):
    major: int
    micro: int
    minor: int


class Slurm(BaseModel):
    version: Version
    release: str


class Meta(BaseModel):
    plugin: Plugin
    Slurm: Slurm


class Job(BaseModel):
    account: str
    accrue_time: int
    admin_comment: str
    array_job_id: int
    array_task_id: Any
    array_max_tasks: int
    array_task_string: str
    association_id: int
    batch_features: str
    batch_flag: bool
    batch_host: str
    flags: List[str]
    burst_buffer: str
    burst_buffer_state: str
    cluster: str
    cluster_features: str
    command: str
    comment: str
    contiguous: bool
    core_spec: Any
    thread_spec: Any
    cores_per_socket: Any
    billable_tres: Any
    cpus_per_task: Any
    cpu_frequency_minimum: Any
    cpu_frequency_maximum: Any
    cpu_frequency_governor: Any
    cpus_per_tres: str
    deadline: int
    delay_boot: int
    dependency: str
    derived_exit_code: int
    eligible_time: int
    end_time: int
    excluded_nodes: str
    exit_code: int
    features: str
    federation_origin: str
    federation_siblings_active: str
    federation_siblings_viable: str
    gres_detail: List
    group_id: int
    job_id: int
    job_resources: Dict[str, Any]
    job_state: str
    last_sched_evaluation: int
    licenses: str
    max_cpus: int
    max_nodes: int
    mcs_label: str
    memory_per_tres: str
    name: str
    nodes: str
    nice: Any
    tasks_per_core: Any
    tasks_per_node: int
    tasks_per_socket: Any
    tasks_per_board: int
    cpus: int
    node_count: int
    tasks: int
    het_job_id: int
    het_job_id_set: str
    het_job_offset: int
    partition: str
    memory_per_node: Optional[int]
    memory_per_cpu: Any
    minimum_cpus_per_node: int
    minimum_tmp_disk_per_node: int
    preempt_time: int
    pre_sus_time: int
    priority: int
    profile: Any
    qos: str
    reboot: bool
    required_nodes: str
    requeue: bool
    resize_time: int
    restart_cnt: int
    resv_name: str
    shared: Any
    show_flags: List[str]
    sockets_per_board: int
    sockets_per_node: Any
    start_time: int
    state_description: str
    state_reason: str
    standard_error: str
    standard_input: str
    standard_output: str
    submit_time: int
    suspend_time: int
    system_comment: str
    time_limit: int
    time_minimum: int
    threads_per_core: Any
    tres_bind: str
    tres_freq: str
    tres_per_job: str
    tres_per_node: str
    tres_per_socket: str
    tres_per_task: str
    tres_req_str: str
    tres_alloc_str: str
    user_id: int
    user_name: str
    wckey: str
    current_working_directory: str


class SQueueResponse(BaseModel):
    meta: Meta
    errors: List
    jobs: List[Job]

# generated by datamodel-codegen: #   filename:  squeue-output-small.json #   timestamp: 2022-01-16T00:43:22+00:00