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


mutable struct IoK8sApiCoreV1ContainerState <: SwaggerModel
    running::Any # spec type: Union{ Nothing, IoK8sApiCoreV1ContainerStateRunning } # spec name: running
    terminated::Any # spec type: Union{ Nothing, IoK8sApiCoreV1ContainerStateTerminated } # spec name: terminated
    waiting::Any # spec type: Union{ Nothing, IoK8sApiCoreV1ContainerStateWaiting } # spec name: waiting

    function IoK8sApiCoreV1ContainerState(;running=nothing, terminated=nothing, waiting=nothing)
        o = new()
        validate_property(IoK8sApiCoreV1ContainerState, Symbol("running"), running)
        setfield!(o, Symbol("running"), running)
        validate_property(IoK8sApiCoreV1ContainerState, Symbol("terminated"), terminated)
        setfield!(o, Symbol("terminated"), terminated)
        validate_property(IoK8sApiCoreV1ContainerState, Symbol("waiting"), waiting)
        setfield!(o, Symbol("waiting"), waiting)
        o
    end
end # type IoK8sApiCoreV1ContainerState

const _property_map_IoK8sApiCoreV1ContainerState = Dict{Symbol,Symbol}(Symbol("running")=>Symbol("running"), Symbol("terminated")=>Symbol("terminated"), Symbol("waiting")=>Symbol("waiting"))
const _property_types_IoK8sApiCoreV1ContainerState = Dict{Symbol,String}(Symbol("running")=>"IoK8sApiCoreV1ContainerStateRunning", Symbol("terminated")=>"IoK8sApiCoreV1ContainerStateTerminated", Symbol("waiting")=>"IoK8sApiCoreV1ContainerStateWaiting")
Base.propertynames(::Type{ IoK8sApiCoreV1ContainerState }) = collect(keys(_property_map_IoK8sApiCoreV1ContainerState))
Swagger.property_type(::Type{ IoK8sApiCoreV1ContainerState }, name::Symbol) = Union{Nothing,eval(Base.Meta.parse(_property_types_IoK8sApiCoreV1ContainerState[name]))}
Swagger.field_name(::Type{ IoK8sApiCoreV1ContainerState }, property_name::Symbol) =  _property_map_IoK8sApiCoreV1ContainerState[property_name]

function check_required(o::IoK8sApiCoreV1ContainerState)
    true
end

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