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


mutable struct ContainerServiceMasterProfile <: SwaggerModel
    count::Any # spec type: Union{ Nothing, Int32 } # spec name: count
    dnsPrefix::Any # spec type: Union{ Nothing, String } # spec name: dnsPrefix
    fqdn::Any # spec type: Union{ Nothing, String } # spec name: fqdn

    function ContainerServiceMasterProfile(;count=1, dnsPrefix=nothing, fqdn=nothing)
        o = new()
        validate_property(ContainerServiceMasterProfile, Symbol("count"), count)
        setfield!(o, Symbol("count"), count)
        validate_property(ContainerServiceMasterProfile, Symbol("dnsPrefix"), dnsPrefix)
        setfield!(o, Symbol("dnsPrefix"), dnsPrefix)
        validate_property(ContainerServiceMasterProfile, Symbol("fqdn"), fqdn)
        setfield!(o, Symbol("fqdn"), fqdn)
        o
    end
end # type ContainerServiceMasterProfile

const _property_map_ContainerServiceMasterProfile = Dict{Symbol,Symbol}(Symbol("count")=>Symbol("count"), Symbol("dnsPrefix")=>Symbol("dnsPrefix"), Symbol("fqdn")=>Symbol("fqdn"))
const _property_types_ContainerServiceMasterProfile = Dict{Symbol,String}(Symbol("count")=>"Int32", Symbol("dnsPrefix")=>"String", Symbol("fqdn")=>"String")
Base.propertynames(::Type{ ContainerServiceMasterProfile }) = collect(keys(_property_map_ContainerServiceMasterProfile))
Swagger.property_type(::Type{ ContainerServiceMasterProfile }, name::Symbol) = Union{Nothing,eval(Base.Meta.parse(_property_types_ContainerServiceMasterProfile[name]))}
Swagger.field_name(::Type{ ContainerServiceMasterProfile }, property_name::Symbol) =  _property_map_ContainerServiceMasterProfile[property_name]

const _allowed_ContainerServiceMasterProfile_count = ["1", "3", "5"]

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

function validate_property(::Type{ ContainerServiceMasterProfile }, name::Symbol, val)
    if name === Symbol("count")
        Swagger.validate_param(name, "ContainerServiceMasterProfile", :enum, val, _allowed_ContainerServiceMasterProfile_count)
    end
end
