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



mutable struct EncryptionSettings <: SwaggerModel
    enabled::Any # spec type: Union{ Nothing, Bool } # spec name: enabled
    diskEncryptionKey::Any # spec type: Union{ Nothing, KeyVaultAndSecretReference } # spec name: diskEncryptionKey
    keyEncryptionKey::Any # spec type: Union{ Nothing, KeyVaultAndKeyReference } # spec name: keyEncryptionKey

    function EncryptionSettings(;enabled=nothing, diskEncryptionKey=nothing, keyEncryptionKey=nothing)
        o = new()
        validate_property(EncryptionSettings, Symbol("enabled"), enabled)
        setfield!(o, Symbol("enabled"), enabled)
        validate_property(EncryptionSettings, Symbol("diskEncryptionKey"), diskEncryptionKey)
        setfield!(o, Symbol("diskEncryptionKey"), diskEncryptionKey)
        validate_property(EncryptionSettings, Symbol("keyEncryptionKey"), keyEncryptionKey)
        setfield!(o, Symbol("keyEncryptionKey"), keyEncryptionKey)
        o
    end
end # type EncryptionSettings

const _property_map_EncryptionSettings = Dict{Symbol,Symbol}(Symbol("enabled")=>Symbol("enabled"), Symbol("diskEncryptionKey")=>Symbol("diskEncryptionKey"), Symbol("keyEncryptionKey")=>Symbol("keyEncryptionKey"))
const _property_types_EncryptionSettings = Dict{Symbol,String}(Symbol("enabled")=>"Bool", Symbol("diskEncryptionKey")=>"KeyVaultAndSecretReference", Symbol("keyEncryptionKey")=>"KeyVaultAndKeyReference")
Base.propertynames(::Type{ EncryptionSettings }) = collect(keys(_property_map_EncryptionSettings))
Swagger.property_type(::Type{ EncryptionSettings }, name::Symbol) = Union{Nothing,eval(Meta.parse(_property_types_EncryptionSettings[name]))}
Swagger.field_name(::Type{ EncryptionSettings }, property_name::Symbol) =  _property_map_EncryptionSettings[property_name]

function check_required(o::EncryptionSettings)
    true
end

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