# This file was generated by the Julia Swagger Code Generator
# Do not modify this file directly. Modify the swagger specification instead.


mutable struct IoK8sApiBatchV1JobStatus <: SwaggerModel
    active::Any # spec type: Union{ Nothing, Int32 } # spec name: active
    completionTime::Any # spec type: Union{ Nothing, IoK8sApimachineryPkgApisMetaV1Time } # spec name: completionTime
    conditions::Any # spec type: Union{ Nothing, Vector{IoK8sApiBatchV1JobCondition} } # spec name: conditions
    failed::Any # spec type: Union{ Nothing, Int32 } # spec name: failed
    startTime::Any # spec type: Union{ Nothing, IoK8sApimachineryPkgApisMetaV1Time } # spec name: startTime
    succeeded::Any # spec type: Union{ Nothing, Int32 } # spec name: succeeded

    function IoK8sApiBatchV1JobStatus(;active=nothing, completionTime=nothing, conditions=nothing, failed=nothing, startTime=nothing, succeeded=nothing)
        o = new()
        validate_property(IoK8sApiBatchV1JobStatus, Symbol("active"), active)
        setfield!(o, Symbol("active"), active)
        validate_property(IoK8sApiBatchV1JobStatus, Symbol("completionTime"), completionTime)
        setfield!(o, Symbol("completionTime"), completionTime)
        validate_property(IoK8sApiBatchV1JobStatus, Symbol("conditions"), conditions)
        setfield!(o, Symbol("conditions"), conditions)
        validate_property(IoK8sApiBatchV1JobStatus, Symbol("failed"), failed)
        setfield!(o, Symbol("failed"), failed)
        validate_property(IoK8sApiBatchV1JobStatus, Symbol("startTime"), startTime)
        setfield!(o, Symbol("startTime"), startTime)
        validate_property(IoK8sApiBatchV1JobStatus, Symbol("succeeded"), succeeded)
        setfield!(o, Symbol("succeeded"), succeeded)
        o
    end
end # type IoK8sApiBatchV1JobStatus

const _property_map_IoK8sApiBatchV1JobStatus = Dict{Symbol,Symbol}(Symbol("active")=>Symbol("active"), Symbol("completionTime")=>Symbol("completionTime"), Symbol("conditions")=>Symbol("conditions"), Symbol("failed")=>Symbol("failed"), Symbol("startTime")=>Symbol("startTime"), Symbol("succeeded")=>Symbol("succeeded"))
const _property_types_IoK8sApiBatchV1JobStatus = Dict{Symbol,String}(Symbol("active")=>"Int32", Symbol("completionTime")=>"IoK8sApimachineryPkgApisMetaV1Time", Symbol("conditions")=>"Vector{IoK8sApiBatchV1JobCondition}", Symbol("failed")=>"Int32", Symbol("startTime")=>"IoK8sApimachineryPkgApisMetaV1Time", Symbol("succeeded")=>"Int32")
Base.propertynames(::Type{ IoK8sApiBatchV1JobStatus }) = collect(keys(_property_map_IoK8sApiBatchV1JobStatus))
Swagger.property_type(::Type{ IoK8sApiBatchV1JobStatus }, name::Symbol) = Union{Nothing,eval(Base.Meta.parse(_property_types_IoK8sApiBatchV1JobStatus[name]))}
Swagger.field_name(::Type{ IoK8sApiBatchV1JobStatus }, property_name::Symbol) =  _property_map_IoK8sApiBatchV1JobStatus[property_name]

function check_required(o::IoK8sApiBatchV1JobStatus)
    true
end

function validate_property(::Type{ IoK8sApiBatchV1JobStatus }, name::Symbol, val)
end
