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



mutable struct IoK8sApiExtensionsV1beta1DaemonSetStatus <: SwaggerModel
    collisionCount::Any # spec type: Union{ Nothing, Int32 } # spec name: collisionCount
    conditions::Any # spec type: Union{ Nothing, Vector{IoK8sApiExtensionsV1beta1DaemonSetCondition} } # spec name: conditions
    currentNumberScheduled::Any # spec type: Union{ Nothing, Int32 } # spec name: currentNumberScheduled
    desiredNumberScheduled::Any # spec type: Union{ Nothing, Int32 } # spec name: desiredNumberScheduled
    numberAvailable::Any # spec type: Union{ Nothing, Int32 } # spec name: numberAvailable
    numberMisscheduled::Any # spec type: Union{ Nothing, Int32 } # spec name: numberMisscheduled
    numberReady::Any # spec type: Union{ Nothing, Int32 } # spec name: numberReady
    numberUnavailable::Any # spec type: Union{ Nothing, Int32 } # spec name: numberUnavailable
    observedGeneration::Any # spec type: Union{ Nothing, Int64 } # spec name: observedGeneration
    updatedNumberScheduled::Any # spec type: Union{ Nothing, Int32 } # spec name: updatedNumberScheduled

    function IoK8sApiExtensionsV1beta1DaemonSetStatus(;collisionCount=nothing, conditions=nothing, currentNumberScheduled=nothing, desiredNumberScheduled=nothing, numberAvailable=nothing, numberMisscheduled=nothing, numberReady=nothing, numberUnavailable=nothing, observedGeneration=nothing, updatedNumberScheduled=nothing)
        o = new()
        validate_property(IoK8sApiExtensionsV1beta1DaemonSetStatus, Symbol("collisionCount"), collisionCount)
        setfield!(o, Symbol("collisionCount"), collisionCount)
        validate_property(IoK8sApiExtensionsV1beta1DaemonSetStatus, Symbol("conditions"), conditions)
        setfield!(o, Symbol("conditions"), conditions)
        validate_property(IoK8sApiExtensionsV1beta1DaemonSetStatus, Symbol("currentNumberScheduled"), currentNumberScheduled)
        setfield!(o, Symbol("currentNumberScheduled"), currentNumberScheduled)
        validate_property(IoK8sApiExtensionsV1beta1DaemonSetStatus, Symbol("desiredNumberScheduled"), desiredNumberScheduled)
        setfield!(o, Symbol("desiredNumberScheduled"), desiredNumberScheduled)
        validate_property(IoK8sApiExtensionsV1beta1DaemonSetStatus, Symbol("numberAvailable"), numberAvailable)
        setfield!(o, Symbol("numberAvailable"), numberAvailable)
        validate_property(IoK8sApiExtensionsV1beta1DaemonSetStatus, Symbol("numberMisscheduled"), numberMisscheduled)
        setfield!(o, Symbol("numberMisscheduled"), numberMisscheduled)
        validate_property(IoK8sApiExtensionsV1beta1DaemonSetStatus, Symbol("numberReady"), numberReady)
        setfield!(o, Symbol("numberReady"), numberReady)
        validate_property(IoK8sApiExtensionsV1beta1DaemonSetStatus, Symbol("numberUnavailable"), numberUnavailable)
        setfield!(o, Symbol("numberUnavailable"), numberUnavailable)
        validate_property(IoK8sApiExtensionsV1beta1DaemonSetStatus, Symbol("observedGeneration"), observedGeneration)
        setfield!(o, Symbol("observedGeneration"), observedGeneration)
        validate_property(IoK8sApiExtensionsV1beta1DaemonSetStatus, Symbol("updatedNumberScheduled"), updatedNumberScheduled)
        setfield!(o, Symbol("updatedNumberScheduled"), updatedNumberScheduled)
        o
    end
end # type IoK8sApiExtensionsV1beta1DaemonSetStatus

const _property_map_IoK8sApiExtensionsV1beta1DaemonSetStatus = Dict{Symbol,Symbol}(Symbol("collisionCount")=>Symbol("collisionCount"), Symbol("conditions")=>Symbol("conditions"), Symbol("currentNumberScheduled")=>Symbol("currentNumberScheduled"), Symbol("desiredNumberScheduled")=>Symbol("desiredNumberScheduled"), Symbol("numberAvailable")=>Symbol("numberAvailable"), Symbol("numberMisscheduled")=>Symbol("numberMisscheduled"), Symbol("numberReady")=>Symbol("numberReady"), Symbol("numberUnavailable")=>Symbol("numberUnavailable"), Symbol("observedGeneration")=>Symbol("observedGeneration"), Symbol("updatedNumberScheduled")=>Symbol("updatedNumberScheduled"))
const _property_types_IoK8sApiExtensionsV1beta1DaemonSetStatus = Dict{Symbol,String}(Symbol("collisionCount")=>"Int32", Symbol("conditions")=>"Vector{IoK8sApiExtensionsV1beta1DaemonSetCondition}", Symbol("currentNumberScheduled")=>"Int32", Symbol("desiredNumberScheduled")=>"Int32", Symbol("numberAvailable")=>"Int32", Symbol("numberMisscheduled")=>"Int32", Symbol("numberReady")=>"Int32", Symbol("numberUnavailable")=>"Int32", Symbol("observedGeneration")=>"Int64", Symbol("updatedNumberScheduled")=>"Int32")
Base.propertynames(::Type{ IoK8sApiExtensionsV1beta1DaemonSetStatus }) = collect(keys(_property_map_IoK8sApiExtensionsV1beta1DaemonSetStatus))
Swagger.property_type(::Type{ IoK8sApiExtensionsV1beta1DaemonSetStatus }, name::Symbol) = Union{Nothing,eval(Meta.parse(_property_types_IoK8sApiExtensionsV1beta1DaemonSetStatus[name]))}
Swagger.field_name(::Type{ IoK8sApiExtensionsV1beta1DaemonSetStatus }, property_name::Symbol) =  _property_map_IoK8sApiExtensionsV1beta1DaemonSetStatus[property_name]

function check_required(o::IoK8sApiExtensionsV1beta1DaemonSetStatus)
    (getproperty(o, Symbol("currentNumberScheduled")) === nothing) && (return false)
    (getproperty(o, Symbol("desiredNumberScheduled")) === nothing) && (return false)
    (getproperty(o, Symbol("numberMisscheduled")) === nothing) && (return false)
    (getproperty(o, Symbol("numberReady")) === nothing) && (return false)
    true
end

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