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 
34 namespace modelgbp {
35 namespace gbp {
36 
38  : public opflex::modb::mointernal::MO
39 {
40 public:
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 
572  static void unregisterListener(
573  opflex::ofcore::OFFramework& framework,
574  opflex::modb::ObjectListener* listener)
575  {
576  opflex::modb::mointernal
577  ::MO::unregisterListener(framework, listener, CLASS_ID);
578  }
579 
586  static void unregisterListener(
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
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
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
boost::optional< OF_SHARED_PTR< modelgbp::gbp::L3ExternalNetworkToNatEPGroupRSrc > > resolveGbpL3ExternalNetworkToNatEPGroupRSrc()
Retrieve the child object with the specified naming properties.
Definition: L3ExternalNetwork.hpp:341
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
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
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 void unregisterListener(opflex::ofcore::OFFramework &framework, opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class.
Definition: L3ExternalNetwork.hpp:572
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
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< OF_SHARED_PTR< modelgbp::gbp::ExternalSubnet > > resolveGbpExternalSubnet(const std::string &gbpExternalSubnetName)
Retrieve the child object with the specified naming properties.
Definition: L3ExternalNetwork.hpp:378
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 unregisterListener(opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class from the default framework instance.
Definition: L3ExternalNetwork.hpp:586
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
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
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
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
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 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
Definition: L3ExternalNetwork.hpp:37
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
modelgbp::gbp::L3ExternalNetwork & setName(const std::string &newValue)
Set name to the specified value in the currently-active mutator.
Definition: L3ExternalNetwork.hpp:85
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
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(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
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::L3ExternalNetworkToConsContractRSrc > > resolveGbpL3ExternalNetworkToConsContractRSrc(const std::string &gbpL3ExternalNetworkToConsContractRSrcTargetName)
Retrieve the child object with the specified naming properties.
Definition: L3ExternalNetwork.hpp:279
static const opflex::modb::class_id_t CLASS_ID
The unique class ID for L3ExternalNetwork.
Definition: L3ExternalNetwork.hpp:45
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
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
bool isNameSet()
Check whether name has been set.
Definition: L3ExternalNetwork.hpp:51
SOME COPYRIGHT.
Definition: OpcodeEnumT.hpp:12
modelgbp::gbp::L3ExternalNetwork & unsetName()
Unset name in the currently-active mutator.
Definition: L3ExternalNetwork.hpp:97