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


mutable struct ConnectionMonitorHttpConfiguration <: SwaggerModel
    port::Any # spec type: Union{ Nothing, Int32 } # spec name: port
    method::Any # spec type: Union{ Nothing, String } # spec name: method
    path::Any # spec type: Union{ Nothing, String } # spec name: path
    requestHeaders::Any # spec type: Union{ Nothing, Vector{HTTPHeader} } # spec name: requestHeaders
    validStatusCodeRanges::Any # spec type: Union{ Nothing, Vector{String} } # spec name: validStatusCodeRanges
    preferHTTPS::Any # spec type: Union{ Nothing, Bool } # spec name: preferHTTPS

    function ConnectionMonitorHttpConfiguration(;port=nothing, method=nothing, path=nothing, requestHeaders=nothing, validStatusCodeRanges=nothing, preferHTTPS=nothing)
        o = new()
        validate_property(ConnectionMonitorHttpConfiguration, Symbol("port"), port)
        setfield!(o, Symbol("port"), port)
        validate_property(ConnectionMonitorHttpConfiguration, Symbol("method"), method)
        setfield!(o, Symbol("method"), method)
        validate_property(ConnectionMonitorHttpConfiguration, Symbol("path"), path)
        setfield!(o, Symbol("path"), path)
        validate_property(ConnectionMonitorHttpConfiguration, Symbol("requestHeaders"), requestHeaders)
        setfield!(o, Symbol("requestHeaders"), requestHeaders)
        validate_property(ConnectionMonitorHttpConfiguration, Symbol("validStatusCodeRanges"), validStatusCodeRanges)
        setfield!(o, Symbol("validStatusCodeRanges"), validStatusCodeRanges)
        validate_property(ConnectionMonitorHttpConfiguration, Symbol("preferHTTPS"), preferHTTPS)
        setfield!(o, Symbol("preferHTTPS"), preferHTTPS)
        o
    end
end # type ConnectionMonitorHttpConfiguration

const _property_map_ConnectionMonitorHttpConfiguration = Dict{Symbol,Symbol}(Symbol("port")=>Symbol("port"), Symbol("method")=>Symbol("method"), Symbol("path")=>Symbol("path"), Symbol("requestHeaders")=>Symbol("requestHeaders"), Symbol("validStatusCodeRanges")=>Symbol("validStatusCodeRanges"), Symbol("preferHTTPS")=>Symbol("preferHTTPS"))
const _property_types_ConnectionMonitorHttpConfiguration = Dict{Symbol,String}(Symbol("port")=>"Int32", Symbol("method")=>"String", Symbol("path")=>"String", Symbol("requestHeaders")=>"Vector{HTTPHeader}", Symbol("validStatusCodeRanges")=>"Vector{String}", Symbol("preferHTTPS")=>"Bool")
Base.propertynames(::Type{ ConnectionMonitorHttpConfiguration }) = collect(keys(_property_map_ConnectionMonitorHttpConfiguration))
Swagger.property_type(::Type{ ConnectionMonitorHttpConfiguration }, name::Symbol) = Union{Nothing,eval(Base.Meta.parse(_property_types_ConnectionMonitorHttpConfiguration[name]))}
Swagger.field_name(::Type{ ConnectionMonitorHttpConfiguration }, property_name::Symbol) =  _property_map_ConnectionMonitorHttpConfiguration[property_name]

const _allowed_ConnectionMonitorHttpConfiguration_method = ["Get", "Post"]

function check_required(o::ConnectionMonitorHttpConfiguration)
    true
end

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