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



mutable struct VirtualMachineSize <: SwaggerModel
    name::Any # spec type: Union{ Nothing, String } # spec name: name
    numberOfCores::Any # spec type: Union{ Nothing, Int32 } # spec name: numberOfCores
    osDiskSizeInMB::Any # spec type: Union{ Nothing, Int32 } # spec name: osDiskSizeInMB
    resourceDiskSizeInMB::Any # spec type: Union{ Nothing, Int32 } # spec name: resourceDiskSizeInMB
    memoryInMB::Any # spec type: Union{ Nothing, Int32 } # spec name: memoryInMB
    maxDataDiskCount::Any # spec type: Union{ Nothing, Int32 } # spec name: maxDataDiskCount

    function VirtualMachineSize(;name=nothing, numberOfCores=nothing, osDiskSizeInMB=nothing, resourceDiskSizeInMB=nothing, memoryInMB=nothing, maxDataDiskCount=nothing)
        o = new()
        validate_property(VirtualMachineSize, Symbol("name"), name)
        setfield!(o, Symbol("name"), name)
        validate_property(VirtualMachineSize, Symbol("numberOfCores"), numberOfCores)
        setfield!(o, Symbol("numberOfCores"), numberOfCores)
        validate_property(VirtualMachineSize, Symbol("osDiskSizeInMB"), osDiskSizeInMB)
        setfield!(o, Symbol("osDiskSizeInMB"), osDiskSizeInMB)
        validate_property(VirtualMachineSize, Symbol("resourceDiskSizeInMB"), resourceDiskSizeInMB)
        setfield!(o, Symbol("resourceDiskSizeInMB"), resourceDiskSizeInMB)
        validate_property(VirtualMachineSize, Symbol("memoryInMB"), memoryInMB)
        setfield!(o, Symbol("memoryInMB"), memoryInMB)
        validate_property(VirtualMachineSize, Symbol("maxDataDiskCount"), maxDataDiskCount)
        setfield!(o, Symbol("maxDataDiskCount"), maxDataDiskCount)
        o
    end
end # type VirtualMachineSize

const _property_map_VirtualMachineSize = Dict{Symbol,Symbol}(Symbol("name")=>Symbol("name"), Symbol("numberOfCores")=>Symbol("numberOfCores"), Symbol("osDiskSizeInMB")=>Symbol("osDiskSizeInMB"), Symbol("resourceDiskSizeInMB")=>Symbol("resourceDiskSizeInMB"), Symbol("memoryInMB")=>Symbol("memoryInMB"), Symbol("maxDataDiskCount")=>Symbol("maxDataDiskCount"))
const _property_types_VirtualMachineSize = Dict{Symbol,String}(Symbol("name")=>"String", Symbol("numberOfCores")=>"Int32", Symbol("osDiskSizeInMB")=>"Int32", Symbol("resourceDiskSizeInMB")=>"Int32", Symbol("memoryInMB")=>"Int32", Symbol("maxDataDiskCount")=>"Int32")
Base.propertynames(::Type{ VirtualMachineSize }) = collect(keys(_property_map_VirtualMachineSize))
Swagger.property_type(::Type{ VirtualMachineSize }, name::Symbol) = Union{Nothing,eval(Meta.parse(_property_types_VirtualMachineSize[name]))}
Swagger.field_name(::Type{ VirtualMachineSize }, property_name::Symbol) =  _property_map_VirtualMachineSize[property_name]

function check_required(o::VirtualMachineSize)
    true
end

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