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


mutable struct PeerExpressRouteCircuitConnectionPropertiesFormat <: SwaggerModel
    expressRouteCircuitPeering::Any # spec type: Union{ Nothing, SubResource } # spec name: expressRouteCircuitPeering
    peerExpressRouteCircuitPeering::Any # spec type: Union{ Nothing, SubResource } # spec name: peerExpressRouteCircuitPeering
    addressPrefix::Any # spec type: Union{ Nothing, String } # spec name: addressPrefix
    circuitConnectionStatus::Any # spec type: Union{ Nothing, CircuitConnectionStatus } # spec name: circuitConnectionStatus
    connectionName::Any # spec type: Union{ Nothing, String } # spec name: connectionName
    authResourceGuid::Any # spec type: Union{ Nothing, String } # spec name: authResourceGuid
    provisioningState::Any # spec type: Union{ Nothing, ProvisioningState } # spec name: provisioningState

    function PeerExpressRouteCircuitConnectionPropertiesFormat(;expressRouteCircuitPeering=nothing, peerExpressRouteCircuitPeering=nothing, addressPrefix=nothing, circuitConnectionStatus=nothing, connectionName=nothing, authResourceGuid=nothing, provisioningState=nothing)
        o = new()
        validate_property(PeerExpressRouteCircuitConnectionPropertiesFormat, Symbol("expressRouteCircuitPeering"), expressRouteCircuitPeering)
        setfield!(o, Symbol("expressRouteCircuitPeering"), expressRouteCircuitPeering)
        validate_property(PeerExpressRouteCircuitConnectionPropertiesFormat, Symbol("peerExpressRouteCircuitPeering"), peerExpressRouteCircuitPeering)
        setfield!(o, Symbol("peerExpressRouteCircuitPeering"), peerExpressRouteCircuitPeering)
        validate_property(PeerExpressRouteCircuitConnectionPropertiesFormat, Symbol("addressPrefix"), addressPrefix)
        setfield!(o, Symbol("addressPrefix"), addressPrefix)
        validate_property(PeerExpressRouteCircuitConnectionPropertiesFormat, Symbol("circuitConnectionStatus"), circuitConnectionStatus)
        setfield!(o, Symbol("circuitConnectionStatus"), circuitConnectionStatus)
        validate_property(PeerExpressRouteCircuitConnectionPropertiesFormat, Symbol("connectionName"), connectionName)
        setfield!(o, Symbol("connectionName"), connectionName)
        validate_property(PeerExpressRouteCircuitConnectionPropertiesFormat, Symbol("authResourceGuid"), authResourceGuid)
        setfield!(o, Symbol("authResourceGuid"), authResourceGuid)
        validate_property(PeerExpressRouteCircuitConnectionPropertiesFormat, Symbol("provisioningState"), provisioningState)
        setfield!(o, Symbol("provisioningState"), provisioningState)
        o
    end
end # type PeerExpressRouteCircuitConnectionPropertiesFormat

const _property_map_PeerExpressRouteCircuitConnectionPropertiesFormat = Dict{Symbol,Symbol}(Symbol("expressRouteCircuitPeering")=>Symbol("expressRouteCircuitPeering"), Symbol("peerExpressRouteCircuitPeering")=>Symbol("peerExpressRouteCircuitPeering"), Symbol("addressPrefix")=>Symbol("addressPrefix"), Symbol("circuitConnectionStatus")=>Symbol("circuitConnectionStatus"), Symbol("connectionName")=>Symbol("connectionName"), Symbol("authResourceGuid")=>Symbol("authResourceGuid"), Symbol("provisioningState")=>Symbol("provisioningState"))
const _property_types_PeerExpressRouteCircuitConnectionPropertiesFormat = Dict{Symbol,String}(Symbol("expressRouteCircuitPeering")=>"SubResource", Symbol("peerExpressRouteCircuitPeering")=>"SubResource", Symbol("addressPrefix")=>"String", Symbol("circuitConnectionStatus")=>"CircuitConnectionStatus", Symbol("connectionName")=>"String", Symbol("authResourceGuid")=>"String", Symbol("provisioningState")=>"ProvisioningState")
Base.propertynames(::Type{ PeerExpressRouteCircuitConnectionPropertiesFormat }) = collect(keys(_property_map_PeerExpressRouteCircuitConnectionPropertiesFormat))
Swagger.property_type(::Type{ PeerExpressRouteCircuitConnectionPropertiesFormat }, name::Symbol) = Union{Nothing,eval(Base.Meta.parse(_property_types_PeerExpressRouteCircuitConnectionPropertiesFormat[name]))}
Swagger.field_name(::Type{ PeerExpressRouteCircuitConnectionPropertiesFormat }, property_name::Symbol) =  _property_map_PeerExpressRouteCircuitConnectionPropertiesFormat[property_name]

function check_required(o::PeerExpressRouteCircuitConnectionPropertiesFormat)
    true
end

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