11#ifndef GI_GBP_ROUTINGDOMAIN_HPP
12#define GI_GBP_ROUTINGDOMAIN_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/dci/DomainFromGbpRoutingDomainRTgt.hpp"
28#include "modelgbp/dci/RouteTargetPdef.hpp"
32#include "modelgbp/gbp/EpGroupFromNetworkRTgt.hpp"
36#include "modelgbp/gbp/L3ExternalDomain.hpp"
40#include "modelgbp/gbp/BridgeDomainFromNetworkRTgt.hpp"
44#include "modelgbp/gbp/RoutingDomainToIntSubnetsRSrc.hpp"
48#include "modelgbp/gbp/ForwardingBehavioralGroupToSubnetsRSrc.hpp"
54 :
public opflex::modb::mointernal::MO
61 static const opflex::modb::class_id_t
CLASS_ID = 190;
115 getTLMutator().modify(
getClassId(),
getURI())->unset(6225923ul, opflex::modb::PropertyInfo::STRING, opflex::modb::PropertyInfo::SCALAR);
227 getTLMutator().modify(
getClassId(),
getURI())->unset(6225921ul, opflex::modb::PropertyInfo::STRING, opflex::modb::PropertyInfo::SCALAR);
242 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::RoutingDomain> >
resolve(
244 const opflex::modb::URI&
uri)
246 return opflex::modb::mointernal::MO::resolve<modelgbp::gbp::RoutingDomain>(
framework,
CLASS_ID,
uri);
260 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::RoutingDomain> >
resolve(
261 const opflex::modb::URI&
uri)
263 return opflex::modb::mointernal::MO::resolve<modelgbp::gbp::RoutingDomain>(opflex::ofcore::OFFramework::defaultInstance(),
CLASS_ID,
uri);
284 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::RoutingDomain> >
resolve(
309 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::RoutingDomain> >
resolve(
407 opflex::modb::mointernal::MO::resolveChildren<modelgbp::dci::DomainFromGbpRoutingDomainRTgt>(
467 opflex::modb::mointernal::MO::resolveChildren<modelgbp::dci::RouteTargetPdef>(
527 opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::EpGroupFromNetworkRTgt>(
587 opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::L3ExternalDomain>(
647 opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::BridgeDomainFromNetworkRTgt>(
713 opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::RoutingDomainToIntSubnetsRSrc>(
776 const opflex::modb::URI&
uri)
793 remove(opflex::ofcore::OFFramework::defaultInstance(),
uri);
856 opflex::modb::ObjectListener*
listener)
858 opflex::modb::mointernal
874 opflex::modb::ObjectListener*
listener)
887 opflex::modb::ObjectListener*
listener)
889 opflex::modb::mointernal
900 opflex::modb::ObjectListener*
listener)
911 const opflex::modb::URI&
uri,
static boost::optional< OF_SHARED_PTR< modelgbp::dci::DomainFromGbpRoutingDomainRTgt > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of DomainFromGbpRoutingDomainRTgt from the managed object store.
Definition DomainFromGbpRoutingDomainRTgt.hpp:210
static boost::optional< OF_SHARED_PTR< modelgbp::dci::RouteTargetPdef > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of RouteTargetPdef from the managed object store.
Definition RouteTargetPdef.hpp:158
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::BridgeDomainFromNetworkRTgt > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of BridgeDomainFromNetworkRTgt from the managed object store.
Definition BridgeDomainFromNetworkRTgt.hpp:210
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::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::gbp::L3ExternalDomain > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of L3ExternalDomain from the managed object store.
Definition L3ExternalDomain.hpp:102
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::RoutingDomainToIntSubnetsRSrc > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of RoutingDomainToIntSubnetsRSrc from the managed object store.
Definition RoutingDomainToIntSubnetsRSrc.hpp:257
Definition RoutingDomain.hpp:55
OF_SHARED_PTR< modelgbp::dci::DomainFromGbpRoutingDomainRTgt > addDciDomainFromGbpRoutingDomainRTgt(const std::string &dciDomainFromGbpRoutingDomainRTgtSource)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition RoutingDomain.hpp:380
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::RoutingDomain > > resolve(opflex::ofcore::OFFramework &framework, const std::string &policySpaceName, const std::string &gbpRoutingDomainName)
Retrieve an instance of RoutingDomain from the managed object store by constructing its URI from the ...
Definition RoutingDomain.hpp:284
boost::optional< OF_SHARED_PTR< modelgbp::gbp::BridgeDomainFromNetworkRTgt > > resolveGbpBridgeDomainFromNetworkRTgt(const std::string &gbpBridgeDomainFromNetworkRTgtSource)
Retrieve the child object with the specified naming properties.
Definition RoutingDomain.hpp:602
OF_SHARED_PTR< modelgbp::gbp::L3ExternalDomain > addGbpL3ExternalDomain(const std::string &gbpL3ExternalDomainName)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition RoutingDomain.hpp:560
static const opflex::modb::class_id_t CLASS_ID
The unique class ID for RoutingDomain.
Definition RoutingDomain.hpp:61
static void unregisterListener(opflex::ofcore::OFFramework &framework, opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class.
Definition RoutingDomain.hpp:885
void remove()
Remove this instance using the currently-active mutator.
Definition RoutingDomain.hpp:760
modelgbp::gbp::RoutingDomain & unsetIpv6Autoconfig()
Unset ipv6Autoconfig in the currently-active mutator.
Definition RoutingDomain.hpp:169
boost::optional< OF_SHARED_PTR< modelgbp::gbp::RoutingDomainToIntSubnetsRSrc > > resolveGbpRoutingDomainToIntSubnetsRSrc(const std::string &gbpRoutingDomainToIntSubnetsRSrcTargetName)
Retrieve the child object with the specified naming properties.
Definition RoutingDomain.hpp:664
modelgbp::gbp::RoutingDomain & unsetGlobalName()
Unset globalName in the currently-active mutator.
Definition RoutingDomain.hpp:113
boost::optional< OF_SHARED_PTR< modelgbp::gbp::EpGroupFromNetworkRTgt > > resolveGbpEpGroupFromNetworkRTgt(const std::string &gbpEpGroupFromNetworkRTgtSource)
Retrieve the child object with the specified naming properties.
Definition RoutingDomain.hpp:482
boost::optional< const uint8_t > getIpv6Autoconfig()
Get the value of ipv6Autoconfig if it has been set.
Definition RoutingDomain.hpp:132
void resolveDciRouteTargetPdef(std::vector< OF_SHARED_PTR< modelgbp::dci::RouteTargetPdef > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::dci::RouteTargetPdef.
Definition RoutingDomain.hpp:465
boost::optional< const std::string & > getGlobalName()
Get the value of globalName if it has been set.
Definition RoutingDomain.hpp:76
static void unregisterListener(opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class from the default framework instance.
Definition RoutingDomain.hpp:899
RoutingDomain(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri, const OF_SHARED_PTR< const opflex::modb::mointernal::ObjectInstance > &oi)
Construct an instance of RoutingDomain.
Definition RoutingDomain.hpp:909
OF_SHARED_PTR< modelgbp::gbp::BridgeDomainFromNetworkRTgt > addGbpBridgeDomainFromNetworkRTgt(const std::string &gbpBridgeDomainFromNetworkRTgtSource)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition RoutingDomain.hpp:620
boost::optional< OF_SHARED_PTR< modelgbp::gbp::L3ExternalDomain > > resolveGbpL3ExternalDomain(const std::string &gbpL3ExternalDomainName)
Retrieve the child object with the specified naming properties.
Definition RoutingDomain.hpp:542
modelgbp::gbp::RoutingDomain & setIpv6Autoconfig(const uint8_t newValue)
Set ipv6Autoconfig to the specified value in the currently-active mutator.
Definition RoutingDomain.hpp:157
OF_SHARED_PTR< modelgbp::gbp::RoutingDomainToIntSubnetsRSrc > addGbpRoutingDomainToIntSubnetsRSrc(const std::string &gbpRoutingDomainToIntSubnetsRSrcTargetName)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition RoutingDomain.hpp:685
void resolveGbpBridgeDomainFromNetworkRTgt(std::vector< OF_SHARED_PTR< modelgbp::gbp::BridgeDomainFromNetworkRTgt > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::gbp::BridgeDomainFromNetworkRTgt...
Definition RoutingDomain.hpp:645
const uint8_t getIpv6Autoconfig(const uint8_t defaultValue)
Get the value of ipv6Autoconfig if set, otherwise the value of default passed in.
Definition RoutingDomain.hpp:144
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 RoutingDomain.hpp:854
boost::optional< OF_SHARED_PTR< modelgbp::dci::DomainFromGbpRoutingDomainRTgt > > resolveDciDomainFromGbpRoutingDomainRTgt(const std::string &dciDomainFromGbpRoutingDomainRTgtSource)
Retrieve the child object with the specified naming properties.
Definition RoutingDomain.hpp:362
void resolveGbpL3ExternalDomain(std::vector< OF_SHARED_PTR< modelgbp::gbp::L3ExternalDomain > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::gbp::L3ExternalDomain.
Definition RoutingDomain.hpp:585
void resolveGbpRoutingDomainToIntSubnetsRSrc(std::vector< OF_SHARED_PTR< modelgbp::gbp::RoutingDomainToIntSubnetsRSrc > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::gbp::RoutingDomainToIntSubnetsRS...
Definition RoutingDomain.hpp:711
modelgbp::gbp::RoutingDomain & setName(const std::string &newValue)
Set name to the specified value in the currently-active mutator.
Definition RoutingDomain.hpp:213
void resolveDciDomainFromGbpRoutingDomainRTgt(std::vector< OF_SHARED_PTR< modelgbp::dci::DomainFromGbpRoutingDomainRTgt > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::dci::DomainFromGbpRoutingDomainR...
Definition RoutingDomain.hpp:405
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 RoutingDomain.hpp:525
static void remove(const std::string &policySpaceName, const std::string &gbpRoutingDomainName)
Remove the RoutingDomain object with the specified path elements from the managed object store using ...
Definition RoutingDomain.hpp:836
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::RoutingDomain > > resolve(const std::string &policySpaceName, const std::string &gbpRoutingDomainName)
Retrieve an instance of RoutingDomain from the default managed object store by constructing its URI f...
Definition RoutingDomain.hpp:309
static void remove(const opflex::modb::URI &uri)
Remove the RoutingDomain object with the specified URI using the currently-active mutator and the def...
Definition RoutingDomain.hpp:791
bool isIpv6AutoconfigSet()
Check whether ipv6Autoconfig has been set.
Definition RoutingDomain.hpp:123
boost::optional< OF_SHARED_PTR< modelgbp::gbp::ForwardingBehavioralGroupToSubnetsRSrc > > resolveGbpForwardingBehavioralGroupToSubnetsRSrc()
Retrieve the child object with the specified naming properties.
Definition RoutingDomain.hpp:726
bool isGlobalNameSet()
Check whether globalName has been set.
Definition RoutingDomain.hpp:67
boost::optional< OF_SHARED_PTR< modelgbp::gbpe::InstContext > > resolveGbpeInstContext()
Retrieve the child object with the specified naming properties.
Definition RoutingDomain.hpp:325
OF_SHARED_PTR< modelgbp::dci::RouteTargetPdef > addDciRouteTargetPdef(const std::string &dciRouteTargetPdefName)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition RoutingDomain.hpp:440
const std::string & getGlobalName(const std::string &defaultValue)
Get the value of globalName if set, otherwise the value of default passed in.
Definition RoutingDomain.hpp:88
static void remove(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Remove the RoutingDomain object with the specified URI using the currently-active mutator.
Definition RoutingDomain.hpp:775
boost::optional< const std::string & > getName()
Get the value of name if it has been set.
Definition RoutingDomain.hpp:188
bool isNameSet()
Check whether name has been set.
Definition RoutingDomain.hpp:179
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 RoutingDomain.hpp:341
boost::optional< OF_SHARED_PTR< modelgbp::dci::RouteTargetPdef > > resolveDciRouteTargetPdef(const std::string &dciRouteTargetPdefName)
Retrieve the child object with the specified naming properties.
Definition RoutingDomain.hpp:422
static void remove(opflex::ofcore::OFFramework &framework, const std::string &policySpaceName, const std::string &gbpRoutingDomainName)
Remove the RoutingDomain object with the specified path elements from the managed object store.
Definition RoutingDomain.hpp:812
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 RoutingDomain.hpp:873
const std::string & getName(const std::string &defaultValue)
Get the value of name if set, otherwise the value of default passed in.
Definition RoutingDomain.hpp:200
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 RoutingDomain.hpp:500
modelgbp::gbp::RoutingDomain & setGlobalName(const std::string &newValue)
Set globalName to the specified value in the currently-active mutator.
Definition RoutingDomain.hpp:101
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 RoutingDomain.hpp:742
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::RoutingDomain > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of RoutingDomain from the managed object store.
Definition RoutingDomain.hpp:242
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::RoutingDomain > > resolve(const opflex::modb::URI &uri)
Retrieve an instance of RoutingDomain from the managed object store using the default framework insta...
Definition RoutingDomain.hpp:260
modelgbp::gbp::RoutingDomain & unsetName()
Unset name in the currently-active mutator.
Definition RoutingDomain.hpp:225
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
SOME COPYRIGHT.
Definition OpcodeEnumT.hpp:12