modelgbp Generated OpFlex Model 1.7.0
L3ExternalNetworkToNatEPGroupRSrc.hpp
1
10#pragma once
11#ifndef GI_GBP_L3EXTERNALNETWORKTONATEPGROUPRSRC_HPP
12#define GI_GBP_L3EXTERNALNETWORKTONATEPGROUPRSRC_HPP
13
14#include <boost/optional.hpp>
15#include "opflex/modb/URIBuilder.h"
16#include "opflex/modb/mo-internal/MO.h"
17
18namespace modelgbp {
19namespace gbp {
20
22 : public opflex::modb::mointernal::MO
23{
24public:
25
29 static const opflex::modb::class_id_t CLASS_ID = 176;
30
35 bool isRoleSet()
36 {
37 return getObjectInstance().isSet(5767170ul, opflex::modb::PropertyInfo::ENUM8);
38 }
39
44 boost::optional<const uint8_t> getRole()
45 {
46 if (isRoleSet())
47 return (const uint8_t)getObjectInstance().getUInt64(5767170ul);
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(5767170ul, newValue);
72 return *this;
73 }
74
82 {
83 getTLMutator().modify(getClassId(), getURI())->unset(5767170ul, opflex::modb::PropertyInfo::ENUM8, opflex::modb::PropertyInfo::SCALAR);
84 return *this;
85 }
86
92 {
93 return getObjectInstance().isSet(5767171ul, opflex::modb::PropertyInfo::REFERENCE);
94 }
95
100 boost::optional<opflex::modb::class_id_t> getTargetClass()
101 {
102 if (isTargetSet())
103 return getObjectInstance().getReference(5767171ul).first;
104 return boost::none;
105 }
106
111 boost::optional<opflex::modb::URI> getTargetURI()
112 {
113 if (isTargetSet())
114 return getObjectInstance().getReference(5767171ul).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(5767171ul, 152, uri);
150 return *this;
151 }
152
171 const std::string& policySpaceName,
172 const std::string& gbpEpGroupName)
173 {
174 getTLMutator().modify(getClassId(), getURI())->setReference(5767171ul, 152, 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(5767171ul, opflex::modb::PropertyInfo::REFERENCE, opflex::modb::PropertyInfo::SCALAR);
187 return *this;
188 }
189
195 {
196 return getObjectInstance().isSet(5767169ul, opflex::modb::PropertyInfo::ENUM8);
197 }
198
203 boost::optional<const uint8_t> getType()
204 {
205 if (isTypeSet())
206 return (const uint8_t)getObjectInstance().getUInt64(5767169ul);
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(5767169ul, newValue);
231 return *this;
232 }
233
241 {
242 getTLMutator().modify(getClassId(), getURI())->unset(5767169ul, opflex::modb::PropertyInfo::ENUM8, opflex::modb::PropertyInfo::SCALAR);
243 return *this;
244 }
245
257 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc> > resolve(
258 opflex::ofcore::OFFramework& framework,
259 const opflex::modb::URI& uri)
260 {
261 return opflex::modb::mointernal::MO::resolve<modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc>(framework, CLASS_ID, uri);
262 }
263
275 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc> > resolve(
276 const opflex::modb::URI& uri)
277 {
278 return opflex::modb::mointernal::MO::resolve<modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc>(opflex::ofcore::OFFramework::defaultInstance(), CLASS_ID, uri);
279 }
280
303 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc> > resolve(
304 opflex::ofcore::OFFramework& framework,
305 const std::string& policySpaceName,
306 const std::string& gbpRoutingDomainName,
307 const std::string& gbpL3ExternalDomainName,
308 const std::string& gbpL3ExternalNetworkName)
309 {
310 return resolve(framework,opflex::modb::URIBuilder().addElement("PolicyUniverse").addElement("PolicySpace").addElement(policySpaceName).addElement("GbpRoutingDomain").addElement(gbpRoutingDomainName).addElement("GbpL3ExternalDomain").addElement(gbpL3ExternalDomainName).addElement("GbpL3ExternalNetwork").addElement(gbpL3ExternalNetworkName).addElement("GbpL3ExternalNetworkToNatEPGroupRSrc").build());
311 }
312
334 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc> > resolve(
335 const std::string& policySpaceName,
336 const std::string& gbpRoutingDomainName,
337 const std::string& gbpL3ExternalDomainName,
338 const std::string& gbpL3ExternalNetworkName)
339 {
340 return resolve(opflex::ofcore::OFFramework::defaultInstance(),policySpaceName,gbpRoutingDomainName,gbpL3ExternalDomainName,gbpL3ExternalNetworkName);
341 }
342
351 void remove()
352 {
353 getTLMutator().remove(CLASS_ID, getURI());
354 }
355
366 static void remove(opflex::ofcore::OFFramework& framework,
367 const opflex::modb::URI& uri)
368 {
369 MO::remove(framework, CLASS_ID, uri);
370 }
371
382 static void remove(const opflex::modb::URI& uri)
383 {
384 remove(opflex::ofcore::OFFramework::defaultInstance(), uri);
385 }
386
407 static void remove(
408 opflex::ofcore::OFFramework& framework,
409 const std::string& policySpaceName,
410 const std::string& gbpRoutingDomainName,
411 const std::string& gbpL3ExternalDomainName,
412 const std::string& gbpL3ExternalNetworkName)
413 {
414 MO::remove(framework, CLASS_ID, opflex::modb::URIBuilder().addElement("PolicyUniverse").addElement("PolicySpace").addElement(policySpaceName).addElement("GbpRoutingDomain").addElement(gbpRoutingDomainName).addElement("GbpL3ExternalDomain").addElement(gbpL3ExternalDomainName).addElement("GbpL3ExternalNetwork").addElement(gbpL3ExternalNetworkName).addElement("GbpL3ExternalNetworkToNatEPGroupRSrc").build());
415 }
416
437 static void remove(
438 const std::string& policySpaceName,
439 const std::string& gbpRoutingDomainName,
440 const std::string& gbpL3ExternalDomainName,
441 const std::string& gbpL3ExternalNetworkName)
442 {
443 remove(opflex::ofcore::OFFramework::defaultInstance(),policySpaceName,gbpRoutingDomainName,gbpL3ExternalDomainName,gbpL3ExternalNetworkName);
444 }
445
457 static void registerListener(
458 opflex::ofcore::OFFramework& framework,
459 opflex::modb::ObjectListener* listener)
460 {
461 opflex::modb::mointernal
462 ::MO::registerListener(framework, listener, CLASS_ID);
463 }
464
476 static void registerListener(
477 opflex::modb::ObjectListener* listener)
478 {
479 registerListener(opflex::ofcore::OFFramework::defaultInstance(), listener);
480 }
481
489 opflex::ofcore::OFFramework& framework,
490 opflex::modb::ObjectListener* listener)
491 {
492 opflex::modb::mointernal
493 ::MO::unregisterListener(framework, listener, CLASS_ID);
494 }
495
503 opflex::modb::ObjectListener* listener)
504 {
505 unregisterListener(opflex::ofcore::OFFramework::defaultInstance(), listener);
506 }
507
513 opflex::ofcore::OFFramework& framework,
514 const opflex::modb::URI& uri,
515 const OF_SHARED_PTR<const opflex::modb::mointernal::ObjectInstance>& oi)
516 : MO(framework, CLASS_ID, uri, oi) { }
517}; // class L3ExternalNetworkToNatEPGroupRSrc
518
519} // namespace gbp
520} // namespace modelgbp
521#endif // GI_GBP_L3EXTERNALNETWORKTONATEPGROUPRSRC_HPP
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:23
bool isTypeSet()
Check whether type has been set.
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:194
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of L3ExternalNetworkToNatEPGroupRSrc from the managed object store.
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:257
const uint8_t getType(const uint8_t defaultValue)
Get the value of type if set, otherwise the value of default passed in.
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:215
static void unregisterListener(opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class from the default framework instance.
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:502
static void remove(const opflex::modb::URI &uri)
Remove the L3ExternalNetworkToNatEPGroupRSrc object with the specified URI using the currently-active...
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:382
boost::optional< const uint8_t > getRole()
Get the value of role if it has been set.
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:44
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 L3ExternalNetworkToNatEPGroupRSrc.hpp:123
modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc & setRole(const uint8_t newValue)
Set role to the specified value in the currently-active mutator.
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:69
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc > > resolve(const std::string &policySpaceName, const std::string &gbpRoutingDomainName, const std::string &gbpL3ExternalDomainName, const std::string &gbpL3ExternalNetworkName)
Retrieve an instance of L3ExternalNetworkToNatEPGroupRSrc from the default managed object store by co...
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:334
opflex::modb::URI getTargetURI(opflex::modb::URI defaultValue)
Get the value of targetURI if set, otherwise the value of default passed in.
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:133
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 L3ExternalNetworkToNatEPGroupRSrc.hpp:457
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc > > resolve(opflex::ofcore::OFFramework &framework, const std::string &policySpaceName, const std::string &gbpRoutingDomainName, const std::string &gbpL3ExternalDomainName, const std::string &gbpL3ExternalNetworkName)
Retrieve an instance of L3ExternalNetworkToNatEPGroupRSrc from the managed object store by constructi...
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:303
static void remove(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Remove the L3ExternalNetworkToNatEPGroupRSrc object with the specified URI using the currently-active...
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:366
boost::optional< opflex::modb::URI > getTargetURI()
Get the value of targetURI if it has been set.
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:111
modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc & unsetType()
Unset type in the currently-active mutator.
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:240
bool isTargetSet()
Check whether target has been set.
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:91
modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc & setTargetEpGroup(const opflex::modb::URI &uri)
Set the reference to point to an instance of EpGroup with the specified URI.
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:147
modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc & unsetTarget()
Unset target in the currently-active mutator.
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:184
modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc & unsetRole()
Unset role in the currently-active mutator.
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:81
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc > > resolve(const opflex::modb::URI &uri)
Retrieve an instance of L3ExternalNetworkToNatEPGroupRSrc from the managed object store using the def...
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:275
void remove()
Remove this instance using the currently-active mutator.
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:351
L3ExternalNetworkToNatEPGroupRSrc(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri, const OF_SHARED_PTR< const opflex::modb::mointernal::ObjectInstance > &oi)
Construct an instance of L3ExternalNetworkToNatEPGroupRSrc.
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:512
static void remove(opflex::ofcore::OFFramework &framework, const std::string &policySpaceName, const std::string &gbpRoutingDomainName, const std::string &gbpL3ExternalDomainName, const std::string &gbpL3ExternalNetworkName)
Remove the L3ExternalNetworkToNatEPGroupRSrc object with the specified path elements from the managed...
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:407
static const opflex::modb::class_id_t CLASS_ID
The unique class ID for L3ExternalNetworkToNatEPGroupRSrc.
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:29
modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc & setType(const uint8_t newValue)
Set type to the specified value in the currently-active mutator.
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:228
modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc & 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 L3ExternalNetworkToNatEPGroupRSrc.hpp:170
bool isRoleSet()
Check whether role has been set.
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:35
const uint8_t getRole(const uint8_t defaultValue)
Get the value of role if set, otherwise the value of default passed in.
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:56
static void unregisterListener(opflex::ofcore::OFFramework &framework, opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class.
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:488
boost::optional< opflex::modb::class_id_t > getTargetClass()
Get the value of targetClass if it has been set.
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:100
boost::optional< const uint8_t > getType()
Get the value of type if it has been set.
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:203
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 L3ExternalNetworkToNatEPGroupRSrc.hpp:476
static void remove(const std::string &policySpaceName, const std::string &gbpRoutingDomainName, const std::string &gbpL3ExternalDomainName, const std::string &gbpL3ExternalNetworkName)
Remove the L3ExternalNetworkToNatEPGroupRSrc object with the specified path elements from the managed...
Definition L3ExternalNetworkToNatEPGroupRSrc.hpp:437
SOME COPYRIGHT.
Definition OpcodeEnumT.hpp:12