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


@doc raw"""ResourceRequirements describes the compute resource requirements.

    IoK8sApiCoreV1ResourceRequirements(;
        limits=nothing,
        requests=nothing,
    )

    - limits::Dict{String, IoK8sApimachineryPkgApiResourceQuantity} : Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
    - requests::Dict{String, IoK8sApimachineryPkgApiResourceQuantity} : Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
"""
mutable struct IoK8sApiCoreV1ResourceRequirements <: SwaggerModel
    limits::Any # spec type: Union{ Nothing, Dict{String, IoK8sApimachineryPkgApiResourceQuantity} } # spec name: limits
    requests::Any # spec type: Union{ Nothing, Dict{String, IoK8sApimachineryPkgApiResourceQuantity} } # spec name: requests

    function IoK8sApiCoreV1ResourceRequirements(;limits=nothing, requests=nothing)
        o = new()
        validate_property(IoK8sApiCoreV1ResourceRequirements, Symbol("limits"), limits)
        setfield!(o, Symbol("limits"), limits)
        validate_property(IoK8sApiCoreV1ResourceRequirements, Symbol("requests"), requests)
        setfield!(o, Symbol("requests"), requests)
        o
    end
end # type IoK8sApiCoreV1ResourceRequirements

const _property_map_IoK8sApiCoreV1ResourceRequirements = Dict{Symbol,Symbol}(Symbol("limits")=>Symbol("limits"), Symbol("requests")=>Symbol("requests"))
const _property_types_IoK8sApiCoreV1ResourceRequirements = Dict{Symbol,String}(Symbol("limits")=>"Dict{String, IoK8sApimachineryPkgApiResourceQuantity}", Symbol("requests")=>"Dict{String, IoK8sApimachineryPkgApiResourceQuantity}")
Base.propertynames(::Type{ IoK8sApiCoreV1ResourceRequirements }) = collect(keys(_property_map_IoK8sApiCoreV1ResourceRequirements))
Swagger.property_type(::Type{ IoK8sApiCoreV1ResourceRequirements }, name::Symbol) = Union{Nothing,eval(Base.Meta.parse(_property_types_IoK8sApiCoreV1ResourceRequirements[name]))}
Swagger.field_name(::Type{ IoK8sApiCoreV1ResourceRequirements }, property_name::Symbol) =  _property_map_IoK8sApiCoreV1ResourceRequirements[property_name]

function check_required(o::IoK8sApiCoreV1ResourceRequirements)
    true
end

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