torc 0.22.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"""ComputeNodeSchedule

    ComputeNodeSchedule(;
        max_parallel_jobs=nothing,
        num_jobs=nothing,
        scheduler_id=nothing,
        start_one_worker_per_node=nothing,
    )

    - max_parallel_jobs::Int64
    - num_jobs::Int64
    - scheduler_id::Int64
    - start_one_worker_per_node::Bool
"""
Base.@kwdef mutable struct ComputeNodeSchedule <: OpenAPI.APIModel
    max_parallel_jobs::Union{Nothing, Int64} = nothing
    num_jobs::Union{Nothing, Int64} = nothing
    scheduler_id::Union{Nothing, Int64} = nothing
    start_one_worker_per_node::Union{Nothing, Bool} = nothing

    function ComputeNodeSchedule(max_parallel_jobs, num_jobs, scheduler_id, start_one_worker_per_node, )
        o = new(max_parallel_jobs, num_jobs, scheduler_id, start_one_worker_per_node, )
        OpenAPI.validate_properties(o)
        return o
    end
end # type ComputeNodeSchedule

const _property_types_ComputeNodeSchedule = Dict{Symbol,String}(Symbol("max_parallel_jobs")=>"Int64", Symbol("num_jobs")=>"Int64", Symbol("scheduler_id")=>"Int64", Symbol("start_one_worker_per_node")=>"Bool", )
OpenAPI.property_type(::Type{ ComputeNodeSchedule }, name::Symbol) = Union{Nothing,eval(Base.Meta.parse(_property_types_ComputeNodeSchedule[name]))}

function OpenAPI.check_required(o::ComputeNodeSchedule)
    o.num_jobs === nothing && (return false)
    o.scheduler_id === nothing && (return false)
    true
end

function OpenAPI.validate_properties(o::ComputeNodeSchedule)
    OpenAPI.validate_property(ComputeNodeSchedule, Symbol("max_parallel_jobs"), o.max_parallel_jobs)
    OpenAPI.validate_property(ComputeNodeSchedule, Symbol("num_jobs"), o.num_jobs)
    OpenAPI.validate_property(ComputeNodeSchedule, Symbol("scheduler_id"), o.scheduler_id)
    OpenAPI.validate_property(ComputeNodeSchedule, Symbol("start_one_worker_per_node"), o.start_one_worker_per_node)
end

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

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

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

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

end