11#ifndef GI_GBP_FLOODDOMAIN_HPP
12#define GI_GBP_FLOODDOMAIN_HPP
14#include <boost/optional.hpp>
15#include "opflex/modb/URIBuilder.h"
16#include "opflex/modb/mo-internal/MO.h"
20#include "modelgbp/gbpe/FloodContext.hpp"
24#include "modelgbp/gbp/EpGroupFromNetworkRTgt.hpp"
28#include "modelgbp/gbp/FloodDomainToNetworkRSrc.hpp"
32#include "modelgbp/gbp/ForwardingBehavioralGroupToSubnetsRSrc.hpp"
38 :
public opflex::modb::mointernal::MO
45 static const opflex::modb::class_id_t
CLASS_ID = 185;
53 return getObjectInstance().isSet(6062082ul, opflex::modb::PropertyInfo::ENUM8);
63 return (
const uint8_t)getObjectInstance().getUInt64(6062082ul);
74 return getArpMode().get_value_or(defaultValue);
87 getTLMutator().modify(getClassId(), getURI())->setUInt64(6062082ul, newValue);
99 getTLMutator().modify(getClassId(), getURI())->unset(6062082ul, opflex::modb::PropertyInfo::ENUM8, opflex::modb::PropertyInfo::SCALAR);
109 return getObjectInstance().isSet(6062085ul, opflex::modb::PropertyInfo::ENUM8);
119 return (
const uint8_t)getObjectInstance().getUInt64(6062085ul);
143 getTLMutator().modify(getClassId(), getURI())->setUInt64(6062085ul, newValue);
155 getTLMutator().modify(getClassId(), getURI())->unset(6062085ul, opflex::modb::PropertyInfo::ENUM8, opflex::modb::PropertyInfo::SCALAR);
165 return getObjectInstance().isSet(6062081ul, opflex::modb::PropertyInfo::STRING);
175 return getObjectInstance().getString(6062081ul);
184 const std::string&
getName(
const std::string& defaultValue)
186 return getName().get_value_or(defaultValue);
199 getTLMutator().modify(getClassId(), getURI())->setString(6062081ul, newValue);
211 getTLMutator().modify(getClassId(), getURI())->unset(6062081ul, opflex::modb::PropertyInfo::STRING, opflex::modb::PropertyInfo::SCALAR);
221 return getObjectInstance().isSet(6062083ul, opflex::modb::PropertyInfo::ENUM8);
231 return (
const uint8_t)getObjectInstance().getUInt64(6062083ul);
255 getTLMutator().modify(getClassId(), getURI())->setUInt64(6062083ul, newValue);
267 getTLMutator().modify(getClassId(), getURI())->unset(6062083ul, opflex::modb::PropertyInfo::ENUM8, opflex::modb::PropertyInfo::SCALAR);
277 return getObjectInstance().isSet(6062084ul, opflex::modb::PropertyInfo::ENUM8);
287 return (
const uint8_t)getObjectInstance().getUInt64(6062084ul);
311 getTLMutator().modify(getClassId(), getURI())->setUInt64(6062084ul, newValue);
323 getTLMutator().modify(getClassId(), getURI())->unset(6062084ul, opflex::modb::PropertyInfo::ENUM8, opflex::modb::PropertyInfo::SCALAR);
338 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::FloodDomain> >
resolve(
339 opflex::ofcore::OFFramework& framework,
340 const opflex::modb::URI& uri)
342 return opflex::modb::mointernal::MO::resolve<modelgbp::gbp::FloodDomain>(framework,
CLASS_ID, uri);
356 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::FloodDomain> >
resolve(
357 const opflex::modb::URI& uri)
359 return opflex::modb::mointernal::MO::resolve<modelgbp::gbp::FloodDomain>(opflex::ofcore::OFFramework::defaultInstance(),
CLASS_ID, uri);
380 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::FloodDomain> >
resolve(
381 opflex::ofcore::OFFramework& framework,
382 const std::string& policySpaceName,
383 const std::string& gbpFloodDomainName)
385 return resolve(framework,opflex::modb::URIBuilder().addElement(
"PolicyUniverse").addElement(
"PolicySpace").addElement(policySpaceName).addElement(
"GbpFloodDomain").addElement(gbpFloodDomainName).build());
405 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::FloodDomain> >
resolve(
406 const std::string& policySpaceName,
407 const std::string& gbpFloodDomainName)
409 return resolve(opflex::ofcore::OFFramework::defaultInstance(),policySpaceName,gbpFloodDomainName);
440 OF_SHARED_PTR<modelgbp::gbpe::FloodContext> result = addChild<modelgbp::gbpe::FloodContext>(
441 CLASS_ID, getURI(), 2153545769ul, 41,
442 opflex::modb::URIBuilder(getURI()).addElement(
"GbpeFloodContext").build()
459 const std::string& gbpEpGroupFromNetworkRTgtSource)
477 const std::string& gbpEpGroupFromNetworkRTgtSource)
479 OF_SHARED_PTR<modelgbp::gbp::EpGroupFromNetworkRTgt> result = addChild<modelgbp::gbp::EpGroupFromNetworkRTgt>(
480 CLASS_ID, getURI(), 2153545882ul, 154,
481 opflex::modb::URIBuilder(getURI()).addElement(
"GbpEpGroupFromNetworkRTgt").addElement(gbpEpGroupFromNetworkRTgtSource).build()
483 result->setSource(gbpEpGroupFromNetworkRTgtSource);
503 opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::EpGroupFromNetworkRTgt>(
504 getFramework(),
CLASS_ID, getURI(), 2153545882ul, 154, out);
535 OF_SHARED_PTR<modelgbp::gbp::FloodDomainToNetworkRSrc> result = addChild<modelgbp::gbp::FloodDomainToNetworkRSrc>(
536 CLASS_ID, getURI(), 2153545914ul, 186,
537 opflex::modb::URIBuilder(getURI()).addElement(
"GbpFloodDomainToNetworkRSrc").build()
570 OF_SHARED_PTR<modelgbp::gbp::ForwardingBehavioralGroupToSubnetsRSrc> result = addChild<modelgbp::gbp::ForwardingBehavioralGroupToSubnetsRSrc>(
571 CLASS_ID, getURI(), 2153545927ul, 199,
572 opflex::modb::URIBuilder(getURI()).addElement(
"GbpForwardingBehavioralGroupToSubnetsRSrc").build()
587 getTLMutator().remove(
CLASS_ID, getURI());
600 static void remove(opflex::ofcore::OFFramework& framework,
601 const opflex::modb::URI& uri)
603 MO::remove(framework,
CLASS_ID, uri);
616 static void remove(
const opflex::modb::URI& uri)
618 remove(opflex::ofcore::OFFramework::defaultInstance(), uri);
638 opflex::ofcore::OFFramework& framework,
639 const std::string& policySpaceName,
640 const std::string& gbpFloodDomainName)
642 MO::remove(framework,
CLASS_ID, opflex::modb::URIBuilder().addElement(
"PolicyUniverse").addElement(
"PolicySpace").addElement(policySpaceName).addElement(
"GbpFloodDomain").addElement(gbpFloodDomainName).build());
662 const std::string& policySpaceName,
663 const std::string& gbpFloodDomainName)
665 remove(opflex::ofcore::OFFramework::defaultInstance(),policySpaceName,gbpFloodDomainName);
680 opflex::ofcore::OFFramework& framework,
681 opflex::modb::ObjectListener* listener)
683 opflex::modb::mointernal
684 ::MO::registerListener(framework, listener,
CLASS_ID);
699 opflex::modb::ObjectListener* listener)
711 opflex::ofcore::OFFramework& framework,
712 opflex::modb::ObjectListener* listener)
714 opflex::modb::mointernal
715 ::MO::unregisterListener(framework, listener,
CLASS_ID);
725 opflex::modb::ObjectListener* listener)
735 opflex::ofcore::OFFramework& framework,
736 const opflex::modb::URI& uri,
737 const OF_SHARED_PTR<const opflex::modb::mointernal::ObjectInstance>& oi)
738 : MO(framework,
CLASS_ID, uri, oi) { }
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
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::FloodDomainToNetworkRSrc > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of FloodDomainToNetworkRSrc from the managed object store.
Definition FloodDomainToNetworkRSrc.hpp:257
Definition FloodDomain.hpp:39
bool isNeighborDiscModeSet()
Check whether neighborDiscMode has been set.
Definition FloodDomain.hpp:219
FloodDomain(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri, const OF_SHARED_PTR< const opflex::modb::mointernal::ObjectInstance > &oi)
Construct an instance of FloodDomain.
Definition FloodDomain.hpp:734
modelgbp::gbp::FloodDomain & unsetArpMode()
Unset arpMode in the currently-active mutator.
Definition FloodDomain.hpp:97
modelgbp::gbp::FloodDomain & setBcastFloodMode(const uint8_t newValue)
Set bcastFloodMode to the specified value in the currently-active mutator.
Definition FloodDomain.hpp:141
const uint8_t getArpMode(const uint8_t defaultValue)
Get the value of arpMode if set, otherwise the value of default passed in.
Definition FloodDomain.hpp:72
static void unregisterListener(opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class from the default framework instance.
Definition FloodDomain.hpp:724
const uint8_t getUnknownFloodMode(const uint8_t defaultValue)
Get the value of unknownFloodMode if set, otherwise the value of default passed in.
Definition FloodDomain.hpp:296
static void remove(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Remove the FloodDomain object with the specified URI using the currently-active mutator.
Definition FloodDomain.hpp:600
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 FloodDomain.hpp:567
boost::optional< OF_SHARED_PTR< modelgbp::gbpe::FloodContext > > resolveGbpeFloodContext()
Retrieve the child object with the specified naming properties.
Definition FloodDomain.hpp:421
boost::optional< OF_SHARED_PTR< modelgbp::gbp::ForwardingBehavioralGroupToSubnetsRSrc > > resolveGbpForwardingBehavioralGroupToSubnetsRSrc()
Retrieve the child object with the specified naming properties.
Definition FloodDomain.hpp:551
modelgbp::gbp::FloodDomain & setUnknownFloodMode(const uint8_t newValue)
Set unknownFloodMode to the specified value in the currently-active mutator.
Definition FloodDomain.hpp:309
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::FloodDomain > > resolve(const std::string &policySpaceName, const std::string &gbpFloodDomainName)
Retrieve an instance of FloodDomain from the default managed object store by constructing its URI fro...
Definition FloodDomain.hpp:405
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::FloodDomain > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of FloodDomain from the managed object store.
Definition FloodDomain.hpp:338
modelgbp::gbp::FloodDomain & unsetName()
Unset name in the currently-active mutator.
Definition FloodDomain.hpp:209
bool isBcastFloodModeSet()
Check whether bcastFloodMode has been set.
Definition FloodDomain.hpp:107
modelgbp::gbp::FloodDomain & setNeighborDiscMode(const uint8_t newValue)
Set neighborDiscMode to the specified value in the currently-active mutator.
Definition FloodDomain.hpp:253
bool isArpModeSet()
Check whether arpMode has been set.
Definition FloodDomain.hpp:51
void remove()
Remove this instance using the currently-active mutator.
Definition FloodDomain.hpp:585
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::FloodDomain > > resolve(const opflex::modb::URI &uri)
Retrieve an instance of FloodDomain from the managed object store using the default framework instanc...
Definition FloodDomain.hpp:356
bool isUnknownFloodModeSet()
Check whether unknownFloodMode has been set.
Definition FloodDomain.hpp:275
OF_SHARED_PTR< modelgbp::gbpe::FloodContext > addGbpeFloodContext()
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition FloodDomain.hpp:437
boost::optional< const std::string & > getName()
Get the value of name if it has been set.
Definition FloodDomain.hpp:172
modelgbp::gbp::FloodDomain & setName(const std::string &newValue)
Set name to the specified value in the currently-active mutator.
Definition FloodDomain.hpp:197
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 FloodDomain.hpp:679
static void remove(opflex::ofcore::OFFramework &framework, const std::string &policySpaceName, const std::string &gbpFloodDomainName)
Remove the FloodDomain object with the specified path elements from the managed object store.
Definition FloodDomain.hpp:637
const uint8_t getBcastFloodMode(const uint8_t defaultValue)
Get the value of bcastFloodMode if set, otherwise the value of default passed in.
Definition FloodDomain.hpp:128
OF_SHARED_PTR< modelgbp::gbp::FloodDomainToNetworkRSrc > addGbpFloodDomainToNetworkRSrc()
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition FloodDomain.hpp:532
static void unregisterListener(opflex::ofcore::OFFramework &framework, opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class.
Definition FloodDomain.hpp:710
const std::string & getName(const std::string &defaultValue)
Get the value of name if set, otherwise the value of default passed in.
Definition FloodDomain.hpp:184
boost::optional< const uint8_t > getNeighborDiscMode()
Get the value of neighborDiscMode if it has been set.
Definition FloodDomain.hpp:228
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::FloodDomain > > resolve(opflex::ofcore::OFFramework &framework, const std::string &policySpaceName, const std::string &gbpFloodDomainName)
Retrieve an instance of FloodDomain from the managed object store by constructing its URI from the pa...
Definition FloodDomain.hpp:380
bool isNameSet()
Check whether name has been set.
Definition FloodDomain.hpp:163
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 FloodDomain.hpp:501
modelgbp::gbp::FloodDomain & unsetUnknownFloodMode()
Unset unknownFloodMode in the currently-active mutator.
Definition FloodDomain.hpp:321
static const opflex::modb::class_id_t CLASS_ID
The unique class ID for FloodDomain.
Definition FloodDomain.hpp:45
boost::optional< const uint8_t > getUnknownFloodMode()
Get the value of unknownFloodMode if it has been set.
Definition FloodDomain.hpp:284
modelgbp::gbp::FloodDomain & unsetBcastFloodMode()
Unset bcastFloodMode in the currently-active mutator.
Definition FloodDomain.hpp:153
modelgbp::gbp::FloodDomain & unsetNeighborDiscMode()
Unset neighborDiscMode in the currently-active mutator.
Definition FloodDomain.hpp:265
boost::optional< const uint8_t > getBcastFloodMode()
Get the value of bcastFloodMode if it has been set.
Definition FloodDomain.hpp:116
const uint8_t getNeighborDiscMode(const uint8_t defaultValue)
Get the value of neighborDiscMode if set, otherwise the value of default passed in.
Definition FloodDomain.hpp:240
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 FloodDomain.hpp:476
static void remove(const std::string &policySpaceName, const std::string &gbpFloodDomainName)
Remove the FloodDomain object with the specified path elements from the managed object store using th...
Definition FloodDomain.hpp:661
static void remove(const opflex::modb::URI &uri)
Remove the FloodDomain object with the specified URI using the currently-active mutator and the defau...
Definition FloodDomain.hpp:616
modelgbp::gbp::FloodDomain & setArpMode(const uint8_t newValue)
Set arpMode to the specified value in the currently-active mutator.
Definition FloodDomain.hpp:85
boost::optional< const uint8_t > getArpMode()
Get the value of arpMode if it has been set.
Definition FloodDomain.hpp:60
boost::optional< OF_SHARED_PTR< modelgbp::gbp::FloodDomainToNetworkRSrc > > resolveGbpFloodDomainToNetworkRSrc()
Retrieve the child object with the specified naming properties.
Definition FloodDomain.hpp:516
boost::optional< OF_SHARED_PTR< modelgbp::gbp::EpGroupFromNetworkRTgt > > resolveGbpEpGroupFromNetworkRTgt(const std::string &gbpEpGroupFromNetworkRTgtSource)
Retrieve the child object with the specified naming properties.
Definition FloodDomain.hpp:458
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 FloodDomain.hpp:698
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
static boost::optional< OF_SHARED_PTR< modelgbp::gbpe::FloodContext > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of FloodContext from the managed object store.
Definition FloodContext.hpp:98
SOME COPYRIGHT.
Definition OpcodeEnumT.hpp:12