torc 0.23.0

Workflow management system
# This file was generated by the Julia OpenAPI Code Generator
# Do not modify this file directly. Modify the OpenAPI specification instead.


@doc raw"""SlurmSchedulerModel

    SlurmSchedulerModel(;
        account=nothing,
        extra=nothing,
        gres=nothing,
        id=nothing,
        mem=nothing,
        name=nothing,
        nodes=nothing,
        ntasks_per_node=nothing,
        partition=nothing,
        qos=nothing,
        tmp=nothing,
        walltime=nothing,
        workflow_id=nothing,
    )

    - account::String
    - extra::String
    - gres::String
    - id::Int64
    - mem::String
    - name::String
    - nodes::Int64
    - ntasks_per_node::Int64
    - partition::String
    - qos::String
    - tmp::String
    - walltime::String
    - workflow_id::Int64
"""
Base.@kwdef mutable struct SlurmSchedulerModel <: OpenAPI.APIModel
    account::Union{Nothing, String} = nothing
    extra::Union{Nothing, String} = nothing
    gres::Union{Nothing, String} = nothing
    id::Union{Nothing, Int64} = nothing
    mem::Union{Nothing, String} = nothing
    name::Union{Nothing, String} = nothing
    nodes::Union{Nothing, Int64} = nothing
    ntasks_per_node::Union{Nothing, Int64} = nothing
    partition::Union{Nothing, String} = nothing
    qos::Union{Nothing, String} = nothing
    tmp::Union{Nothing, String} = nothing
    walltime::Union{Nothing, String} = nothing
    workflow_id::Union{Nothing, Int64} = nothing

    function SlurmSchedulerModel(account, extra, gres, id, mem, name, nodes, ntasks_per_node, partition, qos, tmp, walltime, workflow_id, )
        o = new(account, extra, gres, id, mem, name, nodes, ntasks_per_node, partition, qos, tmp, walltime, workflow_id, )
        OpenAPI.validate_properties(o)
        return o
    end
end # type SlurmSchedulerModel

const _property_types_SlurmSchedulerModel = Dict{Symbol,String}(Symbol("account")=>"String", Symbol("extra")=>"String", Symbol("gres")=>"String", Symbol("id")=>"Int64", Symbol("mem")=>"String", Symbol("name")=>"String", Symbol("nodes")=>"Int64", Symbol("ntasks_per_node")=>"Int64", Symbol("partition")=>"String", Symbol("qos")=>"String", Symbol("tmp")=>"String", Symbol("walltime")=>"String", Symbol("workflow_id")=>"Int64", )
OpenAPI.property_type(::Type{ SlurmSchedulerModel }, name::Symbol) = Union{Nothing,eval(Base.Meta.parse(_property_types_SlurmSchedulerModel[name]))}

function OpenAPI.check_required(o::SlurmSchedulerModel)
    o.account === nothing && (return false)
    o.nodes === nothing && (return false)
    o.walltime === nothing && (return false)
    o.workflow_id === nothing && (return false)
    true
end

function OpenAPI.validate_properties(o::SlurmSchedulerModel)
    OpenAPI.validate_property(SlurmSchedulerModel, Symbol("account"), o.account)
    OpenAPI.validate_property(SlurmSchedulerModel, Symbol("extra"), o.extra)
    OpenAPI.validate_property(SlurmSchedulerModel, Symbol("gres"), o.gres)
    OpenAPI.validate_property(SlurmSchedulerModel, Symbol("id"), o.id)
    OpenAPI.validate_property(SlurmSchedulerModel, Symbol("mem"), o.mem)
    OpenAPI.validate_property(SlurmSchedulerModel, Symbol("name"), o.name)
    OpenAPI.validate_property(SlurmSchedulerModel, Symbol("nodes"), o.nodes)
    OpenAPI.validate_property(SlurmSchedulerModel, Symbol("ntasks_per_node"), o.ntasks_per_node)
    OpenAPI.validate_property(SlurmSchedulerModel, Symbol("partition"), o.partition)
    OpenAPI.validate_property(SlurmSchedulerModel, Symbol("qos"), o.qos)
    OpenAPI.validate_property(SlurmSchedulerModel, Symbol("tmp"), o.tmp)
    OpenAPI.validate_property(SlurmSchedulerModel, Symbol("walltime"), o.walltime)
    OpenAPI.validate_property(SlurmSchedulerModel, Symbol("workflow_id"), o.workflow_id)
end

function OpenAPI.validate_property(::Type{ SlurmSchedulerModel }, name::Symbol, val)




    if name === Symbol("id")
        OpenAPI.validate_param(name, "SlurmSchedulerModel", :format, val, "int64")
    end



    if name === Symbol("nodes")
        OpenAPI.validate_param(name, "SlurmSchedulerModel", :format, val, "int64")
    end

    if name === Symbol("ntasks_per_node")
        OpenAPI.validate_param(name, "SlurmSchedulerModel", :format, val, "int64")
    end





    if name === Symbol("workflow_id")
        OpenAPI.validate_param(name, "SlurmSchedulerModel", :format, val, "int64")
    end
end