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


mutable struct IoK8sApiCoreV1NodeStatus <: SwaggerModel
    addresses::Any # spec type: Union{ Nothing, Vector{IoK8sApiCoreV1NodeAddress} } # spec name: addresses
    allocatable::Any # spec type: Union{ Nothing, Dict{String, IoK8sApimachineryPkgApiResourceQuantity} } # spec name: allocatable
    capacity::Any # spec type: Union{ Nothing, Dict{String, IoK8sApimachineryPkgApiResourceQuantity} } # spec name: capacity
    conditions::Any # spec type: Union{ Nothing, Vector{IoK8sApiCoreV1NodeCondition} } # spec name: conditions
    config::Any # spec type: Union{ Nothing, IoK8sApiCoreV1NodeConfigStatus } # spec name: config
    daemonEndpoints::Any # spec type: Union{ Nothing, IoK8sApiCoreV1NodeDaemonEndpoints } # spec name: daemonEndpoints
    images::Any # spec type: Union{ Nothing, Vector{IoK8sApiCoreV1ContainerImage} } # spec name: images
    nodeInfo::Any # spec type: Union{ Nothing, IoK8sApiCoreV1NodeSystemInfo } # spec name: nodeInfo
    phase::Any # spec type: Union{ Nothing, String } # spec name: phase
    volumesAttached::Any # spec type: Union{ Nothing, Vector{IoK8sApiCoreV1AttachedVolume} } # spec name: volumesAttached
    volumesInUse::Any # spec type: Union{ Nothing, Vector{String} } # spec name: volumesInUse

    function IoK8sApiCoreV1NodeStatus(;addresses=nothing, allocatable=nothing, capacity=nothing, conditions=nothing, config=nothing, daemonEndpoints=nothing, images=nothing, nodeInfo=nothing, phase=nothing, volumesAttached=nothing, volumesInUse=nothing)
        o = new()
        validate_property(IoK8sApiCoreV1NodeStatus, Symbol("addresses"), addresses)
        setfield!(o, Symbol("addresses"), addresses)
        validate_property(IoK8sApiCoreV1NodeStatus, Symbol("allocatable"), allocatable)
        setfield!(o, Symbol("allocatable"), allocatable)
        validate_property(IoK8sApiCoreV1NodeStatus, Symbol("capacity"), capacity)
        setfield!(o, Symbol("capacity"), capacity)
        validate_property(IoK8sApiCoreV1NodeStatus, Symbol("conditions"), conditions)
        setfield!(o, Symbol("conditions"), conditions)
        validate_property(IoK8sApiCoreV1NodeStatus, Symbol("config"), config)
        setfield!(o, Symbol("config"), config)
        validate_property(IoK8sApiCoreV1NodeStatus, Symbol("daemonEndpoints"), daemonEndpoints)
        setfield!(o, Symbol("daemonEndpoints"), daemonEndpoints)
        validate_property(IoK8sApiCoreV1NodeStatus, Symbol("images"), images)
        setfield!(o, Symbol("images"), images)
        validate_property(IoK8sApiCoreV1NodeStatus, Symbol("nodeInfo"), nodeInfo)
        setfield!(o, Symbol("nodeInfo"), nodeInfo)
        validate_property(IoK8sApiCoreV1NodeStatus, Symbol("phase"), phase)
        setfield!(o, Symbol("phase"), phase)
        validate_property(IoK8sApiCoreV1NodeStatus, Symbol("volumesAttached"), volumesAttached)
        setfield!(o, Symbol("volumesAttached"), volumesAttached)
        validate_property(IoK8sApiCoreV1NodeStatus, Symbol("volumesInUse"), volumesInUse)
        setfield!(o, Symbol("volumesInUse"), volumesInUse)
        o
    end
end # type IoK8sApiCoreV1NodeStatus

const _property_map_IoK8sApiCoreV1NodeStatus = Dict{Symbol,Symbol}(Symbol("addresses")=>Symbol("addresses"), Symbol("allocatable")=>Symbol("allocatable"), Symbol("capacity")=>Symbol("capacity"), Symbol("conditions")=>Symbol("conditions"), Symbol("config")=>Symbol("config"), Symbol("daemonEndpoints")=>Symbol("daemonEndpoints"), Symbol("images")=>Symbol("images"), Symbol("nodeInfo")=>Symbol("nodeInfo"), Symbol("phase")=>Symbol("phase"), Symbol("volumesAttached")=>Symbol("volumesAttached"), Symbol("volumesInUse")=>Symbol("volumesInUse"))
const _property_types_IoK8sApiCoreV1NodeStatus = Dict{Symbol,String}(Symbol("addresses")=>"Vector{IoK8sApiCoreV1NodeAddress}", Symbol("allocatable")=>"Dict{String, IoK8sApimachineryPkgApiResourceQuantity}", Symbol("capacity")=>"Dict{String, IoK8sApimachineryPkgApiResourceQuantity}", Symbol("conditions")=>"Vector{IoK8sApiCoreV1NodeCondition}", Symbol("config")=>"IoK8sApiCoreV1NodeConfigStatus", Symbol("daemonEndpoints")=>"IoK8sApiCoreV1NodeDaemonEndpoints", Symbol("images")=>"Vector{IoK8sApiCoreV1ContainerImage}", Symbol("nodeInfo")=>"IoK8sApiCoreV1NodeSystemInfo", Symbol("phase")=>"String", Symbol("volumesAttached")=>"Vector{IoK8sApiCoreV1AttachedVolume}", Symbol("volumesInUse")=>"Vector{String}")
Base.propertynames(::Type{ IoK8sApiCoreV1NodeStatus }) = collect(keys(_property_map_IoK8sApiCoreV1NodeStatus))
Swagger.property_type(::Type{ IoK8sApiCoreV1NodeStatus }, name::Symbol) = Union{Nothing,eval(Base.Meta.parse(_property_types_IoK8sApiCoreV1NodeStatus[name]))}
Swagger.field_name(::Type{ IoK8sApiCoreV1NodeStatus }, property_name::Symbol) =  _property_map_IoK8sApiCoreV1NodeStatus[property_name]

function check_required(o::IoK8sApiCoreV1NodeStatus)
    true
end

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