modelgbp Generated OpFlex Model  1.3.0
EndPointToGroupRSrc.hpp
1 
10 #pragma once
11 #ifndef GI_EPDR_ENDPOINTTOGROUPRSRC_HPP
12 #define GI_EPDR_ENDPOINTTOGROUPRSRC_HPP
13 
14 #include <boost/optional.hpp>
15 #include "opflex/modb/URIBuilder.h"
16 #include "opflex/modb/mo-internal/MO.h"
17 
18 namespace modelgbp {
19 namespace epdr {
20 
22  : public opflex::modb::mointernal::MO
23 {
24 public:
25 
29  static const opflex::modb::class_id_t CLASS_ID = 86;
30 
35  bool isRoleSet()
36  {
37  return getObjectInstance().isSet(2818050ul, opflex::modb::PropertyInfo::ENUM8);
38  }
39 
44  boost::optional<const uint8_t> getRole()
45  {
46  if (isRoleSet())
47  return (const uint8_t)getObjectInstance().getUInt64(2818050ul);
48  return boost::none;
49  }
50 
56  const uint8_t getRole(const uint8_t defaultValue)
57  {
58  return getRole().get_value_or(defaultValue);
59  }
60 
70  {
71  getTLMutator().modify(getClassId(), getURI())->setUInt64(2818050ul, newValue);
72  return *this;
73  }
74 
82  {
83  getTLMutator().modify(getClassId(), getURI())->unset(2818050ul, opflex::modb::PropertyInfo::ENUM8, opflex::modb::PropertyInfo::SCALAR);
84  return *this;
85  }
86 
91  bool isTargetSet()
92  {
93  return getObjectInstance().isSet(2818051ul, opflex::modb::PropertyInfo::REFERENCE);
94  }
95 
100  boost::optional<opflex::modb::class_id_t> getTargetClass()
101  {
102  if (isTargetSet())
103  return getObjectInstance().getReference(2818051ul).first;
104  return boost::none;
105  }
106 
111  boost::optional<opflex::modb::URI> getTargetURI()
112  {
113  if (isTargetSet())
114  return getObjectInstance().getReference(2818051ul).second;
115  return boost::none;
116  }
117 
123  opflex::modb::class_id_t getTargetClass(opflex::modb::class_id_t defaultValue)
124  {
125  return getTargetClass().get_value_or(defaultValue);
126  }
127 
133  opflex::modb::URI getTargetURI(opflex::modb::URI defaultValue)
134  {
135  return getTargetURI().get_value_or(defaultValue);
136  }
137 
148  {
149  getTLMutator().modify(getClassId(), getURI())->setReference(2818051ul, 111, uri);
150  return *this;
151  }
152 
171  const std::string& policySpaceName,
172  const std::string& gbpEpGroupName)
173  {
174  getTLMutator().modify(getClassId(), getURI())->setReference(2818051ul, 111, opflex::modb::URIBuilder().addElement("PolicyUniverse").addElement("PolicySpace").addElement(policySpaceName).addElement("GbpEpGroup").addElement(gbpEpGroupName).build());
175  return *this;
176  }
177 
185  {
186  getTLMutator().modify(getClassId(), getURI())->unset(2818051ul, opflex::modb::PropertyInfo::REFERENCE, opflex::modb::PropertyInfo::SCALAR);
187  return *this;
188  }
189 
194  bool isTypeSet()
195  {
196  return getObjectInstance().isSet(2818049ul, opflex::modb::PropertyInfo::ENUM8);
197  }
198 
203  boost::optional<const uint8_t> getType()
204  {
205  if (isTypeSet())
206  return (const uint8_t)getObjectInstance().getUInt64(2818049ul);
207  return boost::none;
208  }
209 
215  const uint8_t getType(const uint8_t defaultValue)
216  {
217  return getType().get_value_or(defaultValue);
218  }
219 
229  {
230  getTLMutator().modify(getClassId(), getURI())->setUInt64(2818049ul, newValue);
231  return *this;
232  }
233 
241  {
242  getTLMutator().modify(getClassId(), getURI())->unset(2818049ul, opflex::modb::PropertyInfo::ENUM8, opflex::modb::PropertyInfo::SCALAR);
243  return *this;
244  }
245 
257  static boost::optional<boost::shared_ptr<modelgbp::epdr::EndPointToGroupRSrc> > resolve(
258  opflex::ofcore::OFFramework& framework,
259  const opflex::modb::URI& uri)
260  {
261  return opflex::modb::mointernal::MO::resolve<modelgbp::epdr::EndPointToGroupRSrc>(framework, CLASS_ID, uri);
262  }
263 
275  static boost::optional<boost::shared_ptr<modelgbp::epdr::EndPointToGroupRSrc> > resolve(
276  const opflex::modb::URI& uri)
277  {
278  return opflex::modb::mointernal::MO::resolve<modelgbp::epdr::EndPointToGroupRSrc>(opflex::ofcore::OFFramework::defaultInstance(), CLASS_ID, uri);
279  }
280 
297  static boost::optional<boost::shared_ptr<modelgbp::epdr::EndPointToGroupRSrc> > resolveUnderEpdrL2DiscoveredEpdrLocalL2Ep(
298  opflex::ofcore::OFFramework& framework,
299  const std::string& epdrLocalL2EpUuid)
300  {
301  return resolve(framework,opflex::modb::URIBuilder().addElement("EpdrL2Discovered").addElement("EpdrLocalL2Ep").addElement(epdrLocalL2EpUuid).addElement("EpdrEndPointToGroupRSrc").build());
302  }
303 
319  static boost::optional<boost::shared_ptr<modelgbp::epdr::EndPointToGroupRSrc> > resolveUnderEpdrL2DiscoveredEpdrLocalL2Ep(
320  const std::string& epdrLocalL2EpUuid)
321  {
322  return resolveUnderEpdrL2DiscoveredEpdrLocalL2Ep(opflex::ofcore::OFFramework::defaultInstance(),epdrLocalL2EpUuid);
323  }
324 
341  static boost::optional<boost::shared_ptr<modelgbp::epdr::EndPointToGroupRSrc> > resolveUnderEpdrL3DiscoveredEpdrLocalL3Ep(
342  opflex::ofcore::OFFramework& framework,
343  const std::string& epdrLocalL3EpUuid)
344  {
345  return resolve(framework,opflex::modb::URIBuilder().addElement("EpdrL3Discovered").addElement("EpdrLocalL3Ep").addElement(epdrLocalL3EpUuid).addElement("EpdrEndPointToGroupRSrc").build());
346  }
347 
363  static boost::optional<boost::shared_ptr<modelgbp::epdr::EndPointToGroupRSrc> > resolveUnderEpdrL3DiscoveredEpdrLocalL3Ep(
364  const std::string& epdrLocalL3EpUuid)
365  {
366  return resolveUnderEpdrL3DiscoveredEpdrLocalL3Ep(opflex::ofcore::OFFramework::defaultInstance(),epdrLocalL3EpUuid);
367  }
368 
377  void remove()
378  {
379  getTLMutator().remove(CLASS_ID, getURI());
380  }
381 
392  static void remove(opflex::ofcore::OFFramework& framework,
393  const opflex::modb::URI& uri)
394  {
395  MO::remove(framework, CLASS_ID, uri);
396  }
397 
408  static void remove(const opflex::modb::URI& uri)
409  {
410  remove(opflex::ofcore::OFFramework::defaultInstance(), uri);
411  }
412 
428  opflex::ofcore::OFFramework& framework,
429  const std::string& epdrLocalL2EpUuid)
430  {
431  MO::remove(framework, CLASS_ID, opflex::modb::URIBuilder().addElement("EpdrL2Discovered").addElement("EpdrLocalL2Ep").addElement(epdrLocalL2EpUuid).addElement("EpdrEndPointToGroupRSrc").build());
432  }
433 
449  const std::string& epdrLocalL2EpUuid)
450  {
451  removeUnderEpdrL2DiscoveredEpdrLocalL2Ep(opflex::ofcore::OFFramework::defaultInstance(),epdrLocalL2EpUuid);
452  }
453 
469  opflex::ofcore::OFFramework& framework,
470  const std::string& epdrLocalL3EpUuid)
471  {
472  MO::remove(framework, CLASS_ID, opflex::modb::URIBuilder().addElement("EpdrL3Discovered").addElement("EpdrLocalL3Ep").addElement(epdrLocalL3EpUuid).addElement("EpdrEndPointToGroupRSrc").build());
473  }
474 
490  const std::string& epdrLocalL3EpUuid)
491  {
492  removeUnderEpdrL3DiscoveredEpdrLocalL3Ep(opflex::ofcore::OFFramework::defaultInstance(),epdrLocalL3EpUuid);
493  }
494 
506  static void registerListener(
507  opflex::ofcore::OFFramework& framework,
508  opflex::modb::ObjectListener* listener)
509  {
510  opflex::modb::mointernal
511  ::MO::registerListener(framework, listener, CLASS_ID);
512  }
513 
525  static void registerListener(
526  opflex::modb::ObjectListener* listener)
527  {
528  registerListener(opflex::ofcore::OFFramework::defaultInstance(), listener);
529  }
530 
537  static void unregisterListener(
538  opflex::ofcore::OFFramework& framework,
539  opflex::modb::ObjectListener* listener)
540  {
541  opflex::modb::mointernal
542  ::MO::unregisterListener(framework, listener, CLASS_ID);
543  }
544 
551  static void unregisterListener(
552  opflex::modb::ObjectListener* listener)
553  {
554  unregisterListener(opflex::ofcore::OFFramework::defaultInstance(), listener);
555  }
556 
562  opflex::ofcore::OFFramework& framework,
563  const opflex::modb::URI& uri,
564  const boost::shared_ptr<const opflex::modb::mointernal::ObjectInstance>& oi)
565  : MO(framework, CLASS_ID, uri, oi) { }
566 }; // class EndPointToGroupRSrc
567 
568 } // namespace epdr
569 } // namespace modelgbp
570 #endif // GI_EPDR_ENDPOINTTOGROUPRSRC_HPP
boost::optional< const uint8_t > getRole()
Get the value of role if it has been set.
Definition: EndPointToGroupRSrc.hpp:44
const uint8_t getType(const uint8_t defaultValue)
Get the value of type if set, otherwise the value of default passed in.
Definition: EndPointToGroupRSrc.hpp:215
Definition: EndPointToGroupRSrc.hpp:21
static const opflex::modb::class_id_t CLASS_ID
The unique class ID for EndPointToGroupRSrc.
Definition: EndPointToGroupRSrc.hpp:29
modelgbp::epdr::EndPointToGroupRSrc & setTargetEpGroup(const opflex::modb::URI &uri)
Set the reference to point to an instance of EpGroup with the specified URI.
Definition: EndPointToGroupRSrc.hpp:147
bool isTargetSet()
Check whether target has been set.
Definition: EndPointToGroupRSrc.hpp:91
modelgbp::epdr::EndPointToGroupRSrc & setRole(const uint8_t newValue)
Set role to the specified value in the currently-active mutator.
Definition: EndPointToGroupRSrc.hpp:69
opflex::modb::class_id_t getTargetClass(opflex::modb::class_id_t defaultValue)
Get the value of targetClass if set, otherwise the value of default passed in.
Definition: EndPointToGroupRSrc.hpp:123
bool isRoleSet()
Check whether role has been set.
Definition: EndPointToGroupRSrc.hpp:35
modelgbp::epdr::EndPointToGroupRSrc & setTargetEpGroup(const std::string &policySpaceName, const std::string &gbpEpGroupName)
Set the reference to point to an instance of EpGroup in the currently-active mutator by constructing ...
Definition: EndPointToGroupRSrc.hpp:170
modelgbp::epdr::EndPointToGroupRSrc & unsetType()
Unset type in the currently-active mutator.
Definition: EndPointToGroupRSrc.hpp:240
const uint8_t getRole(const uint8_t defaultValue)
Get the value of role if set, otherwise the value of default passed in.
Definition: EndPointToGroupRSrc.hpp:56
modelgbp::epdr::EndPointToGroupRSrc & unsetTarget()
Unset target in the currently-active mutator.
Definition: EndPointToGroupRSrc.hpp:184
bool isTypeSet()
Check whether type has been set.
Definition: EndPointToGroupRSrc.hpp:194
static boost::optional< boost::shared_ptr< modelgbp::epdr::EndPointToGroupRSrc > > resolveUnderEpdrL2DiscoveredEpdrLocalL2Ep(const std::string &epdrLocalL2EpUuid)
Retrieve an instance of EndPointToGroupRSrc from the default managed object store by constructing its...
Definition: EndPointToGroupRSrc.hpp:319
boost::optional< opflex::modb::class_id_t > getTargetClass()
Get the value of targetClass if it has been set.
Definition: EndPointToGroupRSrc.hpp:100
static void removeUnderEpdrL3DiscoveredEpdrLocalL3Ep(const std::string &epdrLocalL3EpUuid)
Remove the EndPointToGroupRSrc object with the specified path elements from the managed object store ...
Definition: EndPointToGroupRSrc.hpp:489
boost::optional< opflex::modb::URI > getTargetURI()
Get the value of targetURI if it has been set.
Definition: EndPointToGroupRSrc.hpp:111
boost::optional< const uint8_t > getType()
Get the value of type if it has been set.
Definition: EndPointToGroupRSrc.hpp:203
EndPointToGroupRSrc(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri, const boost::shared_ptr< const opflex::modb::mointernal::ObjectInstance > &oi)
Construct an instance of EndPointToGroupRSrc.
Definition: EndPointToGroupRSrc.hpp:561
static boost::optional< boost::shared_ptr< modelgbp::epdr::EndPointToGroupRSrc > > resolve(const opflex::modb::URI &uri)
Retrieve an instance of EndPointToGroupRSrc from the managed object store using the default framework...
Definition: EndPointToGroupRSrc.hpp:275
static void unregisterListener(opflex::ofcore::OFFramework &framework, opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class.
Definition: EndPointToGroupRSrc.hpp:537
opflex::modb::URI getTargetURI(opflex::modb::URI defaultValue)
Get the value of targetURI if set, otherwise the value of default passed in.
Definition: EndPointToGroupRSrc.hpp:133
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: EndPointToGroupRSrc.hpp:525
modelgbp::epdr::EndPointToGroupRSrc & setType(const uint8_t newValue)
Set type to the specified value in the currently-active mutator.
Definition: EndPointToGroupRSrc.hpp:228
static boost::optional< boost::shared_ptr< modelgbp::epdr::EndPointToGroupRSrc > > resolveUnderEpdrL2DiscoveredEpdrLocalL2Ep(opflex::ofcore::OFFramework &framework, const std::string &epdrLocalL2EpUuid)
Retrieve an instance of EndPointToGroupRSrc from the managed object store by constructing its URI fro...
Definition: EndPointToGroupRSrc.hpp:297
static boost::optional< boost::shared_ptr< modelgbp::epdr::EndPointToGroupRSrc > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of EndPointToGroupRSrc from the managed object store.
Definition: EndPointToGroupRSrc.hpp:257
static boost::optional< boost::shared_ptr< modelgbp::epdr::EndPointToGroupRSrc > > resolveUnderEpdrL3DiscoveredEpdrLocalL3Ep(opflex::ofcore::OFFramework &framework, const std::string &epdrLocalL3EpUuid)
Retrieve an instance of EndPointToGroupRSrc from the managed object store by constructing its URI fro...
Definition: EndPointToGroupRSrc.hpp:341
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: EndPointToGroupRSrc.hpp:506
static void removeUnderEpdrL3DiscoveredEpdrLocalL3Ep(opflex::ofcore::OFFramework &framework, const std::string &epdrLocalL3EpUuid)
Remove the EndPointToGroupRSrc object with the specified path elements from the managed object store...
Definition: EndPointToGroupRSrc.hpp:468
static void removeUnderEpdrL2DiscoveredEpdrLocalL2Ep(const std::string &epdrLocalL2EpUuid)
Remove the EndPointToGroupRSrc object with the specified path elements from the managed object store ...
Definition: EndPointToGroupRSrc.hpp:448
static void unregisterListener(opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class from the default framework instance.
Definition: EndPointToGroupRSrc.hpp:551
static void removeUnderEpdrL2DiscoveredEpdrLocalL2Ep(opflex::ofcore::OFFramework &framework, const std::string &epdrLocalL2EpUuid)
Remove the EndPointToGroupRSrc object with the specified path elements from the managed object store...
Definition: EndPointToGroupRSrc.hpp:427
static boost::optional< boost::shared_ptr< modelgbp::epdr::EndPointToGroupRSrc > > resolveUnderEpdrL3DiscoveredEpdrLocalL3Ep(const std::string &epdrLocalL3EpUuid)
Retrieve an instance of EndPointToGroupRSrc from the default managed object store by constructing its...
Definition: EndPointToGroupRSrc.hpp:363
modelgbp::epdr::EndPointToGroupRSrc & unsetRole()
Unset role in the currently-active mutator.
Definition: EndPointToGroupRSrc.hpp:81