modelgbp Generated OpFlex Model 1.7.0
L3ExternalNetwork.hpp
1
10#pragma once
11#ifndef GI_GBP_L3EXTERNALNETWORK_HPP
12#define GI_GBP_L3EXTERNALNETWORK_HPP
13
14#include <boost/optional.hpp>
15#include "opflex/modb/URIBuilder.h"
16#include "opflex/modb/mo-internal/MO.h"
17/*
18 * contains: item:mclass(gbp/L3ExternalNetworkToProvContractRSrc)
19 */
20#include "modelgbp/gbp/L3ExternalNetworkToProvContractRSrc.hpp"
21/*
22 * contains: item:mclass(gbp/L3ExternalNetworkToConsContractRSrc)
23 */
24#include "modelgbp/gbp/L3ExternalNetworkToConsContractRSrc.hpp"
25/*
26 * contains: item:mclass(gbp/L3ExternalNetworkToNatEPGroupRSrc)
27 */
28#include "modelgbp/gbp/L3ExternalNetworkToNatEPGroupRSrc.hpp"
29/*
30 * contains: item:mclass(gbp/ExternalSubnet)
31 */
32#include "modelgbp/gbp/ExternalSubnet.hpp"
33
34namespace modelgbp {
35namespace gbp {
36
38 : public opflex::modb::mointernal::MO
39{
40public:
41
45 static const opflex::modb::class_id_t CLASS_ID = 169;
46
51 bool isNameSet()
52 {
53 return getObjectInstance().isSet(5537793ul, opflex::modb::PropertyInfo::STRING);
54 }
55
60 boost::optional<const std::string&> getName()
61 {
62 if (isNameSet())
63 return getObjectInstance().getString(5537793ul);
64 return boost::none;
65 }
66
72 const std::string& getName(const std::string& defaultValue)
73 {
74 return getName().get_value_or(defaultValue);
75 }
76
85 modelgbp::gbp::L3ExternalNetwork& setName(const std::string& newValue)
86 {
87 getTLMutator().modify(getClassId(), getURI())->setString(5537793ul, newValue);
88 return *this;
89 }
90
98 {
99 getTLMutator().modify(getClassId(), getURI())->unset(5537793ul, opflex::modb::PropertyInfo::STRING, opflex::modb::PropertyInfo::SCALAR);
100 return *this;
101 }
102
114 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::L3ExternalNetwork> > resolve(
115 opflex::ofcore::OFFramework& framework,
116 const opflex::modb::URI& uri)
117 {
118 return opflex::modb::mointernal::MO::resolve<modelgbp::gbp::L3ExternalNetwork>(framework, CLASS_ID, uri);
119 }
120
132 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::L3ExternalNetwork> > resolve(
133 const opflex::modb::URI& uri)
134 {
135 return opflex::modb::mointernal::MO::resolve<modelgbp::gbp::L3ExternalNetwork>(opflex::ofcore::OFFramework::defaultInstance(), CLASS_ID, uri);
136 }
137
160 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::L3ExternalNetwork> > resolve(
161 opflex::ofcore::OFFramework& framework,
162 const std::string& policySpaceName,
163 const std::string& gbpRoutingDomainName,
164 const std::string& gbpL3ExternalDomainName,
165 const std::string& gbpL3ExternalNetworkName)
166 {
167 return resolve(framework,opflex::modb::URIBuilder().addElement("PolicyUniverse").addElement("PolicySpace").addElement(policySpaceName).addElement("GbpRoutingDomain").addElement(gbpRoutingDomainName).addElement("GbpL3ExternalDomain").addElement(gbpL3ExternalDomainName).addElement("GbpL3ExternalNetwork").addElement(gbpL3ExternalNetworkName).build());
168 }
169
191 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::L3ExternalNetwork> > resolve(
192 const std::string& policySpaceName,
193 const std::string& gbpRoutingDomainName,
194 const std::string& gbpL3ExternalDomainName,
195 const std::string& gbpL3ExternalNetworkName)
196 {
197 return resolve(opflex::ofcore::OFFramework::defaultInstance(),policySpaceName,gbpRoutingDomainName,gbpL3ExternalDomainName,gbpL3ExternalNetworkName);
198 }
199
213 boost::optional<OF_SHARED_PTR<modelgbp::gbp::L3ExternalNetworkToProvContractRSrc> > resolveGbpL3ExternalNetworkToProvContractRSrc(
214 const std::string& gbpL3ExternalNetworkToProvContractRSrcTargetName)
215 {
216 opflex::modb::class_id_t gbpL3ExternalNetworkToProvContractRSrcTargetClass = 143;
217 return modelgbp::gbp::L3ExternalNetworkToProvContractRSrc::resolve(getFramework(), opflex::modb::URIBuilder(getURI()).addElement("GbpL3ExternalNetworkToProvContractRSrc").addElement(gbpL3ExternalNetworkToProvContractRSrcTargetClass).addElement(gbpL3ExternalNetworkToProvContractRSrcTargetName).build());
218 }
219
234 OF_SHARED_PTR<modelgbp::gbp::L3ExternalNetworkToProvContractRSrc> addGbpL3ExternalNetworkToProvContractRSrc(
235 const std::string& gbpL3ExternalNetworkToProvContractRSrcTargetName)
236 {
237 opflex::modb::class_id_t gbpL3ExternalNetworkToProvContractRSrcTargetClass = 143;
238 OF_SHARED_PTR<modelgbp::gbp::L3ExternalNetworkToProvContractRSrc> result = addChild<modelgbp::gbp::L3ExternalNetworkToProvContractRSrc>(
239 CLASS_ID, getURI(), 2153021610ul, 170,
240 opflex::modb::URIBuilder(getURI()).addElement("GbpL3ExternalNetworkToProvContractRSrc").addElement(gbpL3ExternalNetworkToProvContractRSrcTargetClass).addElement(gbpL3ExternalNetworkToProvContractRSrcTargetName).build()
241 );
242 result->setTargetContract(opflex::modb::URI(gbpL3ExternalNetworkToProvContractRSrcTargetName));
243 return result;
244 }
245
260 void resolveGbpL3ExternalNetworkToProvContractRSrc(/* out */ std::vector<OF_SHARED_PTR<modelgbp::gbp::L3ExternalNetworkToProvContractRSrc> >& out)
261 {
262 opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::L3ExternalNetworkToProvContractRSrc>(
263 getFramework(), CLASS_ID, getURI(), 2153021610ul, 170, out);
264 }
265
279 boost::optional<OF_SHARED_PTR<modelgbp::gbp::L3ExternalNetworkToConsContractRSrc> > resolveGbpL3ExternalNetworkToConsContractRSrc(
280 const std::string& gbpL3ExternalNetworkToConsContractRSrcTargetName)
281 {
282 opflex::modb::class_id_t gbpL3ExternalNetworkToConsContractRSrcTargetClass = 143;
283 return modelgbp::gbp::L3ExternalNetworkToConsContractRSrc::resolve(getFramework(), opflex::modb::URIBuilder(getURI()).addElement("GbpL3ExternalNetworkToConsContractRSrc").addElement(gbpL3ExternalNetworkToConsContractRSrcTargetClass).addElement(gbpL3ExternalNetworkToConsContractRSrcTargetName).build());
284 }
285
300 OF_SHARED_PTR<modelgbp::gbp::L3ExternalNetworkToConsContractRSrc> addGbpL3ExternalNetworkToConsContractRSrc(
301 const std::string& gbpL3ExternalNetworkToConsContractRSrcTargetName)
302 {
303 opflex::modb::class_id_t gbpL3ExternalNetworkToConsContractRSrcTargetClass = 143;
304 OF_SHARED_PTR<modelgbp::gbp::L3ExternalNetworkToConsContractRSrc> result = addChild<modelgbp::gbp::L3ExternalNetworkToConsContractRSrc>(
305 CLASS_ID, getURI(), 2153021613ul, 173,
306 opflex::modb::URIBuilder(getURI()).addElement("GbpL3ExternalNetworkToConsContractRSrc").addElement(gbpL3ExternalNetworkToConsContractRSrcTargetClass).addElement(gbpL3ExternalNetworkToConsContractRSrcTargetName).build()
307 );
308 result->setTargetContract(opflex::modb::URI(gbpL3ExternalNetworkToConsContractRSrcTargetName));
309 return result;
310 }
311
326 void resolveGbpL3ExternalNetworkToConsContractRSrc(/* out */ std::vector<OF_SHARED_PTR<modelgbp::gbp::L3ExternalNetworkToConsContractRSrc> >& out)
327 {
328 opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::L3ExternalNetworkToConsContractRSrc>(
329 getFramework(), CLASS_ID, getURI(), 2153021613ul, 173, out);
330 }
331
341 boost::optional<OF_SHARED_PTR<modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc> > resolveGbpL3ExternalNetworkToNatEPGroupRSrc(
342 )
343 {
344 return modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc::resolve(getFramework(), opflex::modb::URIBuilder(getURI()).addElement("GbpL3ExternalNetworkToNatEPGroupRSrc").build());
345 }
346
357 OF_SHARED_PTR<modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc> addGbpL3ExternalNetworkToNatEPGroupRSrc(
358 )
359 {
360 OF_SHARED_PTR<modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc> result = addChild<modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc>(
361 CLASS_ID, getURI(), 2153021616ul, 176,
362 opflex::modb::URIBuilder(getURI()).addElement("GbpL3ExternalNetworkToNatEPGroupRSrc").build()
363 );
364 return result;
365 }
366
378 boost::optional<OF_SHARED_PTR<modelgbp::gbp::ExternalSubnet> > resolveGbpExternalSubnet(
379 const std::string& gbpExternalSubnetName)
380 {
381 return modelgbp::gbp::ExternalSubnet::resolve(getFramework(), opflex::modb::URIBuilder(getURI()).addElement("GbpExternalSubnet").addElement(gbpExternalSubnetName).build());
382 }
383
396 OF_SHARED_PTR<modelgbp::gbp::ExternalSubnet> addGbpExternalSubnet(
397 const std::string& gbpExternalSubnetName)
398 {
399 OF_SHARED_PTR<modelgbp::gbp::ExternalSubnet> result = addChild<modelgbp::gbp::ExternalSubnet>(
400 CLASS_ID, getURI(), 2153021619ul, 179,
401 opflex::modb::URIBuilder(getURI()).addElement("GbpExternalSubnet").addElement(gbpExternalSubnetName).build()
402 );
403 result->setName(gbpExternalSubnetName);
404 return result;
405 }
406
421 void resolveGbpExternalSubnet(/* out */ std::vector<OF_SHARED_PTR<modelgbp::gbp::ExternalSubnet> >& out)
422 {
423 opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::ExternalSubnet>(
424 getFramework(), CLASS_ID, getURI(), 2153021619ul, 179, out);
425 }
426
435 void remove()
436 {
437 getTLMutator().remove(CLASS_ID, getURI());
438 }
439
450 static void remove(opflex::ofcore::OFFramework& framework,
451 const opflex::modb::URI& uri)
452 {
453 MO::remove(framework, CLASS_ID, uri);
454 }
455
466 static void remove(const opflex::modb::URI& uri)
467 {
468 remove(opflex::ofcore::OFFramework::defaultInstance(), uri);
469 }
470
491 static void remove(
492 opflex::ofcore::OFFramework& framework,
493 const std::string& policySpaceName,
494 const std::string& gbpRoutingDomainName,
495 const std::string& gbpL3ExternalDomainName,
496 const std::string& gbpL3ExternalNetworkName)
497 {
498 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).build());
499 }
500
521 static void remove(
522 const std::string& policySpaceName,
523 const std::string& gbpRoutingDomainName,
524 const std::string& gbpL3ExternalDomainName,
525 const std::string& gbpL3ExternalNetworkName)
526 {
527 remove(opflex::ofcore::OFFramework::defaultInstance(),policySpaceName,gbpRoutingDomainName,gbpL3ExternalDomainName,gbpL3ExternalNetworkName);
528 }
529
541 static void registerListener(
542 opflex::ofcore::OFFramework& framework,
543 opflex::modb::ObjectListener* listener)
544 {
545 opflex::modb::mointernal
546 ::MO::registerListener(framework, listener, CLASS_ID);
547 }
548
560 static void registerListener(
561 opflex::modb::ObjectListener* listener)
562 {
563 registerListener(opflex::ofcore::OFFramework::defaultInstance(), listener);
564 }
565
573 opflex::ofcore::OFFramework& framework,
574 opflex::modb::ObjectListener* listener)
575 {
576 opflex::modb::mointernal
577 ::MO::unregisterListener(framework, listener, CLASS_ID);
578 }
579
587 opflex::modb::ObjectListener* listener)
588 {
589 unregisterListener(opflex::ofcore::OFFramework::defaultInstance(), listener);
590 }
591
597 opflex::ofcore::OFFramework& framework,
598 const opflex::modb::URI& uri,
599 const OF_SHARED_PTR<const opflex::modb::mointernal::ObjectInstance>& oi)
600 : MO(framework, CLASS_ID, uri, oi) { }
601}; // class L3ExternalNetwork
602
603} // namespace gbp
604} // namespace modelgbp
605#endif // GI_GBP_L3EXTERNALNETWORK_HPP
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::ExternalSubnet > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of ExternalSubnet from the managed object store.
Definition ExternalSubnet.hpp:210
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::L3ExternalNetworkToConsContractRSrc > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of L3ExternalNetworkToConsContractRSrc from the managed object store.
Definition L3ExternalNetworkToConsContractRSrc.hpp:257
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
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::L3ExternalNetworkToProvContractRSrc > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of L3ExternalNetworkToProvContractRSrc from the managed object store.
Definition L3ExternalNetworkToProvContractRSrc.hpp:257
Definition L3ExternalNetwork.hpp:39
const std::string & getName(const std::string &defaultValue)
Get the value of name if set, otherwise the value of default passed in.
Definition L3ExternalNetwork.hpp:72
boost::optional< const std::string & > getName()
Get the value of name if it has been set.
Definition L3ExternalNetwork.hpp:60
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::L3ExternalNetwork > > resolve(const std::string &policySpaceName, const std::string &gbpRoutingDomainName, const std::string &gbpL3ExternalDomainName, const std::string &gbpL3ExternalNetworkName)
Retrieve an instance of L3ExternalNetwork from the default managed object store by constructing its U...
Definition L3ExternalNetwork.hpp:191
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::L3ExternalNetwork > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of L3ExternalNetwork from the managed object store.
Definition L3ExternalNetwork.hpp:114
bool isNameSet()
Check whether name has been set.
Definition L3ExternalNetwork.hpp:51
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 L3ExternalNetwork object with the specified path elements from the managed object store.
Definition L3ExternalNetwork.hpp:491
L3ExternalNetwork(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri, const OF_SHARED_PTR< const opflex::modb::mointernal::ObjectInstance > &oi)
Construct an instance of L3ExternalNetwork.
Definition L3ExternalNetwork.hpp:596
void remove()
Remove this instance using the currently-active mutator.
Definition L3ExternalNetwork.hpp:435
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 L3ExternalNetwork.hpp:560
OF_SHARED_PTR< modelgbp::gbp::ExternalSubnet > addGbpExternalSubnet(const std::string &gbpExternalSubnetName)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition L3ExternalNetwork.hpp:396
boost::optional< OF_SHARED_PTR< modelgbp::gbp::ExternalSubnet > > resolveGbpExternalSubnet(const std::string &gbpExternalSubnetName)
Retrieve the child object with the specified naming properties.
Definition L3ExternalNetwork.hpp:378
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::L3ExternalNetwork > > 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 L3ExternalNetwork from the managed object store by constructing its URI from ...
Definition L3ExternalNetwork.hpp:160
static void unregisterListener(opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class from the default framework instance.
Definition L3ExternalNetwork.hpp:586
OF_SHARED_PTR< modelgbp::gbp::L3ExternalNetworkToConsContractRSrc > addGbpL3ExternalNetworkToConsContractRSrc(const std::string &gbpL3ExternalNetworkToConsContractRSrcTargetName)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition L3ExternalNetwork.hpp:300
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 L3ExternalNetwork.hpp:541
static void remove(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Remove the L3ExternalNetwork object with the specified URI using the currently-active mutator.
Definition L3ExternalNetwork.hpp:450
modelgbp::gbp::L3ExternalNetwork & unsetName()
Unset name in the currently-active mutator.
Definition L3ExternalNetwork.hpp:97
void resolveGbpL3ExternalNetworkToConsContractRSrc(std::vector< OF_SHARED_PTR< modelgbp::gbp::L3ExternalNetworkToConsContractRSrc > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::gbp::L3ExternalNetworkToConsCont...
Definition L3ExternalNetwork.hpp:326
void resolveGbpExternalSubnet(std::vector< OF_SHARED_PTR< modelgbp::gbp::ExternalSubnet > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::gbp::ExternalSubnet.
Definition L3ExternalNetwork.hpp:421
boost::optional< OF_SHARED_PTR< modelgbp::gbp::L3ExternalNetworkToConsContractRSrc > > resolveGbpL3ExternalNetworkToConsContractRSrc(const std::string &gbpL3ExternalNetworkToConsContractRSrcTargetName)
Retrieve the child object with the specified naming properties.
Definition L3ExternalNetwork.hpp:279
static void unregisterListener(opflex::ofcore::OFFramework &framework, opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class.
Definition L3ExternalNetwork.hpp:572
boost::optional< OF_SHARED_PTR< modelgbp::gbp::L3ExternalNetworkToProvContractRSrc > > resolveGbpL3ExternalNetworkToProvContractRSrc(const std::string &gbpL3ExternalNetworkToProvContractRSrcTargetName)
Retrieve the child object with the specified naming properties.
Definition L3ExternalNetwork.hpp:213
OF_SHARED_PTR< modelgbp::gbp::L3ExternalNetworkToProvContractRSrc > addGbpL3ExternalNetworkToProvContractRSrc(const std::string &gbpL3ExternalNetworkToProvContractRSrcTargetName)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition L3ExternalNetwork.hpp:234
OF_SHARED_PTR< modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc > addGbpL3ExternalNetworkToNatEPGroupRSrc()
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition L3ExternalNetwork.hpp:357
static const opflex::modb::class_id_t CLASS_ID
The unique class ID for L3ExternalNetwork.
Definition L3ExternalNetwork.hpp:45
static void remove(const opflex::modb::URI &uri)
Remove the L3ExternalNetwork object with the specified URI using the currently-active mutator and the...
Definition L3ExternalNetwork.hpp:466
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::L3ExternalNetwork > > resolve(const opflex::modb::URI &uri)
Retrieve an instance of L3ExternalNetwork from the managed object store using the default framework i...
Definition L3ExternalNetwork.hpp:132
boost::optional< OF_SHARED_PTR< modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc > > resolveGbpL3ExternalNetworkToNatEPGroupRSrc()
Retrieve the child object with the specified naming properties.
Definition L3ExternalNetwork.hpp:341
modelgbp::gbp::L3ExternalNetwork & setName(const std::string &newValue)
Set name to the specified value in the currently-active mutator.
Definition L3ExternalNetwork.hpp:85
static void remove(const std::string &policySpaceName, const std::string &gbpRoutingDomainName, const std::string &gbpL3ExternalDomainName, const std::string &gbpL3ExternalNetworkName)
Remove the L3ExternalNetwork object with the specified path elements from the managed object store us...
Definition L3ExternalNetwork.hpp:521
void resolveGbpL3ExternalNetworkToProvContractRSrc(std::vector< OF_SHARED_PTR< modelgbp::gbp::L3ExternalNetworkToProvContractRSrc > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::gbp::L3ExternalNetworkToProvCont...
Definition L3ExternalNetwork.hpp:260
SOME COPYRIGHT.
Definition OpcodeEnumT.hpp:12