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


mutable struct VirtualNetworkBgpCommunities <: SwaggerModel
    virtualNetworkCommunity::Any # spec type: Union{ Nothing, String } # spec name: virtualNetworkCommunity
    regionalCommunity::Any # spec type: Union{ Nothing, String } # spec name: regionalCommunity

    function VirtualNetworkBgpCommunities(;virtualNetworkCommunity=nothing, regionalCommunity=nothing)
        o = new()
        validate_property(VirtualNetworkBgpCommunities, Symbol("virtualNetworkCommunity"), virtualNetworkCommunity)
        setfield!(o, Symbol("virtualNetworkCommunity"), virtualNetworkCommunity)
        validate_property(VirtualNetworkBgpCommunities, Symbol("regionalCommunity"), regionalCommunity)
        setfield!(o, Symbol("regionalCommunity"), regionalCommunity)
        o
    end
end # type VirtualNetworkBgpCommunities

const _property_map_VirtualNetworkBgpCommunities = Dict{Symbol,Symbol}(Symbol("virtualNetworkCommunity")=>Symbol("virtualNetworkCommunity"), Symbol("regionalCommunity")=>Symbol("regionalCommunity"))
const _property_types_VirtualNetworkBgpCommunities = Dict{Symbol,String}(Symbol("virtualNetworkCommunity")=>"String", Symbol("regionalCommunity")=>"String")
Base.propertynames(::Type{ VirtualNetworkBgpCommunities }) = collect(keys(_property_map_VirtualNetworkBgpCommunities))
Swagger.property_type(::Type{ VirtualNetworkBgpCommunities }, name::Symbol) = Union{Nothing,eval(Base.Meta.parse(_property_types_VirtualNetworkBgpCommunities[name]))}
Swagger.field_name(::Type{ VirtualNetworkBgpCommunities }, property_name::Symbol) =  _property_map_VirtualNetworkBgpCommunities[property_name]

function check_required(o::VirtualNetworkBgpCommunities)
    (getproperty(o, Symbol("virtualNetworkCommunity")) === nothing) && (return false)
    true
end

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