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


mutable struct ConnectionMonitorTestGroup <: SwaggerModel
    name::Any # spec type: Union{ Nothing, String } # spec name: name
    disable::Any # spec type: Union{ Nothing, Bool } # spec name: disable
    testConfigurations::Any # spec type: Union{ Nothing, Vector{String} } # spec name: testConfigurations
    sources::Any # spec type: Union{ Nothing, Vector{String} } # spec name: sources
    destinations::Any # spec type: Union{ Nothing, Vector{String} } # spec name: destinations

    function ConnectionMonitorTestGroup(;name=nothing, disable=nothing, testConfigurations=nothing, sources=nothing, destinations=nothing)
        o = new()
        validate_property(ConnectionMonitorTestGroup, Symbol("name"), name)
        setfield!(o, Symbol("name"), name)
        validate_property(ConnectionMonitorTestGroup, Symbol("disable"), disable)
        setfield!(o, Symbol("disable"), disable)
        validate_property(ConnectionMonitorTestGroup, Symbol("testConfigurations"), testConfigurations)
        setfield!(o, Symbol("testConfigurations"), testConfigurations)
        validate_property(ConnectionMonitorTestGroup, Symbol("sources"), sources)
        setfield!(o, Symbol("sources"), sources)
        validate_property(ConnectionMonitorTestGroup, Symbol("destinations"), destinations)
        setfield!(o, Symbol("destinations"), destinations)
        o
    end
end # type ConnectionMonitorTestGroup

const _property_map_ConnectionMonitorTestGroup = Dict{Symbol,Symbol}(Symbol("name")=>Symbol("name"), Symbol("disable")=>Symbol("disable"), Symbol("testConfigurations")=>Symbol("testConfigurations"), Symbol("sources")=>Symbol("sources"), Symbol("destinations")=>Symbol("destinations"))
const _property_types_ConnectionMonitorTestGroup = Dict{Symbol,String}(Symbol("name")=>"String", Symbol("disable")=>"Bool", Symbol("testConfigurations")=>"Vector{String}", Symbol("sources")=>"Vector{String}", Symbol("destinations")=>"Vector{String}")
Base.propertynames(::Type{ ConnectionMonitorTestGroup }) = collect(keys(_property_map_ConnectionMonitorTestGroup))
Swagger.property_type(::Type{ ConnectionMonitorTestGroup }, name::Symbol) = Union{Nothing,eval(Base.Meta.parse(_property_types_ConnectionMonitorTestGroup[name]))}
Swagger.field_name(::Type{ ConnectionMonitorTestGroup }, property_name::Symbol) =  _property_map_ConnectionMonitorTestGroup[property_name]

function check_required(o::ConnectionMonitorTestGroup)
    (getproperty(o, Symbol("name")) === nothing) && (return false)
    (getproperty(o, Symbol("testConfigurations")) === nothing) && (return false)
    (getproperty(o, Symbol("sources")) === nothing) && (return false)
    (getproperty(o, Symbol("destinations")) === nothing) && (return false)
    true
end

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