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 sfp(PybindBase):
    """
    This class was auto-generated by the PythonClass plugin for PYANG
    from YANG module brocade-interface-ext - based on the path /brocade_interface_ext_rpc/get-media-detail/output/interface/sfp. 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', '__speed','__connector','__encoding','__vendor_name','__vendor_oui','__vendor_pn','__vendor_rev','__distance','__media_form_factor','__wavelength','__serial_no','__date_code','__temperature','__voltage','__current','__tx_power','__rx_power',)
  
    _yang_name = 'sfp'
    _rest_name = 'sfp'
  
    _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.__distance = YANGDynClass(base=RestrictedClassType(base_type=unicode,                                     restriction_type="dict_key",                                     restriction_arg={u'short-dist': {'value': 1}, u'unknown': {'value': 4}, u'long-dist': {'value': 3}, u'inter-dist': {'value': 2}},), is_leaf=True, yang_name="distance", rest_name="distance", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='enumeration', is_config=True)
      self.__vendor_rev = YANGDynClass(base=unicode, is_leaf=True, yang_name="vendor-rev", rest_name="vendor-rev", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)
      self.__encoding = YANGDynClass(base=RestrictedClassType(base_type=unicode,                                     restriction_type="dict_key",                                     restriction_arg={u'sonet-scrambled': {'value': 9}, u'4b5b': {'value': 6}, u'rz': {'value': 1}, u'8b10b': {'value': 4}, u'nrz': {'value': 2}, u'sonet': {'value': 3}, u'manchester': {'value': 7}, u'unknown': {'value': 10}, u'64b66b': {'value': 5}, u'ieee-802-3ab': {'value': 8}},), is_leaf=True, yang_name="encoding", rest_name="encoding", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='enumeration', is_config=True)
      self.__vendor_oui = YANGDynClass(base=unicode, is_leaf=True, yang_name="vendor-oui", rest_name="vendor-oui", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)
      self.__serial_no = YANGDynClass(base=unicode, is_leaf=True, yang_name="serial-no", rest_name="serial-no", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)
      self.__media_form_factor = YANGDynClass(base=RestrictedClassType(base_type=unicode,                                     restriction_type="dict_key",                                     restriction_arg={u'tv': {'value': 5}, u'tw': {'value': 8}, u'mi': {'value': 6}, u'tp': {'value': 7}, u'm5': {'value': 3}, u'm6': {'value': 4}, u'sm': {'value': 1}, u'unknown': {'value': 9}, u'mx': {'value': 2}},), is_leaf=True, yang_name="media-form-factor", rest_name="media-form-factor", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='enumeration', is_config=True)
      self.__connector = YANGDynClass(base=RestrictedClassType(base_type=unicode,                                     restriction_type="dict_key",                                     restriction_arg={u'no-separable-connector': {'value': 36}, u'mpo-parallel-optic': {'value': 12}, u'style-2-copper': {'value': 3}, u'mpo': {'value': 13}, u'fiber-jack': {'value': 6}, u'unknown': {'value': 35}, u'bnc-tnc': {'value': 4}, u'style-1-copper': {'value': 2}, u'mu': {'value': 9}, u'cat-5-copper-cable': {'value': 34}, u'copper-pigtail': {'value': 33}, u'optical-pigtail': {'value': 11}, u'coaxial': {'value': 5}, u'hssdc-ii': {'value': 32}, u'sc': {'value': 1}, u'sg': {'value': 10}, u'mt-rj': {'value': 8}, u'lc': {'value': 7}},), is_leaf=True, yang_name="connector", rest_name="connector", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='enumeration', is_config=True)
      self.__date_code = YANGDynClass(base=unicode, is_leaf=True, yang_name="date-code", rest_name="date-code", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)
      self.__tx_power = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="tx-power", rest_name="tx-power", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='decimal64', is_config=True)
      self.__voltage = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="voltage", rest_name="voltage", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='decimal64', is_config=True)
      self.__vendor_pn = YANGDynClass(base=unicode, is_leaf=True, yang_name="vendor-pn", rest_name="vendor-pn", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)
      self.__rx_power = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="rx-power", rest_name="rx-power", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='decimal64', is_config=True)
      self.__wavelength = YANGDynClass(base=unicode, is_leaf=True, yang_name="wavelength", rest_name="wavelength", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)
      self.__current = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=3), is_leaf=True, yang_name="current", rest_name="current", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='decimal64', is_config=True)
      self.__vendor_name = YANGDynClass(base=unicode, is_leaf=True, yang_name="vendor-name", rest_name="vendor-name", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)
      self.__speed = YANGDynClass(base=RestrictedClassType(base_type=unicode,                                     restriction_type="dict_key",                                     restriction_arg={u'8Gbps': {'value': 9}, u'nil': {'value': 1}, u'40Gbps': {'value': 5}, u'1Gbps': {'value': 3}, u'auto': {'value': 2}, u'10Gbps': {'value': 4}, u'4Gbps': {'value': 8}, u'100Gbps': {'value': 11}, u'100Mbps': {'value': 6}, u'16Gbps': {'value': 10}, u'2Gbps': {'value': 7}},), is_leaf=True, yang_name="speed", rest_name="speed", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='line-speed', is_config=True)
      self.__temperature = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="temperature", rest_name="temperature", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='uint32', 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'brocade_interface_ext_rpc', u'get-media-detail', u'output', u'interface', u'sfp']
  
    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'get-media-detail', u'output', u'interface', u'sfp']
  
    def _get_speed(self):
      """
      Getter method for speed, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/speed (line-speed)
  
      YANG Description: The actual line speed of this interface.
      """
      return self.__speed
        
    def _set_speed(self, v, load=False):
      """
      Setter method for speed, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/speed (line-speed)
      If this variable is read-only (config: false) in the
      source YANG file, then _set_speed is considered as a private
      method. Backends looking to populate this variable should
      do so via calling thisObj._set_speed() directly.
  
      YANG Description: The actual line speed of this interface.
      """
      if hasattr(v, "_utype"):
        v = v._utype(v)
      try:
        t = YANGDynClass(v,base=RestrictedClassType(base_type=unicode,                                     restriction_type="dict_key",                                     restriction_arg={u'8Gbps': {'value': 9}, u'nil': {'value': 1}, u'40Gbps': {'value': 5}, u'1Gbps': {'value': 3}, u'auto': {'value': 2}, u'10Gbps': {'value': 4}, u'4Gbps': {'value': 8}, u'100Gbps': {'value': 11}, u'100Mbps': {'value': 6}, u'16Gbps': {'value': 10}, u'2Gbps': {'value': 7}},), is_leaf=True, yang_name="speed", rest_name="speed", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='line-speed', is_config=True)
      except (TypeError, ValueError):
        raise ValueError({
            'error-string': """speed must be of a type compatible with line-speed""",
            'defined-type': "brocade-interface-ext:line-speed",
            'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=unicode,                                     restriction_type="dict_key",                                     restriction_arg={u'8Gbps': {'value': 9}, u'nil': {'value': 1}, u'40Gbps': {'value': 5}, u'1Gbps': {'value': 3}, u'auto': {'value': 2}, u'10Gbps': {'value': 4}, u'4Gbps': {'value': 8}, u'100Gbps': {'value': 11}, u'100Mbps': {'value': 6}, u'16Gbps': {'value': 10}, u'2Gbps': {'value': 7}},), is_leaf=True, yang_name="speed", rest_name="speed", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='line-speed', is_config=True)""",
          })
  
      self.__speed = t
      if hasattr(self, '_set'):
        self._set()
  
    def _unset_speed(self):
      self.__speed = YANGDynClass(base=RestrictedClassType(base_type=unicode,                                     restriction_type="dict_key",                                     restriction_arg={u'8Gbps': {'value': 9}, u'nil': {'value': 1}, u'40Gbps': {'value': 5}, u'1Gbps': {'value': 3}, u'auto': {'value': 2}, u'10Gbps': {'value': 4}, u'4Gbps': {'value': 8}, u'100Gbps': {'value': 11}, u'100Mbps': {'value': 6}, u'16Gbps': {'value': 10}, u'2Gbps': {'value': 7}},), is_leaf=True, yang_name="speed", rest_name="speed", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='line-speed', is_config=True)
  
  
    def _get_connector(self):
      """
      Getter method for connector, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/connector (enumeration)
  
      YANG Description: This specifies the type of connector
  connected to the interface.
      """
      return self.__connector
        
    def _set_connector(self, v, load=False):
      """
      Setter method for connector, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/connector (enumeration)
      If this variable is read-only (config: false) in the
      source YANG file, then _set_connector is considered as a private
      method. Backends looking to populate this variable should
      do so via calling thisObj._set_connector() directly.
  
      YANG Description: This specifies the type of connector
  connected to the interface.
      """
      if hasattr(v, "_utype"):
        v = v._utype(v)
      try:
        t = YANGDynClass(v,base=RestrictedClassType(base_type=unicode,                                     restriction_type="dict_key",                                     restriction_arg={u'no-separable-connector': {'value': 36}, u'mpo-parallel-optic': {'value': 12}, u'style-2-copper': {'value': 3}, u'mpo': {'value': 13}, u'fiber-jack': {'value': 6}, u'unknown': {'value': 35}, u'bnc-tnc': {'value': 4}, u'style-1-copper': {'value': 2}, u'mu': {'value': 9}, u'cat-5-copper-cable': {'value': 34}, u'copper-pigtail': {'value': 33}, u'optical-pigtail': {'value': 11}, u'coaxial': {'value': 5}, u'hssdc-ii': {'value': 32}, u'sc': {'value': 1}, u'sg': {'value': 10}, u'mt-rj': {'value': 8}, u'lc': {'value': 7}},), is_leaf=True, yang_name="connector", rest_name="connector", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='enumeration', is_config=True)
      except (TypeError, ValueError):
        raise ValueError({
            'error-string': """connector must be of a type compatible with enumeration""",
            'defined-type': "brocade-interface-ext:enumeration",
            'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=unicode,                                     restriction_type="dict_key",                                     restriction_arg={u'no-separable-connector': {'value': 36}, u'mpo-parallel-optic': {'value': 12}, u'style-2-copper': {'value': 3}, u'mpo': {'value': 13}, u'fiber-jack': {'value': 6}, u'unknown': {'value': 35}, u'bnc-tnc': {'value': 4}, u'style-1-copper': {'value': 2}, u'mu': {'value': 9}, u'cat-5-copper-cable': {'value': 34}, u'copper-pigtail': {'value': 33}, u'optical-pigtail': {'value': 11}, u'coaxial': {'value': 5}, u'hssdc-ii': {'value': 32}, u'sc': {'value': 1}, u'sg': {'value': 10}, u'mt-rj': {'value': 8}, u'lc': {'value': 7}},), is_leaf=True, yang_name="connector", rest_name="connector", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='enumeration', is_config=True)""",
          })
  
      self.__connector = t
      if hasattr(self, '_set'):
        self._set()
  
    def _unset_connector(self):
      self.__connector = YANGDynClass(base=RestrictedClassType(base_type=unicode,                                     restriction_type="dict_key",                                     restriction_arg={u'no-separable-connector': {'value': 36}, u'mpo-parallel-optic': {'value': 12}, u'style-2-copper': {'value': 3}, u'mpo': {'value': 13}, u'fiber-jack': {'value': 6}, u'unknown': {'value': 35}, u'bnc-tnc': {'value': 4}, u'style-1-copper': {'value': 2}, u'mu': {'value': 9}, u'cat-5-copper-cable': {'value': 34}, u'copper-pigtail': {'value': 33}, u'optical-pigtail': {'value': 11}, u'coaxial': {'value': 5}, u'hssdc-ii': {'value': 32}, u'sc': {'value': 1}, u'sg': {'value': 10}, u'mt-rj': {'value': 8}, u'lc': {'value': 7}},), is_leaf=True, yang_name="connector", rest_name="connector", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='enumeration', is_config=True)
  
  
    def _get_encoding(self):
      """
      Getter method for encoding, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/encoding (enumeration)
  
      YANG Description: This indicates the type of encoding used to
  transmit the data on this interface.
      """
      return self.__encoding
        
    def _set_encoding(self, v, load=False):
      """
      Setter method for encoding, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/encoding (enumeration)
      If this variable is read-only (config: false) in the
      source YANG file, then _set_encoding is considered as a private
      method. Backends looking to populate this variable should
      do so via calling thisObj._set_encoding() directly.
  
      YANG Description: This indicates the type of encoding used to
  transmit the data on this interface.
      """
      if hasattr(v, "_utype"):
        v = v._utype(v)
      try:
        t = YANGDynClass(v,base=RestrictedClassType(base_type=unicode,                                     restriction_type="dict_key",                                     restriction_arg={u'sonet-scrambled': {'value': 9}, u'4b5b': {'value': 6}, u'rz': {'value': 1}, u'8b10b': {'value': 4}, u'nrz': {'value': 2}, u'sonet': {'value': 3}, u'manchester': {'value': 7}, u'unknown': {'value': 10}, u'64b66b': {'value': 5}, u'ieee-802-3ab': {'value': 8}},), is_leaf=True, yang_name="encoding", rest_name="encoding", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='enumeration', is_config=True)
      except (TypeError, ValueError):
        raise ValueError({
            'error-string': """encoding must be of a type compatible with enumeration""",
            'defined-type': "brocade-interface-ext:enumeration",
            'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=unicode,                                     restriction_type="dict_key",                                     restriction_arg={u'sonet-scrambled': {'value': 9}, u'4b5b': {'value': 6}, u'rz': {'value': 1}, u'8b10b': {'value': 4}, u'nrz': {'value': 2}, u'sonet': {'value': 3}, u'manchester': {'value': 7}, u'unknown': {'value': 10}, u'64b66b': {'value': 5}, u'ieee-802-3ab': {'value': 8}},), is_leaf=True, yang_name="encoding", rest_name="encoding", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='enumeration', is_config=True)""",
          })
  
      self.__encoding = t
      if hasattr(self, '_set'):
        self._set()
  
    def _unset_encoding(self):
      self.__encoding = YANGDynClass(base=RestrictedClassType(base_type=unicode,                                     restriction_type="dict_key",                                     restriction_arg={u'sonet-scrambled': {'value': 9}, u'4b5b': {'value': 6}, u'rz': {'value': 1}, u'8b10b': {'value': 4}, u'nrz': {'value': 2}, u'sonet': {'value': 3}, u'manchester': {'value': 7}, u'unknown': {'value': 10}, u'64b66b': {'value': 5}, u'ieee-802-3ab': {'value': 8}},), is_leaf=True, yang_name="encoding", rest_name="encoding", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='enumeration', is_config=True)
  
  
    def _get_vendor_name(self):
      """
      Getter method for vendor_name, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/vendor_name (string)
  
      YANG Description: This indicates the Vendor of this interface.
      """
      return self.__vendor_name
        
    def _set_vendor_name(self, v, load=False):
      """
      Setter method for vendor_name, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/vendor_name (string)
      If this variable is read-only (config: false) in the
      source YANG file, then _set_vendor_name is considered as a private
      method. Backends looking to populate this variable should
      do so via calling thisObj._set_vendor_name() directly.
  
      YANG Description: This indicates the Vendor of this interface.
      """
      if hasattr(v, "_utype"):
        v = v._utype(v)
      try:
        t = YANGDynClass(v,base=unicode, is_leaf=True, yang_name="vendor-name", rest_name="vendor-name", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)
      except (TypeError, ValueError):
        raise ValueError({
            'error-string': """vendor_name must be of a type compatible with string""",
            'defined-type': "string",
            'generated-type': """YANGDynClass(base=unicode, is_leaf=True, yang_name="vendor-name", rest_name="vendor-name", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)""",
          })
  
      self.__vendor_name = t
      if hasattr(self, '_set'):
        self._set()
  
    def _unset_vendor_name(self):
      self.__vendor_name = YANGDynClass(base=unicode, is_leaf=True, yang_name="vendor-name", rest_name="vendor-name", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)
  
  
    def _get_vendor_oui(self):
      """
      Getter method for vendor_oui, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/vendor_oui (string)
  
      YANG Description: This indicates the Vendor IEEE company ID.
      """
      return self.__vendor_oui
        
    def _set_vendor_oui(self, v, load=False):
      """
      Setter method for vendor_oui, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/vendor_oui (string)
      If this variable is read-only (config: false) in the
      source YANG file, then _set_vendor_oui is considered as a private
      method. Backends looking to populate this variable should
      do so via calling thisObj._set_vendor_oui() directly.
  
      YANG Description: This indicates the Vendor IEEE company ID.
      """
      if hasattr(v, "_utype"):
        v = v._utype(v)
      try:
        t = YANGDynClass(v,base=unicode, is_leaf=True, yang_name="vendor-oui", rest_name="vendor-oui", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)
      except (TypeError, ValueError):
        raise ValueError({
            'error-string': """vendor_oui must be of a type compatible with string""",
            'defined-type': "string",
            'generated-type': """YANGDynClass(base=unicode, is_leaf=True, yang_name="vendor-oui", rest_name="vendor-oui", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)""",
          })
  
      self.__vendor_oui = t
      if hasattr(self, '_set'):
        self._set()
  
    def _unset_vendor_oui(self):
      self.__vendor_oui = YANGDynClass(base=unicode, is_leaf=True, yang_name="vendor-oui", rest_name="vendor-oui", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)
  
  
    def _get_vendor_pn(self):
      """
      Getter method for vendor_pn, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/vendor_pn (string)
  
      YANG Description: This indicates the Part number.
      """
      return self.__vendor_pn
        
    def _set_vendor_pn(self, v, load=False):
      """
      Setter method for vendor_pn, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/vendor_pn (string)
      If this variable is read-only (config: false) in the
      source YANG file, then _set_vendor_pn is considered as a private
      method. Backends looking to populate this variable should
      do so via calling thisObj._set_vendor_pn() directly.
  
      YANG Description: This indicates the Part number.
      """
      if hasattr(v, "_utype"):
        v = v._utype(v)
      try:
        t = YANGDynClass(v,base=unicode, is_leaf=True, yang_name="vendor-pn", rest_name="vendor-pn", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)
      except (TypeError, ValueError):
        raise ValueError({
            'error-string': """vendor_pn must be of a type compatible with string""",
            'defined-type': "string",
            'generated-type': """YANGDynClass(base=unicode, is_leaf=True, yang_name="vendor-pn", rest_name="vendor-pn", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)""",
          })
  
      self.__vendor_pn = t
      if hasattr(self, '_set'):
        self._set()
  
    def _unset_vendor_pn(self):
      self.__vendor_pn = YANGDynClass(base=unicode, is_leaf=True, yang_name="vendor-pn", rest_name="vendor-pn", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)
  
  
    def _get_vendor_rev(self):
      """
      Getter method for vendor_rev, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/vendor_rev (string)
  
      YANG Description: This indicates the Revision level.
      """
      return self.__vendor_rev
        
    def _set_vendor_rev(self, v, load=False):
      """
      Setter method for vendor_rev, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/vendor_rev (string)
      If this variable is read-only (config: false) in the
      source YANG file, then _set_vendor_rev is considered as a private
      method. Backends looking to populate this variable should
      do so via calling thisObj._set_vendor_rev() directly.
  
      YANG Description: This indicates the Revision level.
      """
      if hasattr(v, "_utype"):
        v = v._utype(v)
      try:
        t = YANGDynClass(v,base=unicode, is_leaf=True, yang_name="vendor-rev", rest_name="vendor-rev", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)
      except (TypeError, ValueError):
        raise ValueError({
            'error-string': """vendor_rev must be of a type compatible with string""",
            'defined-type': "string",
            'generated-type': """YANGDynClass(base=unicode, is_leaf=True, yang_name="vendor-rev", rest_name="vendor-rev", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)""",
          })
  
      self.__vendor_rev = t
      if hasattr(self, '_set'):
        self._set()
  
    def _unset_vendor_rev(self):
      self.__vendor_rev = YANGDynClass(base=unicode, is_leaf=True, yang_name="vendor-rev", rest_name="vendor-rev", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)
  
  
    def _get_distance(self):
      """
      Getter method for distance, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/distance (enumeration)
      """
      return self.__distance
        
    def _set_distance(self, v, load=False):
      """
      Setter method for distance, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/distance (enumeration)
      If this variable is read-only (config: false) in the
      source YANG file, then _set_distance is considered as a private
      method. Backends looking to populate this variable should
      do so via calling thisObj._set_distance() directly.
      """
      if hasattr(v, "_utype"):
        v = v._utype(v)
      try:
        t = YANGDynClass(v,base=RestrictedClassType(base_type=unicode,                                     restriction_type="dict_key",                                     restriction_arg={u'short-dist': {'value': 1}, u'unknown': {'value': 4}, u'long-dist': {'value': 3}, u'inter-dist': {'value': 2}},), is_leaf=True, yang_name="distance", rest_name="distance", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='enumeration', is_config=True)
      except (TypeError, ValueError):
        raise ValueError({
            'error-string': """distance must be of a type compatible with enumeration""",
            'defined-type': "brocade-interface-ext:enumeration",
            'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=unicode,                                     restriction_type="dict_key",                                     restriction_arg={u'short-dist': {'value': 1}, u'unknown': {'value': 4}, u'long-dist': {'value': 3}, u'inter-dist': {'value': 2}},), is_leaf=True, yang_name="distance", rest_name="distance", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='enumeration', is_config=True)""",
          })
  
      self.__distance = t
      if hasattr(self, '_set'):
        self._set()
  
    def _unset_distance(self):
      self.__distance = YANGDynClass(base=RestrictedClassType(base_type=unicode,                                     restriction_type="dict_key",                                     restriction_arg={u'short-dist': {'value': 1}, u'unknown': {'value': 4}, u'long-dist': {'value': 3}, u'inter-dist': {'value': 2}},), is_leaf=True, yang_name="distance", rest_name="distance", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='enumeration', is_config=True)
  
  
    def _get_media_form_factor(self):
      """
      Getter method for media_form_factor, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/media_form_factor (enumeration)
      """
      return self.__media_form_factor
        
    def _set_media_form_factor(self, v, load=False):
      """
      Setter method for media_form_factor, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/media_form_factor (enumeration)
      If this variable is read-only (config: false) in the
      source YANG file, then _set_media_form_factor is considered as a private
      method. Backends looking to populate this variable should
      do so via calling thisObj._set_media_form_factor() directly.
      """
      if hasattr(v, "_utype"):
        v = v._utype(v)
      try:
        t = YANGDynClass(v,base=RestrictedClassType(base_type=unicode,                                     restriction_type="dict_key",                                     restriction_arg={u'tv': {'value': 5}, u'tw': {'value': 8}, u'mi': {'value': 6}, u'tp': {'value': 7}, u'm5': {'value': 3}, u'm6': {'value': 4}, u'sm': {'value': 1}, u'unknown': {'value': 9}, u'mx': {'value': 2}},), is_leaf=True, yang_name="media-form-factor", rest_name="media-form-factor", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='enumeration', is_config=True)
      except (TypeError, ValueError):
        raise ValueError({
            'error-string': """media_form_factor must be of a type compatible with enumeration""",
            'defined-type': "brocade-interface-ext:enumeration",
            'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=unicode,                                     restriction_type="dict_key",                                     restriction_arg={u'tv': {'value': 5}, u'tw': {'value': 8}, u'mi': {'value': 6}, u'tp': {'value': 7}, u'm5': {'value': 3}, u'm6': {'value': 4}, u'sm': {'value': 1}, u'unknown': {'value': 9}, u'mx': {'value': 2}},), is_leaf=True, yang_name="media-form-factor", rest_name="media-form-factor", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='enumeration', is_config=True)""",
          })
  
      self.__media_form_factor = t
      if hasattr(self, '_set'):
        self._set()
  
    def _unset_media_form_factor(self):
      self.__media_form_factor = YANGDynClass(base=RestrictedClassType(base_type=unicode,                                     restriction_type="dict_key",                                     restriction_arg={u'tv': {'value': 5}, u'tw': {'value': 8}, u'mi': {'value': 6}, u'tp': {'value': 7}, u'm5': {'value': 3}, u'm6': {'value': 4}, u'sm': {'value': 1}, u'unknown': {'value': 9}, u'mx': {'value': 2}},), is_leaf=True, yang_name="media-form-factor", rest_name="media-form-factor", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='enumeration', is_config=True)
  
  
    def _get_wavelength(self):
      """
      Getter method for wavelength, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/wavelength (string)
  
      YANG Description: Wavelength of pluggable media
      """
      return self.__wavelength
        
    def _set_wavelength(self, v, load=False):
      """
      Setter method for wavelength, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/wavelength (string)
      If this variable is read-only (config: false) in the
      source YANG file, then _set_wavelength is considered as a private
      method. Backends looking to populate this variable should
      do so via calling thisObj._set_wavelength() directly.
  
      YANG Description: Wavelength of pluggable media
      """
      if hasattr(v, "_utype"):
        v = v._utype(v)
      try:
        t = YANGDynClass(v,base=unicode, is_leaf=True, yang_name="wavelength", rest_name="wavelength", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)
      except (TypeError, ValueError):
        raise ValueError({
            'error-string': """wavelength must be of a type compatible with string""",
            'defined-type': "string",
            'generated-type': """YANGDynClass(base=unicode, is_leaf=True, yang_name="wavelength", rest_name="wavelength", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)""",
          })
  
      self.__wavelength = t
      if hasattr(self, '_set'):
        self._set()
  
    def _unset_wavelength(self):
      self.__wavelength = YANGDynClass(base=unicode, is_leaf=True, yang_name="wavelength", rest_name="wavelength", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)
  
  
    def _get_serial_no(self):
      """
      Getter method for serial_no, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/serial_no (string)
  
      YANG Description: This indicates the Serial number.
      """
      return self.__serial_no
        
    def _set_serial_no(self, v, load=False):
      """
      Setter method for serial_no, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/serial_no (string)
      If this variable is read-only (config: false) in the
      source YANG file, then _set_serial_no is considered as a private
      method. Backends looking to populate this variable should
      do so via calling thisObj._set_serial_no() directly.
  
      YANG Description: This indicates the Serial number.
      """
      if hasattr(v, "_utype"):
        v = v._utype(v)
      try:
        t = YANGDynClass(v,base=unicode, is_leaf=True, yang_name="serial-no", rest_name="serial-no", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)
      except (TypeError, ValueError):
        raise ValueError({
            'error-string': """serial_no must be of a type compatible with string""",
            'defined-type': "string",
            'generated-type': """YANGDynClass(base=unicode, is_leaf=True, yang_name="serial-no", rest_name="serial-no", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)""",
          })
  
      self.__serial_no = t
      if hasattr(self, '_set'):
        self._set()
  
    def _unset_serial_no(self):
      self.__serial_no = YANGDynClass(base=unicode, is_leaf=True, yang_name="serial-no", rest_name="serial-no", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)
  
  
    def _get_date_code(self):
      """
      Getter method for date_code, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/date_code (string)
  
      YANG Description: This indicates the Vendor's 
  manufactoring date code.
      """
      return self.__date_code
        
    def _set_date_code(self, v, load=False):
      """
      Setter method for date_code, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/date_code (string)
      If this variable is read-only (config: false) in the
      source YANG file, then _set_date_code is considered as a private
      method. Backends looking to populate this variable should
      do so via calling thisObj._set_date_code() directly.
  
      YANG Description: This indicates the Vendor's 
  manufactoring date code.
      """
      if hasattr(v, "_utype"):
        v = v._utype(v)
      try:
        t = YANGDynClass(v,base=unicode, is_leaf=True, yang_name="date-code", rest_name="date-code", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)
      except (TypeError, ValueError):
        raise ValueError({
            'error-string': """date_code must be of a type compatible with string""",
            'defined-type': "string",
            'generated-type': """YANGDynClass(base=unicode, is_leaf=True, yang_name="date-code", rest_name="date-code", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)""",
          })
  
      self.__date_code = t
      if hasattr(self, '_set'):
        self._set()
  
    def _unset_date_code(self):
      self.__date_code = YANGDynClass(base=unicode, is_leaf=True, yang_name="date-code", rest_name="date-code", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='string', is_config=True)
  
  
    def _get_temperature(self):
      """
      Getter method for temperature, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/temperature (uint32)
  
      YANG Description: This indicates the  Module
  temperature (degrees C)
      """
      return self.__temperature
        
    def _set_temperature(self, v, load=False):
      """
      Setter method for temperature, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/temperature (uint32)
      If this variable is read-only (config: false) in the
      source YANG file, then _set_temperature is considered as a private
      method. Backends looking to populate this variable should
      do so via calling thisObj._set_temperature() directly.
  
      YANG Description: This indicates the  Module
  temperature (degrees C)
      """
      if hasattr(v, "_utype"):
        v = v._utype(v)
      try:
        t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="temperature", rest_name="temperature", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='uint32', is_config=True)
      except (TypeError, ValueError):
        raise ValueError({
            'error-string': """temperature must be of a type compatible with uint32""",
            'defined-type': "uint32",
            'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="temperature", rest_name="temperature", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='uint32', is_config=True)""",
          })
  
      self.__temperature = t
      if hasattr(self, '_set'):
        self._set()
  
    def _unset_temperature(self):
      self.__temperature = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="temperature", rest_name="temperature", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='uint32', is_config=True)
  
  
    def _get_voltage(self):
      """
      Getter method for voltage, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/voltage (decimal64)
  
      YANG Description: This indicates the Supply voltage
  (Volts)
      """
      return self.__voltage
        
    def _set_voltage(self, v, load=False):
      """
      Setter method for voltage, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/voltage (decimal64)
      If this variable is read-only (config: false) in the
      source YANG file, then _set_voltage is considered as a private
      method. Backends looking to populate this variable should
      do so via calling thisObj._set_voltage() directly.
  
      YANG Description: This indicates the Supply voltage
  (Volts)
      """
      if hasattr(v, "_utype"):
        v = v._utype(v)
      try:
        t = YANGDynClass(v,base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="voltage", rest_name="voltage", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='decimal64', is_config=True)
      except (TypeError, ValueError):
        raise ValueError({
            'error-string': """voltage must be of a type compatible with decimal64""",
            'defined-type': "decimal64",
            'generated-type': """YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="voltage", rest_name="voltage", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='decimal64', is_config=True)""",
          })
  
      self.__voltage = t
      if hasattr(self, '_set'):
        self._set()
  
    def _unset_voltage(self):
      self.__voltage = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="voltage", rest_name="voltage", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='decimal64', is_config=True)
  
  
    def _get_current(self):
      """
      Getter method for current, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/current (decimal64)
  
      YANG Description: This indicates the Laser diode
  drive current (milliAmps)
      """
      return self.__current
        
    def _set_current(self, v, load=False):
      """
      Setter method for current, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/current (decimal64)
      If this variable is read-only (config: false) in the
      source YANG file, then _set_current is considered as a private
      method. Backends looking to populate this variable should
      do so via calling thisObj._set_current() directly.
  
      YANG Description: This indicates the Laser diode
  drive current (milliAmps)
      """
      if hasattr(v, "_utype"):
        v = v._utype(v)
      try:
        t = YANGDynClass(v,base=RestrictedPrecisionDecimalType(precision=3), is_leaf=True, yang_name="current", rest_name="current", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='decimal64', is_config=True)
      except (TypeError, ValueError):
        raise ValueError({
            'error-string': """current must be of a type compatible with decimal64""",
            'defined-type': "decimal64",
            'generated-type': """YANGDynClass(base=RestrictedPrecisionDecimalType(precision=3), is_leaf=True, yang_name="current", rest_name="current", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='decimal64', is_config=True)""",
          })
  
      self.__current = t
      if hasattr(self, '_set'):
        self._set()
  
    def _unset_current(self):
      self.__current = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=3), is_leaf=True, yang_name="current", rest_name="current", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='decimal64', is_config=True)
  
  
    def _get_tx_power(self):
      """
      Getter method for tx_power, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/tx_power (decimal64)
  
      YANG Description: This indicates the Transmitted
  optical power (microWatts)
      """
      return self.__tx_power
        
    def _set_tx_power(self, v, load=False):
      """
      Setter method for tx_power, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/tx_power (decimal64)
      If this variable is read-only (config: false) in the
      source YANG file, then _set_tx_power is considered as a private
      method. Backends looking to populate this variable should
      do so via calling thisObj._set_tx_power() directly.
  
      YANG Description: This indicates the Transmitted
  optical power (microWatts)
      """
      if hasattr(v, "_utype"):
        v = v._utype(v)
      try:
        t = YANGDynClass(v,base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="tx-power", rest_name="tx-power", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='decimal64', is_config=True)
      except (TypeError, ValueError):
        raise ValueError({
            'error-string': """tx_power must be of a type compatible with decimal64""",
            'defined-type': "decimal64",
            'generated-type': """YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="tx-power", rest_name="tx-power", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='decimal64', is_config=True)""",
          })
  
      self.__tx_power = t
      if hasattr(self, '_set'):
        self._set()
  
    def _unset_tx_power(self):
      self.__tx_power = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="tx-power", rest_name="tx-power", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='decimal64', is_config=True)
  
  
    def _get_rx_power(self):
      """
      Getter method for rx_power, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/rx_power (decimal64)
  
      YANG Description: This indicates the Received
  optical power (microWatts)
      """
      return self.__rx_power
        
    def _set_rx_power(self, v, load=False):
      """
      Setter method for rx_power, mapped from YANG variable /brocade_interface_ext_rpc/get_media_detail/output/interface/sfp/rx_power (decimal64)
      If this variable is read-only (config: false) in the
      source YANG file, then _set_rx_power is considered as a private
      method. Backends looking to populate this variable should
      do so via calling thisObj._set_rx_power() directly.
  
      YANG Description: This indicates the Received
  optical power (microWatts)
      """
      if hasattr(v, "_utype"):
        v = v._utype(v)
      try:
        t = YANGDynClass(v,base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="rx-power", rest_name="rx-power", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='decimal64', is_config=True)
      except (TypeError, ValueError):
        raise ValueError({
            'error-string': """rx_power must be of a type compatible with decimal64""",
            'defined-type': "decimal64",
            'generated-type': """YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="rx-power", rest_name="rx-power", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='decimal64', is_config=True)""",
          })
  
      self.__rx_power = t
      if hasattr(self, '_set'):
        self._set()
  
    def _unset_rx_power(self):
      self.__rx_power = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="rx-power", rest_name="rx-power", parent=self, choice=(u'interface-identifier', u'sfp'), path_helper=self._path_helper, extmethods=self._extmethods, register_paths=False, namespace='urn:brocade.com:mgmt:brocade-interface-ext', defining_module='brocade-interface-ext', yang_type='decimal64', is_config=True)
  
    speed = __builtin__.property(_get_speed, _set_speed)
    connector = __builtin__.property(_get_connector, _set_connector)
    encoding = __builtin__.property(_get_encoding, _set_encoding)
    vendor_name = __builtin__.property(_get_vendor_name, _set_vendor_name)
    vendor_oui = __builtin__.property(_get_vendor_oui, _set_vendor_oui)
    vendor_pn = __builtin__.property(_get_vendor_pn, _set_vendor_pn)
    vendor_rev = __builtin__.property(_get_vendor_rev, _set_vendor_rev)
    distance = __builtin__.property(_get_distance, _set_distance)
    media_form_factor = __builtin__.property(_get_media_form_factor, _set_media_form_factor)
    wavelength = __builtin__.property(_get_wavelength, _set_wavelength)
    serial_no = __builtin__.property(_get_serial_no, _set_serial_no)
    date_code = __builtin__.property(_get_date_code, _set_date_code)
    temperature = __builtin__.property(_get_temperature, _set_temperature)
    voltage = __builtin__.property(_get_voltage, _set_voltage)
    current = __builtin__.property(_get_current, _set_current)
    tx_power = __builtin__.property(_get_tx_power, _set_tx_power)
    rx_power = __builtin__.property(_get_rx_power, _set_rx_power)
  
    __choices__ = {u'interface-identifier': {u'sfp': [u'speed', u'connector', u'encoding', u'vendor_name', u'vendor_oui', u'vendor_pn', u'vendor_rev', u'distance', u'media_form_factor', u'wavelength', u'serial_no', u'date_code', u'temperature', u'voltage', u'current', u'tx_power', u'rx_power']}}
    _pyangbind_elements = {'speed': speed, 'connector': connector, 'encoding': encoding, 'vendor_name': vendor_name, 'vendor_oui': vendor_oui, 'vendor_pn': vendor_pn, 'vendor_rev': vendor_rev, 'distance': distance, 'media_form_factor': media_form_factor, 'wavelength': wavelength, 'serial_no': serial_no, 'date_code': date_code, 'temperature': temperature, 'voltage': voltage, 'current': current, 'tx_power': tx_power, 'rx_power': rx_power, }
  
  
  