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


mutable struct HTTPConfiguration <: SwaggerModel
    method::Any # spec type: Union{ Nothing, String } # spec name: method
    headers::Any # spec type: Union{ Nothing, Vector{HTTPHeader} } # spec name: headers
    validStatusCodes::Any # spec type: Union{ Nothing, Vector{Int32} } # spec name: validStatusCodes

    function HTTPConfiguration(;method=nothing, headers=nothing, validStatusCodes=nothing)
        o = new()
        validate_property(HTTPConfiguration, Symbol("method"), method)
        setfield!(o, Symbol("method"), method)
        validate_property(HTTPConfiguration, Symbol("headers"), headers)
        setfield!(o, Symbol("headers"), headers)
        validate_property(HTTPConfiguration, Symbol("validStatusCodes"), validStatusCodes)
        setfield!(o, Symbol("validStatusCodes"), validStatusCodes)
        o
    end
end # type HTTPConfiguration

const _property_map_HTTPConfiguration = Dict{Symbol,Symbol}(Symbol("method")=>Symbol("method"), Symbol("headers")=>Symbol("headers"), Symbol("validStatusCodes")=>Symbol("validStatusCodes"))
const _property_types_HTTPConfiguration = Dict{Symbol,String}(Symbol("method")=>"String", Symbol("headers")=>"Vector{HTTPHeader}", Symbol("validStatusCodes")=>"Vector{Int32}")
Base.propertynames(::Type{ HTTPConfiguration }) = collect(keys(_property_map_HTTPConfiguration))
Swagger.property_type(::Type{ HTTPConfiguration }, name::Symbol) = Union{Nothing,eval(Base.Meta.parse(_property_types_HTTPConfiguration[name]))}
Swagger.field_name(::Type{ HTTPConfiguration }, property_name::Symbol) =  _property_map_HTTPConfiguration[property_name]

const _allowed_HTTPConfiguration_method = ["Get"]

function check_required(o::HTTPConfiguration)
    true
end

function validate_property(::Type{ HTTPConfiguration }, name::Symbol, val)
    if name === Symbol("method")
        Swagger.validate_param(name, "HTTPConfiguration", :enum, val, _allowed_HTTPConfiguration_method)
    end
end
