11#ifndef GI_EPR_L2EP_HPP
12#define GI_EPR_L2EP_HPP
14#include <boost/optional.hpp>
15#include "opflex/modb/URIBuilder.h"
16#include "opflex/modb/mo-internal/MO.h"
20#include "modelgbp/gbpe/ReportedEpAttributeSet.hpp"
24#include "modelgbp/gbpe/Attestation.hpp"
28#include "modelgbp/span/LocalEpFromEpRTgt.hpp"
32#include "modelgbp/epr/SecurityGroupContext.hpp"
36#include "modelgbp/epr/L3Net.hpp"
42 :
public opflex::modb::mointernal::MO
49 static const opflex::modb::class_id_t
CLASS_ID = 99;
57 return getObjectInstance().isSet(3244036ul, opflex::modb::PropertyInfo::STRING);
67 return getObjectInstance().getString(3244036ul);
76 const std::string&
getContext(
const std::string& defaultValue)
78 return getContext().get_value_or(defaultValue);
91 getTLMutator().modify(getClassId(), getURI())->setString(3244036ul, newValue);
103 getTLMutator().modify(getClassId(), getURI())->unset(3244036ul, opflex::modb::PropertyInfo::STRING, opflex::modb::PropertyInfo::SCALAR);
113 return getObjectInstance().isSet(3244035ul, opflex::modb::PropertyInfo::STRING);
123 return getObjectInstance().getString(3244035ul);
132 const std::string&
getGroup(
const std::string& defaultValue)
134 return getGroup().get_value_or(defaultValue);
147 getTLMutator().modify(getClassId(), getURI())->setString(3244035ul, newValue);
159 getTLMutator().modify(getClassId(), getURI())->unset(3244035ul, opflex::modb::PropertyInfo::STRING, opflex::modb::PropertyInfo::SCALAR);
169 return getObjectInstance().isSet(3244037ul, opflex::modb::PropertyInfo::STRING);
179 return getObjectInstance().getString(3244037ul);
203 getTLMutator().modify(getClassId(), getURI())->setString(3244037ul, newValue);
215 getTLMutator().modify(getClassId(), getURI())->unset(3244037ul, opflex::modb::PropertyInfo::STRING, opflex::modb::PropertyInfo::SCALAR);
225 return getObjectInstance().isSet(3244034ul, opflex::modb::PropertyInfo::MAC);
232 boost::optional<const opflex::modb::MAC&>
getMac()
235 return getObjectInstance().getMAC(3244034ul);
244 const opflex::modb::MAC&
getMac(
const opflex::modb::MAC& defaultValue)
246 return getMac().get_value_or(defaultValue);
259 getTLMutator().modify(getClassId(), getURI())->setMAC(3244034ul, newValue);
271 getTLMutator().modify(getClassId(), getURI())->unset(3244034ul, opflex::modb::PropertyInfo::MAC, opflex::modb::PropertyInfo::SCALAR);
281 return getObjectInstance().isSet(3244033ul, opflex::modb::PropertyInfo::STRING);
291 return getObjectInstance().getString(3244033ul);
300 const std::string&
getUuid(
const std::string& defaultValue)
302 return getUuid().get_value_or(defaultValue);
315 getTLMutator().modify(getClassId(), getURI())->setString(3244033ul, newValue);
327 getTLMutator().modify(getClassId(), getURI())->unset(3244033ul, opflex::modb::PropertyInfo::STRING, opflex::modb::PropertyInfo::SCALAR);
337 return getObjectInstance().isSet(3244038ul, opflex::modb::PropertyInfo::STRING);
347 return getObjectInstance().getString(3244038ul);
356 const std::string&
getVmName(
const std::string& defaultValue)
358 return getVmName().get_value_or(defaultValue);
371 getTLMutator().modify(getClassId(), getURI())->setString(3244038ul, newValue);
383 getTLMutator().modify(getClassId(), getURI())->unset(3244038ul, opflex::modb::PropertyInfo::STRING, opflex::modb::PropertyInfo::SCALAR);
398 static boost::optional<OF_SHARED_PTR<modelgbp::epr::L2Ep> >
resolve(
399 opflex::ofcore::OFFramework& framework,
400 const opflex::modb::URI& uri)
402 return opflex::modb::mointernal::MO::resolve<modelgbp::epr::L2Ep>(framework,
CLASS_ID, uri);
416 static boost::optional<OF_SHARED_PTR<modelgbp::epr::L2Ep> >
resolve(
417 const opflex::modb::URI& uri)
419 return opflex::modb::mointernal::MO::resolve<modelgbp::epr::L2Ep>(opflex::ofcore::OFFramework::defaultInstance(),
CLASS_ID, uri);
440 static boost::optional<OF_SHARED_PTR<modelgbp::epr::L2Ep> >
resolve(
441 opflex::ofcore::OFFramework& framework,
442 const std::string& eprL2EpContext,
443 const opflex::modb::MAC& eprL2EpMac)
445 return resolve(framework,opflex::modb::URIBuilder().addElement(
"EprL2Universe").addElement(
"EprL2Ep").addElement(eprL2EpContext).addElement(eprL2EpMac).build());
465 static boost::optional<OF_SHARED_PTR<modelgbp::epr::L2Ep> >
resolve(
466 const std::string& eprL2EpContext,
467 const opflex::modb::MAC& eprL2EpMac)
469 return resolve(opflex::ofcore::OFFramework::defaultInstance(),eprL2EpContext,eprL2EpMac);
500 OF_SHARED_PTR<modelgbp::gbpe::ReportedEpAttributeSet> result = addChild<modelgbp::gbpe::ReportedEpAttributeSet>(
501 CLASS_ID, getURI(), 2150727718ul, 38,
502 opflex::modb::URIBuilder(getURI()).addElement(
"GbpeReportedEpAttributeSet").build()
519 const std::string& gbpeAttestationName)
537 const std::string& gbpeAttestationName)
539 OF_SHARED_PTR<modelgbp::gbpe::Attestation> result = addChild<modelgbp::gbpe::Attestation>(
540 CLASS_ID, getURI(), 2150727727ul, 47,
541 opflex::modb::URIBuilder(getURI()).addElement(
"GbpeAttestation").addElement(gbpeAttestationName).build()
543 result->setName(gbpeAttestationName);
563 opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbpe::Attestation>(
564 getFramework(),
CLASS_ID, getURI(), 2150727727ul, 47, out);
579 const std::string& spanLocalEpFromEpRTgtSource)
597 const std::string& spanLocalEpFromEpRTgtSource)
599 OF_SHARED_PTR<modelgbp::span::LocalEpFromEpRTgt> result = addChild<modelgbp::span::LocalEpFromEpRTgt>(
600 CLASS_ID, getURI(), 2150727751ul, 71,
601 opflex::modb::URIBuilder(getURI()).addElement(
"SpanLocalEpFromEpRTgt").addElement(spanLocalEpFromEpRTgtSource).build()
603 result->setSource(spanLocalEpFromEpRTgtSource);
623 opflex::modb::mointernal::MO::resolveChildren<modelgbp::span::LocalEpFromEpRTgt>(
624 getFramework(),
CLASS_ID, getURI(), 2150727751ul, 71, out);
639 const std::string& eprSecurityGroupContextSecGroup)
657 const std::string& eprSecurityGroupContextSecGroup)
659 OF_SHARED_PTR<modelgbp::epr::SecurityGroupContext> result = addChild<modelgbp::epr::SecurityGroupContext>(
660 CLASS_ID, getURI(), 2150727778ul, 98,
661 opflex::modb::URIBuilder(getURI()).addElement(
"EprSecurityGroupContext").addElement(eprSecurityGroupContextSecGroup).build()
663 result->setSecGroup(eprSecurityGroupContextSecGroup);
683 opflex::modb::mointernal::MO::resolveChildren<modelgbp::epr::SecurityGroupContext>(
684 getFramework(),
CLASS_ID, getURI(), 2150727778ul, 98, out);
699 const std::string& eprL3NetIp)
701 return modelgbp::epr::L3Net::resolve(getFramework(), opflex::modb::URIBuilder(getURI()).addElement(
"EprL3Net").addElement(eprL3NetIp).build());
717 const std::string& eprL3NetIp)
719 OF_SHARED_PTR<modelgbp::epr::L3Net> result = addChild<modelgbp::epr::L3Net>(
720 CLASS_ID, getURI(), 2150727780ul, 100,
721 opflex::modb::URIBuilder(getURI()).addElement(
"EprL3Net").addElement(eprL3NetIp).build()
723 result->setIp(eprL3NetIp);
743 opflex::modb::mointernal::MO::resolveChildren<modelgbp::epr::L3Net>(
744 getFramework(),
CLASS_ID, getURI(), 2150727780ul, 100, out);
757 getTLMutator().remove(
CLASS_ID, getURI());
770 static void remove(opflex::ofcore::OFFramework& framework,
771 const opflex::modb::URI& uri)
773 MO::remove(framework,
CLASS_ID, uri);
786 static void remove(
const opflex::modb::URI& uri)
788 remove(opflex::ofcore::OFFramework::defaultInstance(), uri);
808 opflex::ofcore::OFFramework& framework,
809 const std::string& eprL2EpContext,
810 const opflex::modb::MAC& eprL2EpMac)
812 MO::remove(framework,
CLASS_ID, opflex::modb::URIBuilder().addElement(
"EprL2Universe").addElement(
"EprL2Ep").addElement(eprL2EpContext).addElement(eprL2EpMac).build());
832 const std::string& eprL2EpContext,
833 const opflex::modb::MAC& eprL2EpMac)
835 remove(opflex::ofcore::OFFramework::defaultInstance(),eprL2EpContext,eprL2EpMac);
850 opflex::ofcore::OFFramework& framework,
851 opflex::modb::ObjectListener* listener)
853 opflex::modb::mointernal
854 ::MO::registerListener(framework, listener,
CLASS_ID);
869 opflex::modb::ObjectListener* listener)
881 opflex::ofcore::OFFramework& framework,
882 opflex::modb::ObjectListener* listener)
884 opflex::modb::mointernal
885 ::MO::unregisterListener(framework, listener,
CLASS_ID);
895 opflex::modb::ObjectListener* listener)
905 opflex::ofcore::OFFramework& framework,
906 const opflex::modb::URI& uri,
907 const OF_SHARED_PTR<const opflex::modb::mointernal::ObjectInstance>& oi)
908 : MO(framework,
CLASS_ID, uri, oi) { }
const std::string & getInterfaceName(const std::string &defaultValue)
Get the value of interfaceName if set, otherwise the value of default passed in.
Definition L2Ep.hpp:188
void resolveEprSecurityGroupContext(std::vector< OF_SHARED_PTR< modelgbp::epr::SecurityGroupContext > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::epr::SecurityGroupContext.
Definition L2Ep.hpp:681
bool isContextSet()
Check whether context has been set.
Definition L2Ep.hpp:55
boost::optional< OF_SHARED_PTR< modelgbp::gbpe::ReportedEpAttributeSet > > resolveGbpeReportedEpAttributeSet()
Retrieve the child object with the specified naming properties.
Definition L2Ep.hpp:481
const std::string & getVmName(const std::string &defaultValue)
Get the value of vmName if set, otherwise the value of default passed in.
Definition L2Ep.hpp:356
void remove()
Remove this instance using the currently-active mutator.
Definition L2Ep.hpp:755
static void unregisterListener(opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class from the default framework instance.
Definition L2Ep.hpp:894
boost::optional< OF_SHARED_PTR< modelgbp::epr::L3Net > > resolveEprL3Net(const std::string &eprL3NetIp)
Retrieve the child object with the specified naming properties.
Definition L2Ep.hpp:698
boost::optional< const opflex::modb::MAC & > getMac()
Get the value of mac if it has been set.
Definition L2Ep.hpp:232
boost::optional< const std::string & > getInterfaceName()
Get the value of interfaceName if it has been set.
Definition L2Ep.hpp:176
OF_SHARED_PTR< modelgbp::span::LocalEpFromEpRTgt > addSpanLocalEpFromEpRTgt(const std::string &spanLocalEpFromEpRTgtSource)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition L2Ep.hpp:596
modelgbp::epr::L2Ep & setInterfaceName(const std::string &newValue)
Set interfaceName to the specified value in the currently-active mutator.
Definition L2Ep.hpp:201
boost::optional< OF_SHARED_PTR< modelgbp::span::LocalEpFromEpRTgt > > resolveSpanLocalEpFromEpRTgt(const std::string &spanLocalEpFromEpRTgtSource)
Retrieve the child object with the specified naming properties.
Definition L2Ep.hpp:578
modelgbp::epr::L2Ep & setMac(const opflex::modb::MAC &newValue)
Set mac to the specified value in the currently-active mutator.
Definition L2Ep.hpp:257
modelgbp::epr::L2Ep & setGroup(const std::string &newValue)
Set group to the specified value in the currently-active mutator.
Definition L2Ep.hpp:145
OF_SHARED_PTR< modelgbp::gbpe::ReportedEpAttributeSet > addGbpeReportedEpAttributeSet()
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition L2Ep.hpp:497
static boost::optional< OF_SHARED_PTR< modelgbp::epr::L2Ep > > resolve(const opflex::modb::URI &uri)
Retrieve an instance of L2Ep from the managed object store using the default framework instance.
Definition L2Ep.hpp:416
modelgbp::epr::L2Ep & unsetGroup()
Unset group in the currently-active mutator.
Definition L2Ep.hpp:157
boost::optional< OF_SHARED_PTR< modelgbp::epr::SecurityGroupContext > > resolveEprSecurityGroupContext(const std::string &eprSecurityGroupContextSecGroup)
Retrieve the child object with the specified naming properties.
Definition L2Ep.hpp:638
static void remove(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Remove the L2Ep object with the specified URI using the currently-active mutator.
Definition L2Ep.hpp:770
static void remove(opflex::ofcore::OFFramework &framework, const std::string &eprL2EpContext, const opflex::modb::MAC &eprL2EpMac)
Remove the L2Ep object with the specified path elements from the managed object store.
Definition L2Ep.hpp:807
modelgbp::epr::L2Ep & unsetVmName()
Unset vmName in the currently-active mutator.
Definition L2Ep.hpp:381
modelgbp::epr::L2Ep & unsetInterfaceName()
Unset interfaceName in the currently-active mutator.
Definition L2Ep.hpp:213
bool isMacSet()
Check whether mac has been set.
Definition L2Ep.hpp:223
modelgbp::epr::L2Ep & unsetMac()
Unset mac in the currently-active mutator.
Definition L2Ep.hpp:269
OF_SHARED_PTR< modelgbp::epr::L3Net > addEprL3Net(const std::string &eprL3NetIp)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition L2Ep.hpp:716
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 L2Ep.hpp:849
bool isVmNameSet()
Check whether vmName has been set.
Definition L2Ep.hpp:335
modelgbp::epr::L2Ep & setVmName(const std::string &newValue)
Set vmName to the specified value in the currently-active mutator.
Definition L2Ep.hpp:369
const opflex::modb::MAC & getMac(const opflex::modb::MAC &defaultValue)
Get the value of mac if set, otherwise the value of default passed in.
Definition L2Ep.hpp:244
static void remove(const opflex::modb::URI &uri)
Remove the L2Ep object with the specified URI using the currently-active mutator and the default fram...
Definition L2Ep.hpp:786
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 L2Ep.hpp:868
boost::optional< const std::string & > getGroup()
Get the value of group if it has been set.
Definition L2Ep.hpp:120
const std::string & getContext(const std::string &defaultValue)
Get the value of context if set, otherwise the value of default passed in.
Definition L2Ep.hpp:76
static const opflex::modb::class_id_t CLASS_ID
The unique class ID for L2Ep.
Definition L2Ep.hpp:49
boost::optional< const std::string & > getUuid()
Get the value of uuid if it has been set.
Definition L2Ep.hpp:288
void resolveEprL3Net(std::vector< OF_SHARED_PTR< modelgbp::epr::L3Net > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::epr::L3Net.
Definition L2Ep.hpp:741
bool isInterfaceNameSet()
Check whether interfaceName has been set.
Definition L2Ep.hpp:167
const std::string & getGroup(const std::string &defaultValue)
Get the value of group if set, otherwise the value of default passed in.
Definition L2Ep.hpp:132
modelgbp::epr::L2Ep & unsetContext()
Unset context in the currently-active mutator.
Definition L2Ep.hpp:101
const std::string & getUuid(const std::string &defaultValue)
Get the value of uuid if set, otherwise the value of default passed in.
Definition L2Ep.hpp:300
bool isUuidSet()
Check whether uuid has been set.
Definition L2Ep.hpp:279
boost::optional< OF_SHARED_PTR< modelgbp::gbpe::Attestation > > resolveGbpeAttestation(const std::string &gbpeAttestationName)
Retrieve the child object with the specified naming properties.
Definition L2Ep.hpp:518
static boost::optional< OF_SHARED_PTR< modelgbp::epr::L2Ep > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of L2Ep from the managed object store.
Definition L2Ep.hpp:398
OF_SHARED_PTR< modelgbp::epr::SecurityGroupContext > addEprSecurityGroupContext(const std::string &eprSecurityGroupContextSecGroup)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition L2Ep.hpp:656
L2Ep(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri, const OF_SHARED_PTR< const opflex::modb::mointernal::ObjectInstance > &oi)
Construct an instance of L2Ep.
Definition L2Ep.hpp:904
void resolveSpanLocalEpFromEpRTgt(std::vector< OF_SHARED_PTR< modelgbp::span::LocalEpFromEpRTgt > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::span::LocalEpFromEpRTgt.
Definition L2Ep.hpp:621
modelgbp::epr::L2Ep & unsetUuid()
Unset uuid in the currently-active mutator.
Definition L2Ep.hpp:325
static boost::optional< OF_SHARED_PTR< modelgbp::epr::L2Ep > > resolve(const std::string &eprL2EpContext, const opflex::modb::MAC &eprL2EpMac)
Retrieve an instance of L2Ep from the default managed object store by constructing its URI from the p...
Definition L2Ep.hpp:465
modelgbp::epr::L2Ep & setContext(const std::string &newValue)
Set context to the specified value in the currently-active mutator.
Definition L2Ep.hpp:89
OF_SHARED_PTR< modelgbp::gbpe::Attestation > addGbpeAttestation(const std::string &gbpeAttestationName)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition L2Ep.hpp:536
static void remove(const std::string &eprL2EpContext, const opflex::modb::MAC &eprL2EpMac)
Remove the L2Ep object with the specified path elements from the managed object store using the defau...
Definition L2Ep.hpp:831
void resolveGbpeAttestation(std::vector< OF_SHARED_PTR< modelgbp::gbpe::Attestation > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::gbpe::Attestation.
Definition L2Ep.hpp:561
static boost::optional< OF_SHARED_PTR< modelgbp::epr::L2Ep > > resolve(opflex::ofcore::OFFramework &framework, const std::string &eprL2EpContext, const opflex::modb::MAC &eprL2EpMac)
Retrieve an instance of L2Ep from the managed object store by constructing its URI from the path elem...
Definition L2Ep.hpp:440
boost::optional< const std::string & > getContext()
Get the value of context if it has been set.
Definition L2Ep.hpp:64
static void unregisterListener(opflex::ofcore::OFFramework &framework, opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class.
Definition L2Ep.hpp:880
boost::optional< const std::string & > getVmName()
Get the value of vmName if it has been set.
Definition L2Ep.hpp:344
bool isGroupSet()
Check whether group has been set.
Definition L2Ep.hpp:111
modelgbp::epr::L2Ep & setUuid(const std::string &newValue)
Set uuid to the specified value in the currently-active mutator.
Definition L2Ep.hpp:313
static boost::optional< OF_SHARED_PTR< modelgbp::epr::L3Net > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of L3Net from the managed object store.
Definition L3Net.hpp:102
static boost::optional< OF_SHARED_PTR< modelgbp::epr::SecurityGroupContext > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of SecurityGroupContext from the managed object store.
Definition SecurityGroupContext.hpp:154
static boost::optional< OF_SHARED_PTR< modelgbp::gbpe::Attestation > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of Attestation from the managed object store.
Definition Attestation.hpp:210
static boost::optional< OF_SHARED_PTR< modelgbp::gbpe::ReportedEpAttributeSet > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of ReportedEpAttributeSet from the managed object store.
Definition ReportedEpAttributeSet.hpp:46
static boost::optional< OF_SHARED_PTR< modelgbp::span::LocalEpFromEpRTgt > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of LocalEpFromEpRTgt from the managed object store.
Definition LocalEpFromEpRTgt.hpp:210
SOME COPYRIGHT.
Definition OpcodeEnumT.hpp:12