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


mutable struct VpnClientConnectionHealthDetail <: SwaggerModel
    vpnConnectionId::Any # spec type: Union{ Nothing, String } # spec name: vpnConnectionId
    vpnConnectionDuration::Any # spec type: Union{ Nothing, Int64 } # spec name: vpnConnectionDuration
    vpnConnectionTime::Any # spec type: Union{ Nothing, String } # spec name: vpnConnectionTime
    publicIpAddress::Any # spec type: Union{ Nothing, String } # spec name: publicIpAddress
    privateIpAddress::Any # spec type: Union{ Nothing, String } # spec name: privateIpAddress
    vpnUserName::Any # spec type: Union{ Nothing, String } # spec name: vpnUserName
    maxBandwidth::Any # spec type: Union{ Nothing, Int64 } # spec name: maxBandwidth
    egressPacketsTransferred::Any # spec type: Union{ Nothing, Int64 } # spec name: egressPacketsTransferred
    egressBytesTransferred::Any # spec type: Union{ Nothing, Int64 } # spec name: egressBytesTransferred
    ingressPacketsTransferred::Any # spec type: Union{ Nothing, Int64 } # spec name: ingressPacketsTransferred
    ingressBytesTransferred::Any # spec type: Union{ Nothing, Int64 } # spec name: ingressBytesTransferred
    maxPacketsPerSecond::Any # spec type: Union{ Nothing, Int64 } # spec name: maxPacketsPerSecond

    function VpnClientConnectionHealthDetail(;vpnConnectionId=nothing, vpnConnectionDuration=nothing, vpnConnectionTime=nothing, publicIpAddress=nothing, privateIpAddress=nothing, vpnUserName=nothing, maxBandwidth=nothing, egressPacketsTransferred=nothing, egressBytesTransferred=nothing, ingressPacketsTransferred=nothing, ingressBytesTransferred=nothing, maxPacketsPerSecond=nothing)
        o = new()
        validate_property(VpnClientConnectionHealthDetail, Symbol("vpnConnectionId"), vpnConnectionId)
        setfield!(o, Symbol("vpnConnectionId"), vpnConnectionId)
        validate_property(VpnClientConnectionHealthDetail, Symbol("vpnConnectionDuration"), vpnConnectionDuration)
        setfield!(o, Symbol("vpnConnectionDuration"), vpnConnectionDuration)
        validate_property(VpnClientConnectionHealthDetail, Symbol("vpnConnectionTime"), vpnConnectionTime)
        setfield!(o, Symbol("vpnConnectionTime"), vpnConnectionTime)
        validate_property(VpnClientConnectionHealthDetail, Symbol("publicIpAddress"), publicIpAddress)
        setfield!(o, Symbol("publicIpAddress"), publicIpAddress)
        validate_property(VpnClientConnectionHealthDetail, Symbol("privateIpAddress"), privateIpAddress)
        setfield!(o, Symbol("privateIpAddress"), privateIpAddress)
        validate_property(VpnClientConnectionHealthDetail, Symbol("vpnUserName"), vpnUserName)
        setfield!(o, Symbol("vpnUserName"), vpnUserName)
        validate_property(VpnClientConnectionHealthDetail, Symbol("maxBandwidth"), maxBandwidth)
        setfield!(o, Symbol("maxBandwidth"), maxBandwidth)
        validate_property(VpnClientConnectionHealthDetail, Symbol("egressPacketsTransferred"), egressPacketsTransferred)
        setfield!(o, Symbol("egressPacketsTransferred"), egressPacketsTransferred)
        validate_property(VpnClientConnectionHealthDetail, Symbol("egressBytesTransferred"), egressBytesTransferred)
        setfield!(o, Symbol("egressBytesTransferred"), egressBytesTransferred)
        validate_property(VpnClientConnectionHealthDetail, Symbol("ingressPacketsTransferred"), ingressPacketsTransferred)
        setfield!(o, Symbol("ingressPacketsTransferred"), ingressPacketsTransferred)
        validate_property(VpnClientConnectionHealthDetail, Symbol("ingressBytesTransferred"), ingressBytesTransferred)
        setfield!(o, Symbol("ingressBytesTransferred"), ingressBytesTransferred)
        validate_property(VpnClientConnectionHealthDetail, Symbol("maxPacketsPerSecond"), maxPacketsPerSecond)
        setfield!(o, Symbol("maxPacketsPerSecond"), maxPacketsPerSecond)
        o
    end
end # type VpnClientConnectionHealthDetail

const _property_map_VpnClientConnectionHealthDetail = Dict{Symbol,Symbol}(Symbol("vpnConnectionId")=>Symbol("vpnConnectionId"), Symbol("vpnConnectionDuration")=>Symbol("vpnConnectionDuration"), Symbol("vpnConnectionTime")=>Symbol("vpnConnectionTime"), Symbol("publicIpAddress")=>Symbol("publicIpAddress"), Symbol("privateIpAddress")=>Symbol("privateIpAddress"), Symbol("vpnUserName")=>Symbol("vpnUserName"), Symbol("maxBandwidth")=>Symbol("maxBandwidth"), Symbol("egressPacketsTransferred")=>Symbol("egressPacketsTransferred"), Symbol("egressBytesTransferred")=>Symbol("egressBytesTransferred"), Symbol("ingressPacketsTransferred")=>Symbol("ingressPacketsTransferred"), Symbol("ingressBytesTransferred")=>Symbol("ingressBytesTransferred"), Symbol("maxPacketsPerSecond")=>Symbol("maxPacketsPerSecond"))
const _property_types_VpnClientConnectionHealthDetail = Dict{Symbol,String}(Symbol("vpnConnectionId")=>"String", Symbol("vpnConnectionDuration")=>"Int64", Symbol("vpnConnectionTime")=>"String", Symbol("publicIpAddress")=>"String", Symbol("privateIpAddress")=>"String", Symbol("vpnUserName")=>"String", Symbol("maxBandwidth")=>"Int64", Symbol("egressPacketsTransferred")=>"Int64", Symbol("egressBytesTransferred")=>"Int64", Symbol("ingressPacketsTransferred")=>"Int64", Symbol("ingressBytesTransferred")=>"Int64", Symbol("maxPacketsPerSecond")=>"Int64")
Base.propertynames(::Type{ VpnClientConnectionHealthDetail }) = collect(keys(_property_map_VpnClientConnectionHealthDetail))
Swagger.property_type(::Type{ VpnClientConnectionHealthDetail }, name::Symbol) = Union{Nothing,eval(Base.Meta.parse(_property_types_VpnClientConnectionHealthDetail[name]))}
Swagger.field_name(::Type{ VpnClientConnectionHealthDetail }, property_name::Symbol) =  _property_map_VpnClientConnectionHealthDetail[property_name]

function check_required(o::VpnClientConnectionHealthDetail)
    true
end

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