11 #ifndef GI_GBP_BRIDGEDOMAIN_HPP
12 #define GI_GBP_BRIDGEDOMAIN_HPP
14 #include <boost/optional.hpp>
15 #include "opflex/modb/URIBuilder.h"
16 #include "opflex/modb/mo-internal/MO.h"
20 #include "modelgbp/gbpe/InstContext.hpp"
24 #include "modelgbp/gbp/EpGroupFromNetworkRTgt.hpp"
28 #include "modelgbp/gbp/BridgeDomainToNetworkRSrc.hpp"
32 #include "modelgbp/gbp/FloodDomainFromNetworkRTgt.hpp"
36 #include "modelgbp/gbp/ForwardingBehavioralGroupToSubnetsRSrc.hpp"
42 :
public opflex::modb::mointernal::MO
49 static const opflex::modb::class_id_t
CLASS_ID = 181;
57 return getObjectInstance().isSet(5931009ul, opflex::modb::PropertyInfo::STRING);
64 boost::optional<const std::string&>
getName()
67 return getObjectInstance().getString(5931009ul);
76 const std::string&
getName(
const std::string& defaultValue)
78 return getName().get_value_or(defaultValue);
91 getTLMutator().modify(getClassId(), getURI())->setString(5931009ul, newValue);
103 getTLMutator().modify(getClassId(), getURI())->unset(5931009ul, opflex::modb::PropertyInfo::STRING, opflex::modb::PropertyInfo::SCALAR);
113 return getObjectInstance().isSet(5931010ul, opflex::modb::PropertyInfo::ENUM8);
123 return (
const uint8_t)getObjectInstance().getUInt64(5931010ul);
147 getTLMutator().modify(getClassId(), getURI())->setUInt64(5931010ul, newValue);
159 getTLMutator().modify(getClassId(), getURI())->unset(5931010ul, opflex::modb::PropertyInfo::ENUM8, opflex::modb::PropertyInfo::SCALAR);
174 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::BridgeDomain> >
resolve(
175 opflex::ofcore::OFFramework& framework,
176 const opflex::modb::URI& uri)
178 return opflex::modb::mointernal::MO::resolve<modelgbp::gbp::BridgeDomain>(framework,
CLASS_ID, uri);
192 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::BridgeDomain> >
resolve(
193 const opflex::modb::URI& uri)
195 return opflex::modb::mointernal::MO::resolve<modelgbp::gbp::BridgeDomain>(opflex::ofcore::OFFramework::defaultInstance(),
CLASS_ID, uri);
216 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::BridgeDomain> >
resolve(
217 opflex::ofcore::OFFramework& framework,
218 const std::string& policySpaceName,
219 const std::string& gbpBridgeDomainName)
221 return resolve(framework,opflex::modb::URIBuilder().addElement(
"PolicyUniverse").addElement(
"PolicySpace").addElement(policySpaceName).addElement(
"GbpBridgeDomain").addElement(gbpBridgeDomainName).build());
241 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::BridgeDomain> >
resolve(
242 const std::string& policySpaceName,
243 const std::string& gbpBridgeDomainName)
245 return resolve(opflex::ofcore::OFFramework::defaultInstance(),policySpaceName,gbpBridgeDomainName);
276 OF_SHARED_PTR<modelgbp::gbpe::InstContext> result = addChild<modelgbp::gbpe::InstContext>(
277 CLASS_ID, getURI(), 2153414696ul, 40,
278 opflex::modb::URIBuilder(getURI()).addElement(
"GbpeInstContext").build()
295 const std::string& gbpEpGroupFromNetworkRTgtSource)
313 const std::string& gbpEpGroupFromNetworkRTgtSource)
315 OF_SHARED_PTR<modelgbp::gbp::EpGroupFromNetworkRTgt> result = addChild<modelgbp::gbp::EpGroupFromNetworkRTgt>(
316 CLASS_ID, getURI(), 2153414810ul, 154,
317 opflex::modb::URIBuilder(getURI()).addElement(
"GbpEpGroupFromNetworkRTgt").addElement(gbpEpGroupFromNetworkRTgtSource).build()
319 result->setSource(gbpEpGroupFromNetworkRTgtSource);
339 opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::EpGroupFromNetworkRTgt>(
340 getFramework(),
CLASS_ID, getURI(), 2153414810ul, 154, out);
371 OF_SHARED_PTR<modelgbp::gbp::BridgeDomainToNetworkRSrc> result = addChild<modelgbp::gbp::BridgeDomainToNetworkRSrc>(
372 CLASS_ID, getURI(), 2153414838ul, 182,
373 opflex::modb::URIBuilder(getURI()).addElement(
"GbpBridgeDomainToNetworkRSrc").build()
390 const std::string& gbpFloodDomainFromNetworkRTgtSource)
408 const std::string& gbpFloodDomainFromNetworkRTgtSource)
410 OF_SHARED_PTR<modelgbp::gbp::FloodDomainFromNetworkRTgt> result = addChild<modelgbp::gbp::FloodDomainFromNetworkRTgt>(
411 CLASS_ID, getURI(), 2153414843ul, 187,
412 opflex::modb::URIBuilder(getURI()).addElement(
"GbpFloodDomainFromNetworkRTgt").addElement(gbpFloodDomainFromNetworkRTgtSource).build()
414 result->setSource(gbpFloodDomainFromNetworkRTgtSource);
434 opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::FloodDomainFromNetworkRTgt>(
435 getFramework(),
CLASS_ID, getURI(), 2153414843ul, 187, out);
466 OF_SHARED_PTR<modelgbp::gbp::ForwardingBehavioralGroupToSubnetsRSrc> result = addChild<modelgbp::gbp::ForwardingBehavioralGroupToSubnetsRSrc>(
467 CLASS_ID, getURI(), 2153414855ul, 199,
468 opflex::modb::URIBuilder(getURI()).addElement(
"GbpForwardingBehavioralGroupToSubnetsRSrc").build()
483 getTLMutator().remove(
CLASS_ID, getURI());
496 static void remove(opflex::ofcore::OFFramework& framework,
497 const opflex::modb::URI& uri)
499 MO::remove(framework,
CLASS_ID, uri);
512 static void remove(
const opflex::modb::URI& uri)
514 remove(opflex::ofcore::OFFramework::defaultInstance(), uri);
534 opflex::ofcore::OFFramework& framework,
535 const std::string& policySpaceName,
536 const std::string& gbpBridgeDomainName)
538 MO::remove(framework,
CLASS_ID, opflex::modb::URIBuilder().addElement(
"PolicyUniverse").addElement(
"PolicySpace").addElement(policySpaceName).addElement(
"GbpBridgeDomain").addElement(gbpBridgeDomainName).build());
558 const std::string& policySpaceName,
559 const std::string& gbpBridgeDomainName)
561 remove(opflex::ofcore::OFFramework::defaultInstance(),policySpaceName,gbpBridgeDomainName);
576 opflex::ofcore::OFFramework& framework,
577 opflex::modb::ObjectListener* listener)
579 opflex::modb::mointernal
580 ::MO::registerListener(framework, listener,
CLASS_ID);
595 opflex::modb::ObjectListener* listener)
607 opflex::ofcore::OFFramework& framework,
608 opflex::modb::ObjectListener* listener)
610 opflex::modb::mointernal
611 ::MO::unregisterListener(framework, listener,
CLASS_ID);
621 opflex::modb::ObjectListener* listener)
631 opflex::ofcore::OFFramework& framework,
632 const opflex::modb::URI& uri,
633 const OF_SHARED_PTR<const opflex::modb::mointernal::ObjectInstance>& oi)
634 : MO(framework,
CLASS_ID, uri, oi) { }
639 #endif // GI_GBP_BRIDGEDOMAIN_HPP
bool isNameSet()
Check whether name has been set.
Definition: BridgeDomain.hpp:55
OF_SHARED_PTR< modelgbp::gbp::BridgeDomainToNetworkRSrc > addGbpBridgeDomainToNetworkRSrc()
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: BridgeDomain.hpp:368
modelgbp::gbp::BridgeDomain & unsetRoutingMode()
Unset routingMode in the currently-active mutator.
Definition: BridgeDomain.hpp:157
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::BridgeDomain > > resolve(const std::string &policySpaceName, const std::string &gbpBridgeDomainName)
Retrieve an instance of BridgeDomain from the default managed object store by constructing its URI fr...
Definition: BridgeDomain.hpp:241
static void unregisterListener(opflex::ofcore::OFFramework &framework, opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class.
Definition: BridgeDomain.hpp:606
modelgbp::gbp::BridgeDomain & setRoutingMode(const uint8_t newValue)
Set routingMode to the specified value in the currently-active mutator.
Definition: BridgeDomain.hpp:145
static boost::optional< OF_SHARED_PTR< modelgbp::gbpe::InstContext > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of InstContext from the managed object store.
Definition: InstContext.hpp:210
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::ForwardingBehavioralGroupToSubnetsRSrc > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of ForwardingBehavioralGroupToSubnetsRSrc from the managed object store...
Definition: ForwardingBehavioralGroupToSubnetsRSrc.hpp:257
boost::optional< OF_SHARED_PTR< modelgbp::gbp::FloodDomainFromNetworkRTgt > > resolveGbpFloodDomainFromNetworkRTgt(const std::string &gbpFloodDomainFromNetworkRTgtSource)
Retrieve the child object with the specified naming properties.
Definition: BridgeDomain.hpp:389
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::EpGroupFromNetworkRTgt > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of EpGroupFromNetworkRTgt from the managed object store.
Definition: EpGroupFromNetworkRTgt.hpp:210
boost::optional< OF_SHARED_PTR< modelgbp::gbpe::InstContext > > resolveGbpeInstContext()
Retrieve the child object with the specified naming properties.
Definition: BridgeDomain.hpp:257
boost::optional< const std::string & > getName()
Get the value of name if it has been set.
Definition: BridgeDomain.hpp:64
OF_SHARED_PTR< modelgbp::gbpe::InstContext > addGbpeInstContext()
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: BridgeDomain.hpp:273
Definition: BridgeDomain.hpp:41
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::BridgeDomainToNetworkRSrc > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of BridgeDomainToNetworkRSrc from the managed object store.
Definition: BridgeDomainToNetworkRSrc.hpp:257
boost::optional< OF_SHARED_PTR< modelgbp::gbp::EpGroupFromNetworkRTgt > > resolveGbpEpGroupFromNetworkRTgt(const std::string &gbpEpGroupFromNetworkRTgtSource)
Retrieve the child object with the specified naming properties.
Definition: BridgeDomain.hpp:294
const uint8_t getRoutingMode(const uint8_t defaultValue)
Get the value of routingMode if set, otherwise the value of default passed in.
Definition: BridgeDomain.hpp:132
static const opflex::modb::class_id_t CLASS_ID
The unique class ID for BridgeDomain.
Definition: BridgeDomain.hpp:49
boost::optional< OF_SHARED_PTR< modelgbp::gbp::BridgeDomainToNetworkRSrc > > resolveGbpBridgeDomainToNetworkRSrc()
Retrieve the child object with the specified naming properties.
Definition: BridgeDomain.hpp:352
static void registerListener(opflex::modb::ObjectListener *listener)
Register a listener that will get called for changes related to this class with the default framework...
Definition: BridgeDomain.hpp:594
boost::optional< const uint8_t > getRoutingMode()
Get the value of routingMode if it has been set.
Definition: BridgeDomain.hpp:120
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::BridgeDomain > > resolve(opflex::ofcore::OFFramework &framework, const std::string &policySpaceName, const std::string &gbpBridgeDomainName)
Retrieve an instance of BridgeDomain from the managed object store by constructing its URI from the p...
Definition: BridgeDomain.hpp:216
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::FloodDomainFromNetworkRTgt > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of FloodDomainFromNetworkRTgt from the managed object store. ...
Definition: FloodDomainFromNetworkRTgt.hpp:210
const std::string & getName(const std::string &defaultValue)
Get the value of name if set, otherwise the value of default passed in.
Definition: BridgeDomain.hpp:76
modelgbp::gbp::BridgeDomain & unsetName()
Unset name in the currently-active mutator.
Definition: BridgeDomain.hpp:101
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::BridgeDomain > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of BridgeDomain from the managed object store.
Definition: BridgeDomain.hpp:174
void resolveGbpFloodDomainFromNetworkRTgt(std::vector< OF_SHARED_PTR< modelgbp::gbp::FloodDomainFromNetworkRTgt > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::gbp::FloodDomainFromNetworkRTgt...
Definition: BridgeDomain.hpp:432
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::BridgeDomain > > resolve(const opflex::modb::URI &uri)
Retrieve an instance of BridgeDomain from the managed object store using the default framework instan...
Definition: BridgeDomain.hpp:192
OF_SHARED_PTR< modelgbp::gbp::ForwardingBehavioralGroupToSubnetsRSrc > addGbpForwardingBehavioralGroupToSubnetsRSrc()
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: BridgeDomain.hpp:463
OF_SHARED_PTR< modelgbp::gbp::FloodDomainFromNetworkRTgt > addGbpFloodDomainFromNetworkRTgt(const std::string &gbpFloodDomainFromNetworkRTgtSource)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: BridgeDomain.hpp:407
bool isRoutingModeSet()
Check whether routingMode has been set.
Definition: BridgeDomain.hpp:111
OF_SHARED_PTR< modelgbp::gbp::EpGroupFromNetworkRTgt > addGbpEpGroupFromNetworkRTgt(const std::string &gbpEpGroupFromNetworkRTgtSource)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: BridgeDomain.hpp:312
BridgeDomain(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri, const OF_SHARED_PTR< const opflex::modb::mointernal::ObjectInstance > &oi)
Construct an instance of BridgeDomain.
Definition: BridgeDomain.hpp:630
static void unregisterListener(opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class from the default framework instance.
Definition: BridgeDomain.hpp:620
modelgbp::gbp::BridgeDomain & setName(const std::string &newValue)
Set name to the specified value in the currently-active mutator.
Definition: BridgeDomain.hpp:89
static void registerListener(opflex::ofcore::OFFramework &framework, opflex::modb::ObjectListener *listener)
Register a listener that will get called for changes related to this class.
Definition: BridgeDomain.hpp:575
boost::optional< OF_SHARED_PTR< modelgbp::gbp::ForwardingBehavioralGroupToSubnetsRSrc > > resolveGbpForwardingBehavioralGroupToSubnetsRSrc()
Retrieve the child object with the specified naming properties.
Definition: BridgeDomain.hpp:447
void resolveGbpEpGroupFromNetworkRTgt(std::vector< OF_SHARED_PTR< modelgbp::gbp::EpGroupFromNetworkRTgt > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::gbp::EpGroupFromNetworkRTgt.
Definition: BridgeDomain.hpp:337