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


mutable struct AliasPath <: SwaggerModel
    path::Any # spec type: Union{ Nothing, String } # spec name: path
    apiVersions::Any # spec type: Union{ Nothing, Vector{String} } # spec name: apiVersions
    pattern::Any # spec type: Union{ Nothing, AliasPattern } # spec name: pattern

    function AliasPath(;path=nothing, apiVersions=nothing, pattern=nothing)
        o = new()
        validate_property(AliasPath, Symbol("path"), path)
        setfield!(o, Symbol("path"), path)
        validate_property(AliasPath, Symbol("apiVersions"), apiVersions)
        setfield!(o, Symbol("apiVersions"), apiVersions)
        validate_property(AliasPath, Symbol("pattern"), pattern)
        setfield!(o, Symbol("pattern"), pattern)
        o
    end
end # type AliasPath

const _property_map_AliasPath = Dict{Symbol,Symbol}(Symbol("path")=>Symbol("path"), Symbol("apiVersions")=>Symbol("apiVersions"), Symbol("pattern")=>Symbol("pattern"))
const _property_types_AliasPath = Dict{Symbol,String}(Symbol("path")=>"String", Symbol("apiVersions")=>"Vector{String}", Symbol("pattern")=>"AliasPattern")
Base.propertynames(::Type{ AliasPath }) = collect(keys(_property_map_AliasPath))
Swagger.property_type(::Type{ AliasPath }, name::Symbol) = Union{Nothing,eval(Base.Meta.parse(_property_types_AliasPath[name]))}
Swagger.field_name(::Type{ AliasPath }, property_name::Symbol) =  _property_map_AliasPath[property_name]

function check_required(o::AliasPath)
    true
end

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