# This file was generated by the Julia OpenAPI Code Generator
# Do not modify this file directly. Modify the OpenAPI specification instead.
@doc raw"""slurm_stats_model
Per-step Slurm accounting data collected via sacct.
SlurmStatsModel(;
id=nothing,
workflow_id=nothing,
job_id=nothing,
run_id=nothing,
attempt_id=nothing,
slurm_job_id=nothing,
max_rss_bytes=nothing,
max_vm_size_bytes=nothing,
max_disk_read_bytes=nothing,
max_disk_write_bytes=nothing,
ave_cpu_seconds=nothing,
node_list=nothing,
)
- id::Int64 : Database ID for the record
- workflow_id::Int64 : Database ID for the workflow
- job_id::Int64 : Database ID for the job
- run_id::Int64 : ID of the workflow run
- attempt_id::Int64 : Retry attempt number (starts at 1)
- slurm_job_id::String : Slurm allocation ID (from SLURM_JOB_ID env var)
- max_rss_bytes::Int64 : Max resident set size in bytes (from sacct MaxRSS)
- max_vm_size_bytes::Int64 : Max virtual memory size in bytes (from sacct MaxVMSize)
- max_disk_read_bytes::Int64 : Max disk read in bytes (from sacct MaxDiskRead)
- max_disk_write_bytes::Int64 : Max disk write in bytes (from sacct MaxDiskWrite)
- ave_cpu_seconds::Float64 : Average CPU time in seconds (from sacct AveCPU)
- node_list::String : Node(s) on which the step ran (from sacct NodeList)
"""
Base.@kwdef mutable struct SlurmStatsModel <: OpenAPI.APIModel
id::Union{Nothing, Int64} = nothing
workflow_id::Union{Nothing, Int64} = nothing
job_id::Union{Nothing, Int64} = nothing
run_id::Union{Nothing, Int64} = nothing
attempt_id::Union{Nothing, Int64} = nothing
slurm_job_id::Union{Nothing, String} = nothing
max_rss_bytes::Union{Nothing, Int64} = nothing
max_vm_size_bytes::Union{Nothing, Int64} = nothing
max_disk_read_bytes::Union{Nothing, Int64} = nothing
max_disk_write_bytes::Union{Nothing, Int64} = nothing
ave_cpu_seconds::Union{Nothing, Float64} = nothing
node_list::Union{Nothing, String} = nothing
function SlurmStatsModel(id, workflow_id, job_id, run_id, attempt_id, slurm_job_id, max_rss_bytes, max_vm_size_bytes, max_disk_read_bytes, max_disk_write_bytes, ave_cpu_seconds, node_list, )
o = new(id, workflow_id, job_id, run_id, attempt_id, slurm_job_id, max_rss_bytes, max_vm_size_bytes, max_disk_read_bytes, max_disk_write_bytes, ave_cpu_seconds, node_list, )
OpenAPI.validate_properties(o)
return o
end
end # type SlurmStatsModel
const _property_types_SlurmStatsModel = Dict{Symbol,String}(Symbol("id")=>"Int64", Symbol("workflow_id")=>"Int64", Symbol("job_id")=>"Int64", Symbol("run_id")=>"Int64", Symbol("attempt_id")=>"Int64", Symbol("slurm_job_id")=>"String", Symbol("max_rss_bytes")=>"Int64", Symbol("max_vm_size_bytes")=>"Int64", Symbol("max_disk_read_bytes")=>"Int64", Symbol("max_disk_write_bytes")=>"Int64", Symbol("ave_cpu_seconds")=>"Float64", Symbol("node_list")=>"String", )
OpenAPI.property_type(::Type{ SlurmStatsModel }, name::Symbol) = Union{Nothing,eval(Base.Meta.parse(_property_types_SlurmStatsModel[name]))}
function OpenAPI.check_required(o::SlurmStatsModel)
o.workflow_id === nothing && (return false)
o.job_id === nothing && (return false)
o.run_id === nothing && (return false)
o.attempt_id === nothing && (return false)
true
end
function OpenAPI.validate_properties(o::SlurmStatsModel)
OpenAPI.validate_property(SlurmStatsModel, Symbol("id"), o.id)
OpenAPI.validate_property(SlurmStatsModel, Symbol("workflow_id"), o.workflow_id)
OpenAPI.validate_property(SlurmStatsModel, Symbol("job_id"), o.job_id)
OpenAPI.validate_property(SlurmStatsModel, Symbol("run_id"), o.run_id)
OpenAPI.validate_property(SlurmStatsModel, Symbol("attempt_id"), o.attempt_id)
OpenAPI.validate_property(SlurmStatsModel, Symbol("slurm_job_id"), o.slurm_job_id)
OpenAPI.validate_property(SlurmStatsModel, Symbol("max_rss_bytes"), o.max_rss_bytes)
OpenAPI.validate_property(SlurmStatsModel, Symbol("max_vm_size_bytes"), o.max_vm_size_bytes)
OpenAPI.validate_property(SlurmStatsModel, Symbol("max_disk_read_bytes"), o.max_disk_read_bytes)
OpenAPI.validate_property(SlurmStatsModel, Symbol("max_disk_write_bytes"), o.max_disk_write_bytes)
OpenAPI.validate_property(SlurmStatsModel, Symbol("ave_cpu_seconds"), o.ave_cpu_seconds)
OpenAPI.validate_property(SlurmStatsModel, Symbol("node_list"), o.node_list)
end
function OpenAPI.validate_property(::Type{ SlurmStatsModel }, name::Symbol, val)
end