def _set_lif_main_intf_type(self, v, load=False):
    """
    Setter method for lif_main_intf_type, mapped from YANG variable /bridge_domain_state/bridge_domain_list/outer_vlan_list/tagged_ports_list/lif_main_intf_type (nsm-dcm-lif-main-intf-type)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_lif_main_intf_type is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_lif_main_intf_type() directly.

    YANG Description: LIF Main interface type
    """
    if hasattr(v, "_utype"):
      v = v._utype(v)
    try:
      t = YANGDynClass(v,base=RestrictedClassType(base_type=unicode,                                     restriction_type="dict_key",                                     restriction_arg={u'nsm-dcm-lif-main-intf-type-pw': {'value': 5}, u'nsm-dcm-lif-main-intf-type-lag': {'value': 2}, u'nsm-dcm-lif-main-intf-type-phy': {'value': 1}, u'nsm-dcm-lif-main-intf-type-tunnel-l2gre': {'value': 4}, u'nsm-dcm-lif-main-intf-type-unknown': {'value': 0}, u'nsm-dcm-lif-main-intf-type-tunnel-vxlan': {'value': 3}},), is_leaf=True, yang_name="lif-main-intf-type", rest_name="lif-main-intf-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-nsm-operational', defining_module='brocade-nsm-operational', yang_type='nsm-dcm-lif-main-intf-type', is_config=False)
    except (TypeError, ValueError):
      raise ValueError({
          'error-string': """lif_main_intf_type must be of a type compatible with nsm-dcm-lif-main-intf-type""",
          'defined-type': "brocade-nsm-operational:nsm-dcm-lif-main-intf-type",
          'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=unicode,                                     restriction_type="dict_key",                                     restriction_arg={u'nsm-dcm-lif-main-intf-type-pw': {'value': 5}, u'nsm-dcm-lif-main-intf-type-lag': {'value': 2}, u'nsm-dcm-lif-main-intf-type-phy': {'value': 1}, u'nsm-dcm-lif-main-intf-type-tunnel-l2gre': {'value': 4}, u'nsm-dcm-lif-main-intf-type-unknown': {'value': 0}, u'nsm-dcm-lif-main-intf-type-tunnel-vxlan': {'value': 3}},), is_leaf=True, yang_name="lif-main-intf-type", rest_name="lif-main-intf-type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:brocade.com:mgmt:brocade-nsm-operational', defining_module='brocade-nsm-operational', yang_type='nsm-dcm-lif-main-intf-type', is_config=False)""",
        })

    self.__lif_main_intf_type = t
    if hasattr(self, '_set'):
      self._set()
Setter method for lif_main_intf_type, mapped from YANG variable /bridge_domain_state/bridge_domain_list/outer_vlan_list/tagged_ports_list/lif_main_intf_type (nsm-dcm-lif-main-intf-type)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_lif_main_intf_type is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_lif_main_intf_type() directly.

    YANG Description: LIF Main interface type