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


mutable struct VirtualMachineScaleSetManagedDiskParameters <: SwaggerModel
    storageAccountType::Any # spec type: Union{ Nothing, StorageAccountType } # spec name: storageAccountType
    diskEncryptionSet::Any # spec type: Union{ Nothing, DiskEncryptionSetParameters } # spec name: diskEncryptionSet

    function VirtualMachineScaleSetManagedDiskParameters(;storageAccountType=nothing, diskEncryptionSet=nothing)
        o = new()
        validate_property(VirtualMachineScaleSetManagedDiskParameters, Symbol("storageAccountType"), storageAccountType)
        setfield!(o, Symbol("storageAccountType"), storageAccountType)
        validate_property(VirtualMachineScaleSetManagedDiskParameters, Symbol("diskEncryptionSet"), diskEncryptionSet)
        setfield!(o, Symbol("diskEncryptionSet"), diskEncryptionSet)
        o
    end
end # type VirtualMachineScaleSetManagedDiskParameters

const _property_map_VirtualMachineScaleSetManagedDiskParameters = Dict{Symbol,Symbol}(Symbol("storageAccountType")=>Symbol("storageAccountType"), Symbol("diskEncryptionSet")=>Symbol("diskEncryptionSet"))
const _property_types_VirtualMachineScaleSetManagedDiskParameters = Dict{Symbol,String}(Symbol("storageAccountType")=>"StorageAccountType", Symbol("diskEncryptionSet")=>"DiskEncryptionSetParameters")
Base.propertynames(::Type{ VirtualMachineScaleSetManagedDiskParameters }) = collect(keys(_property_map_VirtualMachineScaleSetManagedDiskParameters))
Swagger.property_type(::Type{ VirtualMachineScaleSetManagedDiskParameters }, name::Symbol) = Union{Nothing,eval(Base.Meta.parse(_property_types_VirtualMachineScaleSetManagedDiskParameters[name]))}
Swagger.field_name(::Type{ VirtualMachineScaleSetManagedDiskParameters }, property_name::Symbol) =  _property_map_VirtualMachineScaleSetManagedDiskParameters[property_name]

function check_required(o::VirtualMachineScaleSetManagedDiskParameters)
    true
end

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