
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__
import ssm_map
import igmp_snooping
class igmp(PybindBase):
  """
  This class was auto-generated by the PythonClass plugin for PYANG
  from YANG module brocade-igmp-snooping - based on the path /igmp-snooping/ip/igmp. 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', '__router_alert_check_disable','__ssm_map','__igmp_snooping',)

  _yang_name = 'igmp'
  _rest_name = 'igmp'

  _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.__router_alert_check_disable = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="router-alert-check-disable", rest_name="router-alert-check-disable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'RA option Disable', u'cli-full-command': None, u'cli-suppress-show-conf-path': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='empty', is_config=True)
    self.__ssm_map = YANGDynClass(base=ssm_map.ssm_map, is_container='container', presence=False, yang_name="ssm-map", rest_name="ssm-map", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'IGMPv2 SSM Mapping', u'cli-incomplete-no': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='container', is_config=True)
    self.__igmp_snooping = YANGDynClass(base=igmp_snooping.igmp_snooping, is_container='container', presence=False, yang_name="igmp-snooping", rest_name="snooping", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Layer 2 Snooping', u'hidden': u'full', u'alt-name': u'snooping', u'cli-incomplete-no': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='container', 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'igmp-snooping', u'ip', u'igmp']

  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'ip', u'igmp']

  def _get_router_alert_check_disable(self):
    """
    Getter method for router_alert_check_disable, mapped from YANG variable /igmp_snooping/ip/igmp/router_alert_check_disable (empty)
    """
    return self.__router_alert_check_disable
      
  def _set_router_alert_check_disable(self, v, load=False):
    """
    Setter method for router_alert_check_disable, mapped from YANG variable /igmp_snooping/ip/igmp/router_alert_check_disable (empty)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_router_alert_check_disable is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_router_alert_check_disable() directly.
    """
    if hasattr(v, "_utype"):
      v = v._utype(v)
    try:
      t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="router-alert-check-disable", rest_name="router-alert-check-disable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'RA option Disable', u'cli-full-command': None, u'cli-suppress-show-conf-path': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='empty', is_config=True)
    except (TypeError, ValueError):
      raise ValueError({
          'error-string': """router_alert_check_disable must be of a type compatible with empty""",
          'defined-type': "empty",
          'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="router-alert-check-disable", rest_name="router-alert-check-disable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'RA option Disable', u'cli-full-command': None, u'cli-suppress-show-conf-path': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='empty', is_config=True)""",
        })

    self.__router_alert_check_disable = t
    if hasattr(self, '_set'):
      self._set()

  def _unset_router_alert_check_disable(self):
    self.__router_alert_check_disable = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="router-alert-check-disable", rest_name="router-alert-check-disable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'RA option Disable', u'cli-full-command': None, u'cli-suppress-show-conf-path': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='empty', is_config=True)


  def _get_ssm_map(self):
    """
    Getter method for ssm_map, mapped from YANG variable /igmp_snooping/ip/igmp/ssm_map (container)
    """
    return self.__ssm_map
      
  def _set_ssm_map(self, v, load=False):
    """
    Setter method for ssm_map, mapped from YANG variable /igmp_snooping/ip/igmp/ssm_map (container)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_ssm_map is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_ssm_map() directly.
    """
    if hasattr(v, "_utype"):
      v = v._utype(v)
    try:
      t = YANGDynClass(v,base=ssm_map.ssm_map, is_container='container', presence=False, yang_name="ssm-map", rest_name="ssm-map", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'IGMPv2 SSM Mapping', u'cli-incomplete-no': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='container', is_config=True)
    except (TypeError, ValueError):
      raise ValueError({
          'error-string': """ssm_map must be of a type compatible with container""",
          'defined-type': "container",
          'generated-type': """YANGDynClass(base=ssm_map.ssm_map, is_container='container', presence=False, yang_name="ssm-map", rest_name="ssm-map", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'IGMPv2 SSM Mapping', u'cli-incomplete-no': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='container', is_config=True)""",
        })

    self.__ssm_map = t
    if hasattr(self, '_set'):
      self._set()

  def _unset_ssm_map(self):
    self.__ssm_map = YANGDynClass(base=ssm_map.ssm_map, is_container='container', presence=False, yang_name="ssm-map", rest_name="ssm-map", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'IGMPv2 SSM Mapping', u'cli-incomplete-no': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='container', is_config=True)


  def _get_igmp_snooping(self):
    """
    Getter method for igmp_snooping, mapped from YANG variable /igmp_snooping/ip/igmp/igmp_snooping (container)
    """
    return self.__igmp_snooping
      
  def _set_igmp_snooping(self, v, load=False):
    """
    Setter method for igmp_snooping, mapped from YANG variable /igmp_snooping/ip/igmp/igmp_snooping (container)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_igmp_snooping is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_igmp_snooping() directly.
    """
    if hasattr(v, "_utype"):
      v = v._utype(v)
    try:
      t = YANGDynClass(v,base=igmp_snooping.igmp_snooping, is_container='container', presence=False, yang_name="igmp-snooping", rest_name="snooping", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Layer 2 Snooping', u'hidden': u'full', u'alt-name': u'snooping', u'cli-incomplete-no': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='container', is_config=True)
    except (TypeError, ValueError):
      raise ValueError({
          'error-string': """igmp_snooping must be of a type compatible with container""",
          'defined-type': "container",
          'generated-type': """YANGDynClass(base=igmp_snooping.igmp_snooping, is_container='container', presence=False, yang_name="igmp-snooping", rest_name="snooping", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Layer 2 Snooping', u'hidden': u'full', u'alt-name': u'snooping', u'cli-incomplete-no': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='container', is_config=True)""",
        })

    self.__igmp_snooping = t
    if hasattr(self, '_set'):
      self._set()

  def _unset_igmp_snooping(self):
    self.__igmp_snooping = YANGDynClass(base=igmp_snooping.igmp_snooping, is_container='container', presence=False, yang_name="igmp-snooping", rest_name="snooping", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Layer 2 Snooping', u'hidden': u'full', u'alt-name': u'snooping', u'cli-incomplete-no': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='container', is_config=True)

  router_alert_check_disable = __builtin__.property(_get_router_alert_check_disable, _set_router_alert_check_disable)
  ssm_map = __builtin__.property(_get_ssm_map, _set_ssm_map)
  igmp_snooping = __builtin__.property(_get_igmp_snooping, _set_igmp_snooping)


  _pyangbind_elements = {'router_alert_check_disable': router_alert_check_disable, 'ssm_map': ssm_map, 'igmp_snooping': igmp_snooping, }




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__
import ssm_map
import igmp_snooping
class igmp(PybindBase):
  """
  This class was auto-generated by the PythonClass plugin for PYANG
  from YANG module brocade-igmp-snooping - based on the path /igmp-snooping/ip/igmp. 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', '__router_alert_check_disable','__ssm_map','__igmp_snooping',)

  _yang_name = 'igmp'
  _rest_name = 'igmp'

  _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.__router_alert_check_disable = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="router-alert-check-disable", rest_name="router-alert-check-disable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'RA option Disable', u'cli-full-command': None, u'cli-suppress-show-conf-path': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='empty', is_config=True)
    self.__ssm_map = YANGDynClass(base=ssm_map.ssm_map, is_container='container', presence=False, yang_name="ssm-map", rest_name="ssm-map", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'IGMPv2 SSM Mapping', u'cli-incomplete-no': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='container', is_config=True)
    self.__igmp_snooping = YANGDynClass(base=igmp_snooping.igmp_snooping, is_container='container', presence=False, yang_name="igmp-snooping", rest_name="snooping", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Layer 2 Snooping', u'hidden': u'full', u'alt-name': u'snooping', u'cli-incomplete-no': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='container', 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'igmp-snooping', u'ip', u'igmp']

  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'ip', u'igmp']

  def _get_router_alert_check_disable(self):
    """
    Getter method for router_alert_check_disable, mapped from YANG variable /igmp_snooping/ip/igmp/router_alert_check_disable (empty)
    """
    return self.__router_alert_check_disable
      
  def _set_router_alert_check_disable(self, v, load=False):
    """
    Setter method for router_alert_check_disable, mapped from YANG variable /igmp_snooping/ip/igmp/router_alert_check_disable (empty)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_router_alert_check_disable is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_router_alert_check_disable() directly.
    """
    if hasattr(v, "_utype"):
      v = v._utype(v)
    try:
      t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="router-alert-check-disable", rest_name="router-alert-check-disable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'RA option Disable', u'cli-full-command': None, u'cli-suppress-show-conf-path': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='empty', is_config=True)
    except (TypeError, ValueError):
      raise ValueError({
          'error-string': """router_alert_check_disable must be of a type compatible with empty""",
          'defined-type': "empty",
          'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="router-alert-check-disable", rest_name="router-alert-check-disable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'RA option Disable', u'cli-full-command': None, u'cli-suppress-show-conf-path': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='empty', is_config=True)""",
        })

    self.__router_alert_check_disable = t
    if hasattr(self, '_set'):
      self._set()

  def _unset_router_alert_check_disable(self):
    self.__router_alert_check_disable = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="router-alert-check-disable", rest_name="router-alert-check-disable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'RA option Disable', u'cli-full-command': None, u'cli-suppress-show-conf-path': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='empty', is_config=True)


  def _get_ssm_map(self):
    """
    Getter method for ssm_map, mapped from YANG variable /igmp_snooping/ip/igmp/ssm_map (container)
    """
    return self.__ssm_map
      
  def _set_ssm_map(self, v, load=False):
    """
    Setter method for ssm_map, mapped from YANG variable /igmp_snooping/ip/igmp/ssm_map (container)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_ssm_map is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_ssm_map() directly.
    """
    if hasattr(v, "_utype"):
      v = v._utype(v)
    try:
      t = YANGDynClass(v,base=ssm_map.ssm_map, is_container='container', presence=False, yang_name="ssm-map", rest_name="ssm-map", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'IGMPv2 SSM Mapping', u'cli-incomplete-no': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='container', is_config=True)
    except (TypeError, ValueError):
      raise ValueError({
          'error-string': """ssm_map must be of a type compatible with container""",
          'defined-type': "container",
          'generated-type': """YANGDynClass(base=ssm_map.ssm_map, is_container='container', presence=False, yang_name="ssm-map", rest_name="ssm-map", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'IGMPv2 SSM Mapping', u'cli-incomplete-no': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='container', is_config=True)""",
        })

    self.__ssm_map = t
    if hasattr(self, '_set'):
      self._set()

  def _unset_ssm_map(self):
    self.__ssm_map = YANGDynClass(base=ssm_map.ssm_map, is_container='container', presence=False, yang_name="ssm-map", rest_name="ssm-map", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'IGMPv2 SSM Mapping', u'cli-incomplete-no': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='container', is_config=True)


  def _get_igmp_snooping(self):
    """
    Getter method for igmp_snooping, mapped from YANG variable /igmp_snooping/ip/igmp/igmp_snooping (container)
    """
    return self.__igmp_snooping
      
  def _set_igmp_snooping(self, v, load=False):
    """
    Setter method for igmp_snooping, mapped from YANG variable /igmp_snooping/ip/igmp/igmp_snooping (container)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_igmp_snooping is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_igmp_snooping() directly.
    """
    if hasattr(v, "_utype"):
      v = v._utype(v)
    try:
      t = YANGDynClass(v,base=igmp_snooping.igmp_snooping, is_container='container', presence=False, yang_name="igmp-snooping", rest_name="snooping", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Layer 2 Snooping', u'hidden': u'full', u'alt-name': u'snooping', u'cli-incomplete-no': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='container', is_config=True)
    except (TypeError, ValueError):
      raise ValueError({
          'error-string': """igmp_snooping must be of a type compatible with container""",
          'defined-type': "container",
          'generated-type': """YANGDynClass(base=igmp_snooping.igmp_snooping, is_container='container', presence=False, yang_name="igmp-snooping", rest_name="snooping", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Layer 2 Snooping', u'hidden': u'full', u'alt-name': u'snooping', u'cli-incomplete-no': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='container', is_config=True)""",
        })

    self.__igmp_snooping = t
    if hasattr(self, '_set'):
      self._set()

  def _unset_igmp_snooping(self):
    self.__igmp_snooping = YANGDynClass(base=igmp_snooping.igmp_snooping, is_container='container', presence=False, yang_name="igmp-snooping", rest_name="snooping", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Layer 2 Snooping', u'hidden': u'full', u'alt-name': u'snooping', u'cli-incomplete-no': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='container', is_config=True)

  router_alert_check_disable = __builtin__.property(_get_router_alert_check_disable, _set_router_alert_check_disable)
  ssm_map = __builtin__.property(_get_ssm_map, _set_ssm_map)
  igmp_snooping = __builtin__.property(_get_igmp_snooping, _set_igmp_snooping)


  _pyangbind_elements = {'router_alert_check_disable': router_alert_check_disable, 'ssm_map': ssm_map, 'igmp_snooping': igmp_snooping, }



This class was auto-generated by the PythonClass plugin for PYANG   from YANG module brocade-igmp-snooping - based on the path /igmp-snooping/ip/igmp. Each member element of   the container is represented as a class variable - with a specific   YANG type. Getter method for router_alert_check_disable, mapped from YANG variable /igmp_snooping/ip/igmp/router_alert_check_disable (empty) Setter method for router_alert_check_disable, mapped from YANG variable /igmp_snooping/ip/igmp/router_alert_check_disable (empty)     If this variable is read-only (config: false) in the     source YANG file, then _set_router_alert_check_disable is considered as a private     method. Backends looking to populate this variable should     do so via calling thisObj._set_router_alert_check_disable() directly. router_alert_check_disable must be of a type compatible with empty YANGDynClass(base=YANGBool, is_leaf=True, yang_name="router-alert-check-disable", rest_name="router-alert-check-disable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'RA option Disable', u'cli-full-command': None, u'cli-suppress-show-conf-path': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='empty', is_config=True) Getter method for ssm_map, mapped from YANG variable /igmp_snooping/ip/igmp/ssm_map (container) Setter method for ssm_map, mapped from YANG variable /igmp_snooping/ip/igmp/ssm_map (container)     If this variable is read-only (config: false) in the     source YANG file, then _set_ssm_map is considered as a private     method. Backends looking to populate this variable should     do so via calling thisObj._set_ssm_map() directly. ssm_map must be of a type compatible with container YANGDynClass(base=ssm_map.ssm_map, is_container='container', presence=False, yang_name="ssm-map", rest_name="ssm-map", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'IGMPv2 SSM Mapping', u'cli-incomplete-no': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='container', is_config=True) Getter method for igmp_snooping, mapped from YANG variable /igmp_snooping/ip/igmp/igmp_snooping (container) Setter method for igmp_snooping, mapped from YANG variable /igmp_snooping/ip/igmp/igmp_snooping (container)     If this variable is read-only (config: false) in the     source YANG file, then _set_igmp_snooping is considered as a private     method. Backends looking to populate this variable should     do so via calling thisObj._set_igmp_snooping() directly. igmp_snooping must be of a type compatible with container YANGDynClass(base=igmp_snooping.igmp_snooping, is_container='container', presence=False, yang_name="igmp-snooping", rest_name="snooping", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions={u'tailf-common': {u'info': u'Layer 2 Snooping', u'hidden': u'full', u'alt-name': u'snooping', u'cli-incomplete-no': None}}, namespace='urn:brocade.com:mgmt:brocade-igmp-snooping', defining_module='brocade-igmp-snooping', yang_type='container', is_config=True)