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



mutable struct IoK8sApiExtensionsV1beta1ReplicaSetStatus <: SwaggerModel
    availableReplicas::Any # spec type: Union{ Nothing, Int32 } # spec name: availableReplicas
    conditions::Any # spec type: Union{ Nothing, Vector{IoK8sApiExtensionsV1beta1ReplicaSetCondition} } # spec name: conditions
    fullyLabeledReplicas::Any # spec type: Union{ Nothing, Int32 } # spec name: fullyLabeledReplicas
    observedGeneration::Any # spec type: Union{ Nothing, Int64 } # spec name: observedGeneration
    readyReplicas::Any # spec type: Union{ Nothing, Int32 } # spec name: readyReplicas
    replicas::Any # spec type: Union{ Nothing, Int32 } # spec name: replicas

    function IoK8sApiExtensionsV1beta1ReplicaSetStatus(;availableReplicas=nothing, conditions=nothing, fullyLabeledReplicas=nothing, observedGeneration=nothing, readyReplicas=nothing, replicas=nothing)
        o = new()
        validate_property(IoK8sApiExtensionsV1beta1ReplicaSetStatus, Symbol("availableReplicas"), availableReplicas)
        setfield!(o, Symbol("availableReplicas"), availableReplicas)
        validate_property(IoK8sApiExtensionsV1beta1ReplicaSetStatus, Symbol("conditions"), conditions)
        setfield!(o, Symbol("conditions"), conditions)
        validate_property(IoK8sApiExtensionsV1beta1ReplicaSetStatus, Symbol("fullyLabeledReplicas"), fullyLabeledReplicas)
        setfield!(o, Symbol("fullyLabeledReplicas"), fullyLabeledReplicas)
        validate_property(IoK8sApiExtensionsV1beta1ReplicaSetStatus, Symbol("observedGeneration"), observedGeneration)
        setfield!(o, Symbol("observedGeneration"), observedGeneration)
        validate_property(IoK8sApiExtensionsV1beta1ReplicaSetStatus, Symbol("readyReplicas"), readyReplicas)
        setfield!(o, Symbol("readyReplicas"), readyReplicas)
        validate_property(IoK8sApiExtensionsV1beta1ReplicaSetStatus, Symbol("replicas"), replicas)
        setfield!(o, Symbol("replicas"), replicas)
        o
    end
end # type IoK8sApiExtensionsV1beta1ReplicaSetStatus

const _property_map_IoK8sApiExtensionsV1beta1ReplicaSetStatus = Dict{Symbol,Symbol}(Symbol("availableReplicas")=>Symbol("availableReplicas"), Symbol("conditions")=>Symbol("conditions"), Symbol("fullyLabeledReplicas")=>Symbol("fullyLabeledReplicas"), Symbol("observedGeneration")=>Symbol("observedGeneration"), Symbol("readyReplicas")=>Symbol("readyReplicas"), Symbol("replicas")=>Symbol("replicas"))
const _property_types_IoK8sApiExtensionsV1beta1ReplicaSetStatus = Dict{Symbol,String}(Symbol("availableReplicas")=>"Int32", Symbol("conditions")=>"Vector{IoK8sApiExtensionsV1beta1ReplicaSetCondition}", Symbol("fullyLabeledReplicas")=>"Int32", Symbol("observedGeneration")=>"Int64", Symbol("readyReplicas")=>"Int32", Symbol("replicas")=>"Int32")
Base.propertynames(::Type{ IoK8sApiExtensionsV1beta1ReplicaSetStatus }) = collect(keys(_property_map_IoK8sApiExtensionsV1beta1ReplicaSetStatus))
Swagger.property_type(::Type{ IoK8sApiExtensionsV1beta1ReplicaSetStatus }, name::Symbol) = Union{Nothing,eval(Meta.parse(_property_types_IoK8sApiExtensionsV1beta1ReplicaSetStatus[name]))}
Swagger.field_name(::Type{ IoK8sApiExtensionsV1beta1ReplicaSetStatus }, property_name::Symbol) =  _property_map_IoK8sApiExtensionsV1beta1ReplicaSetStatus[property_name]

function check_required(o::IoK8sApiExtensionsV1beta1ReplicaSetStatus)
    (getproperty(o, Symbol("replicas")) === nothing) && (return false)
    true
end

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