text: 
  from operator import attrgetter
  import pyangbind.lib.xpathhelper as xpathhelper
  from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType, RestrictedClassType, TypedListType
  from pyangbind.lib.yangtypes import YANGBool, YANGListType, YANGDynClass, ReferenceType
  from pyangbind.lib.base import PybindBase
  from decimal import Decimal
  from bitarray import bitarray
  import __builtin__
  class link_onstartup(PybindBase):
    """
    This class was auto-generated by the PythonClass plugin for PYANG
    from YANG module brocade-common-def - based on the path /routing-system/router/ospf/max-metric/router-lsa/on-startup/link-onstartup. Each member element of
    the container is represented as a class variable - with a specific
    YANG type.
    """
    __slots__ = ('_pybind_generated_by', '_path_helper', '_yang_name', '_rest_name', '_extmethods', '__all_link_onstartup','__ptp_link_onstartup','__stub_link_onstartup','__transit_link_onstartup',)
  
    _yang_name = 'link-onstartup'
    _rest_name = 'link'
  
    _pybind_generated_by = 'container'
  
    def __init__(self, *args, **kwargs):
  
      path_helper_ = kwargs.pop("path_helper", None)
      if path_helper_ is False:
        self._path_helper = False
      elif path_helper_ is not None and isinstance(path_helper_, xpathhelper.YANGPathHelper):
        self._path_helper = path_helper_
      elif hasattr(self, "_parent"):
        path_helper_ = getattr(self._parent, "_path_helper", False)
        self._path_helper = path_helper_
      else:
        self._path_helper = False
  
      extmethods = kwargs.pop("extmethods", None)
      if extmethods is False:
        self._extmethods = False
      elif extmethods is not None and isinstance(extmethods, dict):
        self._extmethods = extmethods
      elif hasattr(self, "_parent"):
        extmethods = getattr(self._parent, "_extmethods", None)
        self._extmethods = extmethods
      else:
        self._extmethods = False
      self.__ptp_link_onstartup = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="ptp-link-onstartup", rest_name="ptp", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Advertise maximum metric in Router LSA for ptp links', u'alt-name': u'ptp'}}, namespace='urn:brocade.com:mgmt:brocade-ospf', defining_module='brocade-ospf', yang_type='empty', is_config=True)
      self.__stub_link_onstartup = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="stub-link-onstartup", rest_name="stub", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Advertise maximum metric in Router LSA for stub links', u'alt-name': u'stub'}}, namespace='urn:brocade.com:mgmt:brocade-ospf', defining_module='brocade-ospf', yang_type='empty', is_config=True)
      self.__all_link_onstartup = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="all-link-onstartup", rest_name="all", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Advertise maximum metric in Router LSA for ptp,stub and transit links', u'alt-name': u'all'}}, namespace='urn:brocade.com:mgmt:brocade-ospf', defining_module='brocade-ospf', yang_type='empty', is_config=True)
      self.__transit_link_onstartup = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="transit-link-onstartup", rest_name="transit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Advertise maximum metric in Router LSA for transit links', u'alt-name': u'transit'}}, namespace='urn:brocade.com:mgmt:brocade-ospf', defining_module='brocade-ospf', yang_type='empty', is_config=True)
  
      load = kwargs.pop("load", None)
      if args:
        if len(args) > 1:
          raise TypeError("cannot create a YANG container with >1 argument")
        all_attr = True
        for e in self._pyangbind_elements:
          if not hasattr(args[0], e):
            all_attr = False
            break
        if not all_attr:
          raise ValueError("Supplied object did not have the correct attributes")
        for e in self._pyangbind_elements:
          nobj = getattr(args[0], e)
          if nobj._changed() is False:
            continue
          setmethod = getattr(self, "_set_%s" % e)
          if load is None:
            setmethod(getattr(args[0], e))
          else:
            setmethod(getattr(args[0], e), load=load)
  
    def _path(self):
      if hasattr(self, "_parent"):
        return self._parent._path()+[self._yang_name]
      else:
        return [u'routing-system', u'router', u'ospf', u'max-metric', u'router-lsa', u'on-startup', u'link-onstartup']
  
    def _rest_path(self):
      if hasattr(self, "_parent"):
        if self._rest_name:
          return self._parent._rest_path()+[self._rest_name]
        else:
          return self._parent._rest_path()
      else:
        return [u'router', u'ospf', u'max-metric', u'router-lsa', u'on-startup', u'link']
  
    def _get_all_link_onstartup(self):
      """
      Getter method for all_link_onstartup, mapped from YANG variable /routing_system/router/ospf/max_metric/router_lsa/on_startup/link_onstartup/all_link_onstartup (empty)
      """
      return self.__all_link_onstartup
        
    def _set_all_link_onstartup(self, v, load=False):
      """
      Setter method for all_link_onstartup, mapped from YANG variable /routing_system/router/ospf/max_metric/router_lsa/on_startup/link_onstartup/all_link_onstartup (empty)
      If this variable is read-only (config: false) in the
      source YANG file, then _set_all_link_onstartup is considered as a private
      method. Backends looking to populate this variable should
      do so via calling thisObj._set_all_link_onstartup() directly.
      """
      if hasattr(v, "_utype"):
        v = v._utype(v)
      try:
        t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="all-link-onstartup", rest_name="all", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Advertise maximum metric in Router LSA for ptp,stub and transit links', u'alt-name': u'all'}}, namespace='urn:brocade.com:mgmt:brocade-ospf', defining_module='brocade-ospf', yang_type='empty', is_config=True)
      except (TypeError, ValueError):
        raise ValueError({
            'error-string': """all_link_onstartup must be of a type compatible with empty""",
            'defined-type': "empty",
            'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="all-link-onstartup", rest_name="all", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Advertise maximum metric in Router LSA for ptp,stub and transit links', u'alt-name': u'all'}}, namespace='urn:brocade.com:mgmt:brocade-ospf', defining_module='brocade-ospf', yang_type='empty', is_config=True)""",
          })
  
      self.__all_link_onstartup = t
      if hasattr(self, '_set'):
        self._set()
  
    def _unset_all_link_onstartup(self):
      self.__all_link_onstartup = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="all-link-onstartup", rest_name="all", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Advertise maximum metric in Router LSA for ptp,stub and transit links', u'alt-name': u'all'}}, namespace='urn:brocade.com:mgmt:brocade-ospf', defining_module='brocade-ospf', yang_type='empty', is_config=True)
  
  
    def _get_ptp_link_onstartup(self):
      """
      Getter method for ptp_link_onstartup, mapped from YANG variable /routing_system/router/ospf/max_metric/router_lsa/on_startup/link_onstartup/ptp_link_onstartup (empty)
      """
      return self.__ptp_link_onstartup
        
    def _set_ptp_link_onstartup(self, v, load=False):
      """
      Setter method for ptp_link_onstartup, mapped from YANG variable /routing_system/router/ospf/max_metric/router_lsa/on_startup/link_onstartup/ptp_link_onstartup (empty)
      If this variable is read-only (config: false) in the
      source YANG file, then _set_ptp_link_onstartup is considered as a private
      method. Backends looking to populate this variable should
      do so via calling thisObj._set_ptp_link_onstartup() directly.
      """
      if hasattr(v, "_utype"):
        v = v._utype(v)
      try:
        t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="ptp-link-onstartup", rest_name="ptp", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Advertise maximum metric in Router LSA for ptp links', u'alt-name': u'ptp'}}, namespace='urn:brocade.com:mgmt:brocade-ospf', defining_module='brocade-ospf', yang_type='empty', is_config=True)
      except (TypeError, ValueError):
        raise ValueError({
            'error-string': """ptp_link_onstartup must be of a type compatible with empty""",
            'defined-type': "empty",
            'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="ptp-link-onstartup", rest_name="ptp", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Advertise maximum metric in Router LSA for ptp links', u'alt-name': u'ptp'}}, namespace='urn:brocade.com:mgmt:brocade-ospf', defining_module='brocade-ospf', yang_type='empty', is_config=True)""",
          })
  
      self.__ptp_link_onstartup = t
      if hasattr(self, '_set'):
        self._set()
  
    def _unset_ptp_link_onstartup(self):
      self.__ptp_link_onstartup = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="ptp-link-onstartup", rest_name="ptp", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Advertise maximum metric in Router LSA for ptp links', u'alt-name': u'ptp'}}, namespace='urn:brocade.com:mgmt:brocade-ospf', defining_module='brocade-ospf', yang_type='empty', is_config=True)
  
  
    def _get_stub_link_onstartup(self):
      """
      Getter method for stub_link_onstartup, mapped from YANG variable /routing_system/router/ospf/max_metric/router_lsa/on_startup/link_onstartup/stub_link_onstartup (empty)
      """
      return self.__stub_link_onstartup
        
    def _set_stub_link_onstartup(self, v, load=False):
      """
      Setter method for stub_link_onstartup, mapped from YANG variable /routing_system/router/ospf/max_metric/router_lsa/on_startup/link_onstartup/stub_link_onstartup (empty)
      If this variable is read-only (config: false) in the
      source YANG file, then _set_stub_link_onstartup is considered as a private
      method. Backends looking to populate this variable should
      do so via calling thisObj._set_stub_link_onstartup() directly.
      """
      if hasattr(v, "_utype"):
        v = v._utype(v)
      try:
        t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="stub-link-onstartup", rest_name="stub", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Advertise maximum metric in Router LSA for stub links', u'alt-name': u'stub'}}, namespace='urn:brocade.com:mgmt:brocade-ospf', defining_module='brocade-ospf', yang_type='empty', is_config=True)
      except (TypeError, ValueError):
        raise ValueError({
            'error-string': """stub_link_onstartup must be of a type compatible with empty""",
            'defined-type': "empty",
            'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="stub-link-onstartup", rest_name="stub", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Advertise maximum metric in Router LSA for stub links', u'alt-name': u'stub'}}, namespace='urn:brocade.com:mgmt:brocade-ospf', defining_module='brocade-ospf', yang_type='empty', is_config=True)""",
          })
  
      self.__stub_link_onstartup = t
      if hasattr(self, '_set'):
        self._set()
  
    def _unset_stub_link_onstartup(self):
      self.__stub_link_onstartup = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="stub-link-onstartup", rest_name="stub", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Advertise maximum metric in Router LSA for stub links', u'alt-name': u'stub'}}, namespace='urn:brocade.com:mgmt:brocade-ospf', defining_module='brocade-ospf', yang_type='empty', is_config=True)
  
  
    def _get_transit_link_onstartup(self):
      """
      Getter method for transit_link_onstartup, mapped from YANG variable /routing_system/router/ospf/max_metric/router_lsa/on_startup/link_onstartup/transit_link_onstartup (empty)
      """
      return self.__transit_link_onstartup
        
    def _set_transit_link_onstartup(self, v, load=False):
      """
      Setter method for transit_link_onstartup, mapped from YANG variable /routing_system/router/ospf/max_metric/router_lsa/on_startup/link_onstartup/transit_link_onstartup (empty)
      If this variable is read-only (config: false) in the
      source YANG file, then _set_transit_link_onstartup is considered as a private
      method. Backends looking to populate this variable should
      do so via calling thisObj._set_transit_link_onstartup() directly.
      """
      if hasattr(v, "_utype"):
        v = v._utype(v)
      try:
        t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="transit-link-onstartup", rest_name="transit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Advertise maximum metric in Router LSA for transit links', u'alt-name': u'transit'}}, namespace='urn:brocade.com:mgmt:brocade-ospf', defining_module='brocade-ospf', yang_type='empty', is_config=True)
      except (TypeError, ValueError):
        raise ValueError({
            'error-string': """transit_link_onstartup must be of a type compatible with empty""",
            'defined-type': "empty",
            'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="transit-link-onstartup", rest_name="transit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Advertise maximum metric in Router LSA for transit links', u'alt-name': u'transit'}}, namespace='urn:brocade.com:mgmt:brocade-ospf', defining_module='brocade-ospf', yang_type='empty', is_config=True)""",
          })
  
      self.__transit_link_onstartup = t
      if hasattr(self, '_set'):
        self._set()
  
    def _unset_transit_link_onstartup(self):
      self.__transit_link_onstartup = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="transit-link-onstartup", rest_name="transit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Advertise maximum metric in Router LSA for transit links', u'alt-name': u'transit'}}, namespace='urn:brocade.com:mgmt:brocade-ospf', defining_module='brocade-ospf', yang_type='empty', is_config=True)
  
    all_link_onstartup = __builtin__.property(_get_all_link_onstartup, _set_all_link_onstartup)
    ptp_link_onstartup = __builtin__.property(_get_ptp_link_onstartup, _set_ptp_link_onstartup)
    stub_link_onstartup = __builtin__.property(_get_stub_link_onstartup, _set_stub_link_onstartup)
    transit_link_onstartup = __builtin__.property(_get_transit_link_onstartup, _set_transit_link_onstartup)
  
  
    _pyangbind_elements = {'all_link_onstartup': all_link_onstartup, 'ptp_link_onstartup': ptp_link_onstartup, 'stub_link_onstartup': stub_link_onstartup, 'transit_link_onstartup': transit_link_onstartup, }
  
  
  