# -*- coding: utf-8 -*-
from operator import attrgetter
from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType
from pyangbind.lib.yangtypes import RestrictedClassType
from pyangbind.lib.yangtypes import TypedListType
from pyangbind.lib.yangtypes import YANGBool
from pyangbind.lib.yangtypes import YANGListType
from pyangbind.lib.yangtypes import YANGDynClass
from pyangbind.lib.yangtypes import ReferenceType
from pyangbind.lib.base import PybindBase
from collections import OrderedDict
from decimal import Decimal
from bitarray import bitarray
import six

# PY3 support of some PY2 keywords (needs improved)
if six.PY3:
    import builtins as __builtin__

    long = int
elif six.PY2:
    import __builtin__


class state(PybindBase):
    """
  This class was auto-generated by the PythonClass plugin for PYANG
  from YANG module openconfig-network-instance - based on the path /network-instances/network-instance/protocols/protocol/isis/levels/level/link-state-database/lsp/tlvs/tlv/isis-alias-id/state. Each member element of
  the container is represented as a class variable - with a specific
  YANG type.

  YANG Description: State parameters of alias ID.
  """
    __slots__ = ("_path_helper", "_extmethods", "__type", "__alias_id")

    _yang_name = "state"

    _pybind_generated_by = "container"

    def __init__(self, *args, **kwargs):

        self._path_helper = False

        self._extmethods = False
        self.__type = YANGDynClass(
            base=RestrictedClassType(
                base_type=six.text_type,
                restriction_type="dict_key",
                restriction_arg={
                    "AREA_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:AREA_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IIS_NEIGHBORS": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IIS_NEIGHBORS": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "INSTANCE_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:INSTANCE_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "AUTHENTICATION": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:AUTHENTICATION": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "PURGE_OI": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:PURGE_OI": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "EXTENDED_IS_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:EXTENDED_IS_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IS_NEIGHBOR_ATTRIBUTE": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IS_NEIGHBOR_ATTRIBUTE": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "ISIS_ALIAS_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:ISIS_ALIAS_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV4_INTERNAL_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV4_INTERNAL_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "NLPID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:NLPID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV4_EXTERNAL_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV4_EXTERNAL_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV4_INTERFACE_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV4_INTERFACE_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV4_TE_ROUTER_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV4_TE_ROUTER_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "EXTENDED_IPV4_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:EXTENDED_IPV4_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "DYNAMIC_NAME": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:DYNAMIC_NAME": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV4_SRLG": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV4_SRLG": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV6_SRLG": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV6_SRLG": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV6_TE_ROUTER_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV6_TE_ROUTER_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "MT_ISN": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:MT_ISN": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "MT_IS_NEIGHBOR_ATTRIBUTE": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:MT_IS_NEIGHBOR_ATTRIBUTE": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "MULTI_TOPOLOGY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:MULTI_TOPOLOGY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV6_INTERFACE_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV6_INTERFACE_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "MT_IPV4_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:MT_IPV4_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV6_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV6_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "MT_IPV6_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:MT_IPV6_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "ROUTER_CAPABILITIES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:ROUTER_CAPABILITIES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                },
            ),
            is_leaf=True,
            yang_name="type",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="identityref",
            is_config=False,
        )
        self.__alias_id = YANGDynClass(
            base=RestrictedClassType(
                base_type=six.text_type,
                restriction_dict={
                    "pattern": "[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}"
                },
            ),
            is_leaf=True,
            yang_name="alias-id",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="oc-isis-types:system-id",
            is_config=False,
        )

        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 [
                "network-instances",
                "network-instance",
                "protocols",
                "protocol",
                "isis",
                "levels",
                "level",
                "link-state-database",
                "lsp",
                "tlvs",
                "tlv",
                "isis-alias-id",
                "state",
            ]

    def _get_type(self):
        """
    Getter method for type, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/isis_alias_id/state/type (identityref)

    YANG Description: The type of TLV being described. The type of TLV is
expressed as a canonical name.
    """
        return self.__type

    def _set_type(self, v, load=False):
        """
    Setter method for type, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/isis_alias_id/state/type (identityref)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_type is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_type() directly.

    YANG Description: The type of TLV being described. The type of TLV is
expressed as a canonical name.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=six.text_type,
                    restriction_type="dict_key",
                    restriction_arg={
                        "AREA_ADDRESSES": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:AREA_ADDRESSES": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "IIS_NEIGHBORS": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:IIS_NEIGHBORS": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "INSTANCE_ID": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:INSTANCE_ID": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "AUTHENTICATION": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:AUTHENTICATION": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "PURGE_OI": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:PURGE_OI": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "EXTENDED_IS_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:EXTENDED_IS_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "IS_NEIGHBOR_ATTRIBUTE": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:IS_NEIGHBOR_ATTRIBUTE": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "ISIS_ALIAS_ID": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:ISIS_ALIAS_ID": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "IPV4_INTERNAL_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:IPV4_INTERNAL_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "NLPID": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:NLPID": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "IPV4_EXTERNAL_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:IPV4_EXTERNAL_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "IPV4_INTERFACE_ADDRESSES": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:IPV4_INTERFACE_ADDRESSES": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "IPV4_TE_ROUTER_ID": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:IPV4_TE_ROUTER_ID": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "EXTENDED_IPV4_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:EXTENDED_IPV4_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "DYNAMIC_NAME": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:DYNAMIC_NAME": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "IPV4_SRLG": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:IPV4_SRLG": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "IPV6_SRLG": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:IPV6_SRLG": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "IPV6_TE_ROUTER_ID": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:IPV6_TE_ROUTER_ID": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "MT_ISN": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:MT_ISN": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "MT_IS_NEIGHBOR_ATTRIBUTE": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:MT_IS_NEIGHBOR_ATTRIBUTE": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "MULTI_TOPOLOGY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:MULTI_TOPOLOGY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "IPV6_INTERFACE_ADDRESSES": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:IPV6_INTERFACE_ADDRESSES": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "MT_IPV4_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:MT_IPV4_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "IPV6_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:IPV6_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "MT_IPV6_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:MT_IPV6_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "ROUTER_CAPABILITIES": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:ROUTER_CAPABILITIES": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                    },
                ),
                is_leaf=True,
                yang_name="type",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="identityref",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """type must be of a type compatible with identityref""",
                    "defined-type": "openconfig-network-instance:identityref",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'AREA_ADDRESSES': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:AREA_ADDRESSES': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'IIS_NEIGHBORS': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:IIS_NEIGHBORS': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'INSTANCE_ID': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:INSTANCE_ID': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'AUTHENTICATION': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:AUTHENTICATION': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'PURGE_OI': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:PURGE_OI': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'EXTENDED_IS_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:EXTENDED_IS_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'IS_NEIGHBOR_ATTRIBUTE': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:IS_NEIGHBOR_ATTRIBUTE': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'ISIS_ALIAS_ID': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:ISIS_ALIAS_ID': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'IPV4_INTERNAL_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:IPV4_INTERNAL_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'NLPID': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:NLPID': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'IPV4_EXTERNAL_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:IPV4_EXTERNAL_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'IPV4_INTERFACE_ADDRESSES': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:IPV4_INTERFACE_ADDRESSES': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'IPV4_TE_ROUTER_ID': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:IPV4_TE_ROUTER_ID': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'EXTENDED_IPV4_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:EXTENDED_IPV4_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'DYNAMIC_NAME': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:DYNAMIC_NAME': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'IPV4_SRLG': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:IPV4_SRLG': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'IPV6_SRLG': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:IPV6_SRLG': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'IPV6_TE_ROUTER_ID': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:IPV6_TE_ROUTER_ID': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'MT_ISN': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:MT_ISN': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'MT_IS_NEIGHBOR_ATTRIBUTE': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:MT_IS_NEIGHBOR_ATTRIBUTE': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'MULTI_TOPOLOGY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:MULTI_TOPOLOGY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'IPV6_INTERFACE_ADDRESSES': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:IPV6_INTERFACE_ADDRESSES': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'MT_IPV4_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:MT_IPV4_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'IPV6_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:IPV6_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'MT_IPV6_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:MT_IPV6_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'ROUTER_CAPABILITIES': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:ROUTER_CAPABILITIES': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}},), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='identityref', is_config=False)""",
                }
            )

        self.__type = t
        if hasattr(self, "_set"):
            self._set()

    def _unset_type(self):
        self.__type = YANGDynClass(
            base=RestrictedClassType(
                base_type=six.text_type,
                restriction_type="dict_key",
                restriction_arg={
                    "AREA_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:AREA_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IIS_NEIGHBORS": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IIS_NEIGHBORS": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "INSTANCE_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:INSTANCE_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "AUTHENTICATION": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:AUTHENTICATION": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "PURGE_OI": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:PURGE_OI": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "EXTENDED_IS_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:EXTENDED_IS_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IS_NEIGHBOR_ATTRIBUTE": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IS_NEIGHBOR_ATTRIBUTE": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "ISIS_ALIAS_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:ISIS_ALIAS_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV4_INTERNAL_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV4_INTERNAL_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "NLPID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:NLPID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV4_EXTERNAL_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV4_EXTERNAL_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV4_INTERFACE_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV4_INTERFACE_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV4_TE_ROUTER_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV4_TE_ROUTER_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "EXTENDED_IPV4_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:EXTENDED_IPV4_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "DYNAMIC_NAME": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:DYNAMIC_NAME": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV4_SRLG": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV4_SRLG": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV6_SRLG": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV6_SRLG": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV6_TE_ROUTER_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV6_TE_ROUTER_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "MT_ISN": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:MT_ISN": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "MT_IS_NEIGHBOR_ATTRIBUTE": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:MT_IS_NEIGHBOR_ATTRIBUTE": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "MULTI_TOPOLOGY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:MULTI_TOPOLOGY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV6_INTERFACE_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV6_INTERFACE_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "MT_IPV4_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:MT_IPV4_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV6_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV6_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "MT_IPV6_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:MT_IPV6_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "ROUTER_CAPABILITIES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:ROUTER_CAPABILITIES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                },
            ),
            is_leaf=True,
            yang_name="type",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="identityref",
            is_config=False,
        )

    def _get_alias_id(self):
        """
    Getter method for alias_id, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/isis_alias_id/state/alias_id (oc-isis-types:system-id)

    YANG Description: List of alias ID(s).
    """
        return self.__alias_id

    def _set_alias_id(self, v, load=False):
        """
    Setter method for alias_id, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/isis_alias_id/state/alias_id (oc-isis-types:system-id)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_alias_id is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_alias_id() directly.

    YANG Description: List of alias ID(s).
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=six.text_type,
                    restriction_dict={
                        "pattern": "[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}"
                    },
                ),
                is_leaf=True,
                yang_name="alias-id",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="oc-isis-types:system-id",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """alias_id must be of a type compatible with oc-isis-types:system-id""",
                    "defined-type": "oc-isis-types:system-id",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}'}), is_leaf=True, yang_name="alias-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='oc-isis-types:system-id', is_config=False)""",
                }
            )

        self.__alias_id = t
        if hasattr(self, "_set"):
            self._set()

    def _unset_alias_id(self):
        self.__alias_id = YANGDynClass(
            base=RestrictedClassType(
                base_type=six.text_type,
                restriction_dict={
                    "pattern": "[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}"
                },
            ),
            is_leaf=True,
            yang_name="alias-id",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="oc-isis-types:system-id",
            is_config=False,
        )

    type = __builtin__.property(_get_type)
    alias_id = __builtin__.property(_get_alias_id)

    _pyangbind_elements = OrderedDict([("type", type), ("alias_id", alias_id)])


class state(PybindBase):
    """
  This class was auto-generated by the PythonClass plugin for PYANG
  from YANG module openconfig-network-instance-l2 - based on the path /network-instances/network-instance/protocols/protocol/isis/levels/level/link-state-database/lsp/tlvs/tlv/isis-alias-id/state. Each member element of
  the container is represented as a class variable - with a specific
  YANG type.

  YANG Description: State parameters of alias ID.
  """
    __slots__ = ("_path_helper", "_extmethods", "__type", "__alias_id")

    _yang_name = "state"

    _pybind_generated_by = "container"

    def __init__(self, *args, **kwargs):

        self._path_helper = False

        self._extmethods = False
        self.__type = YANGDynClass(
            base=RestrictedClassType(
                base_type=six.text_type,
                restriction_type="dict_key",
                restriction_arg={
                    "AREA_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:AREA_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IIS_NEIGHBORS": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IIS_NEIGHBORS": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "INSTANCE_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:INSTANCE_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "AUTHENTICATION": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:AUTHENTICATION": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "PURGE_OI": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:PURGE_OI": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "EXTENDED_IS_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:EXTENDED_IS_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IS_NEIGHBOR_ATTRIBUTE": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IS_NEIGHBOR_ATTRIBUTE": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "ISIS_ALIAS_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:ISIS_ALIAS_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV4_INTERNAL_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV4_INTERNAL_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "NLPID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:NLPID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV4_EXTERNAL_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV4_EXTERNAL_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV4_INTERFACE_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV4_INTERFACE_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV4_TE_ROUTER_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV4_TE_ROUTER_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "EXTENDED_IPV4_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:EXTENDED_IPV4_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "DYNAMIC_NAME": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:DYNAMIC_NAME": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV4_SRLG": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV4_SRLG": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV6_SRLG": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV6_SRLG": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV6_TE_ROUTER_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV6_TE_ROUTER_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "MT_ISN": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:MT_ISN": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "MT_IS_NEIGHBOR_ATTRIBUTE": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:MT_IS_NEIGHBOR_ATTRIBUTE": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "MULTI_TOPOLOGY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:MULTI_TOPOLOGY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV6_INTERFACE_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV6_INTERFACE_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "MT_IPV4_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:MT_IPV4_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV6_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV6_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "MT_IPV6_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:MT_IPV6_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "ROUTER_CAPABILITIES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:ROUTER_CAPABILITIES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                },
            ),
            is_leaf=True,
            yang_name="type",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="identityref",
            is_config=False,
        )
        self.__alias_id = YANGDynClass(
            base=RestrictedClassType(
                base_type=six.text_type,
                restriction_dict={
                    "pattern": "[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}"
                },
            ),
            is_leaf=True,
            yang_name="alias-id",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="oc-isis-types:system-id",
            is_config=False,
        )

        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 [
                "network-instances",
                "network-instance",
                "protocols",
                "protocol",
                "isis",
                "levels",
                "level",
                "link-state-database",
                "lsp",
                "tlvs",
                "tlv",
                "isis-alias-id",
                "state",
            ]

    def _get_type(self):
        """
    Getter method for type, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/isis_alias_id/state/type (identityref)

    YANG Description: The type of TLV being described. The type of TLV is
expressed as a canonical name.
    """
        return self.__type

    def _set_type(self, v, load=False):
        """
    Setter method for type, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/isis_alias_id/state/type (identityref)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_type is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_type() directly.

    YANG Description: The type of TLV being described. The type of TLV is
expressed as a canonical name.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=six.text_type,
                    restriction_type="dict_key",
                    restriction_arg={
                        "AREA_ADDRESSES": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:AREA_ADDRESSES": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "IIS_NEIGHBORS": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:IIS_NEIGHBORS": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "INSTANCE_ID": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:INSTANCE_ID": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "AUTHENTICATION": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:AUTHENTICATION": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "PURGE_OI": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:PURGE_OI": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "EXTENDED_IS_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:EXTENDED_IS_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "IS_NEIGHBOR_ATTRIBUTE": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:IS_NEIGHBOR_ATTRIBUTE": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "ISIS_ALIAS_ID": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:ISIS_ALIAS_ID": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "IPV4_INTERNAL_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:IPV4_INTERNAL_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "NLPID": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:NLPID": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "IPV4_EXTERNAL_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:IPV4_EXTERNAL_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "IPV4_INTERFACE_ADDRESSES": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:IPV4_INTERFACE_ADDRESSES": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "IPV4_TE_ROUTER_ID": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:IPV4_TE_ROUTER_ID": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "EXTENDED_IPV4_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:EXTENDED_IPV4_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "DYNAMIC_NAME": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:DYNAMIC_NAME": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "IPV4_SRLG": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:IPV4_SRLG": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "IPV6_SRLG": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:IPV6_SRLG": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "IPV6_TE_ROUTER_ID": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:IPV6_TE_ROUTER_ID": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "MT_ISN": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:MT_ISN": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "MT_IS_NEIGHBOR_ATTRIBUTE": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:MT_IS_NEIGHBOR_ATTRIBUTE": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "MULTI_TOPOLOGY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:MULTI_TOPOLOGY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "IPV6_INTERFACE_ADDRESSES": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:IPV6_INTERFACE_ADDRESSES": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "MT_IPV4_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:MT_IPV4_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "IPV6_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:IPV6_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "MT_IPV6_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:MT_IPV6_REACHABILITY": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "ROUTER_CAPABILITIES": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                        "oc-isis-lsdb-types:ROUTER_CAPABILITIES": {
                            "@module": "openconfig-isis-lsdb-types",
                            "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                        },
                    },
                ),
                is_leaf=True,
                yang_name="type",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="identityref",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """type must be of a type compatible with identityref""",
                    "defined-type": "openconfig-network-instance:identityref",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'AREA_ADDRESSES': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:AREA_ADDRESSES': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'IIS_NEIGHBORS': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:IIS_NEIGHBORS': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'INSTANCE_ID': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:INSTANCE_ID': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'AUTHENTICATION': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:AUTHENTICATION': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'PURGE_OI': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:PURGE_OI': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'EXTENDED_IS_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:EXTENDED_IS_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'IS_NEIGHBOR_ATTRIBUTE': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:IS_NEIGHBOR_ATTRIBUTE': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'ISIS_ALIAS_ID': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:ISIS_ALIAS_ID': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'IPV4_INTERNAL_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:IPV4_INTERNAL_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'NLPID': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:NLPID': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'IPV4_EXTERNAL_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:IPV4_EXTERNAL_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'IPV4_INTERFACE_ADDRESSES': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:IPV4_INTERFACE_ADDRESSES': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'IPV4_TE_ROUTER_ID': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:IPV4_TE_ROUTER_ID': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'EXTENDED_IPV4_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:EXTENDED_IPV4_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'DYNAMIC_NAME': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:DYNAMIC_NAME': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'IPV4_SRLG': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:IPV4_SRLG': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'IPV6_SRLG': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:IPV6_SRLG': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'IPV6_TE_ROUTER_ID': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:IPV6_TE_ROUTER_ID': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'MT_ISN': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:MT_ISN': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'MT_IS_NEIGHBOR_ATTRIBUTE': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:MT_IS_NEIGHBOR_ATTRIBUTE': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'MULTI_TOPOLOGY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:MULTI_TOPOLOGY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'IPV6_INTERFACE_ADDRESSES': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:IPV6_INTERFACE_ADDRESSES': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'MT_IPV4_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:MT_IPV4_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'IPV6_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:IPV6_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'MT_IPV6_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:MT_IPV6_REACHABILITY': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'ROUTER_CAPABILITIES': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}, 'oc-isis-lsdb-types:ROUTER_CAPABILITIES': {'@module': 'openconfig-isis-lsdb-types', '@namespace': 'http://openconfig.net/yang/isis-lsdb-types'}},), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='identityref', is_config=False)""",
                }
            )

        self.__type = t
        if hasattr(self, "_set"):
            self._set()

    def _unset_type(self):
        self.__type = YANGDynClass(
            base=RestrictedClassType(
                base_type=six.text_type,
                restriction_type="dict_key",
                restriction_arg={
                    "AREA_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:AREA_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IIS_NEIGHBORS": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IIS_NEIGHBORS": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "INSTANCE_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:INSTANCE_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "AUTHENTICATION": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:AUTHENTICATION": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "PURGE_OI": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:PURGE_OI": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "EXTENDED_IS_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:EXTENDED_IS_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IS_NEIGHBOR_ATTRIBUTE": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IS_NEIGHBOR_ATTRIBUTE": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "ISIS_ALIAS_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:ISIS_ALIAS_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV4_INTERNAL_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV4_INTERNAL_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "NLPID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:NLPID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV4_EXTERNAL_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV4_EXTERNAL_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV4_INTERFACE_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV4_INTERFACE_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV4_TE_ROUTER_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV4_TE_ROUTER_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "EXTENDED_IPV4_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:EXTENDED_IPV4_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "DYNAMIC_NAME": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:DYNAMIC_NAME": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV4_SRLG": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV4_SRLG": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV6_SRLG": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV6_SRLG": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV6_TE_ROUTER_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV6_TE_ROUTER_ID": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "MT_ISN": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:MT_ISN": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "MT_IS_NEIGHBOR_ATTRIBUTE": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:MT_IS_NEIGHBOR_ATTRIBUTE": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "MULTI_TOPOLOGY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:MULTI_TOPOLOGY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV6_INTERFACE_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV6_INTERFACE_ADDRESSES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "MT_IPV4_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:MT_IPV4_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "IPV6_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:IPV6_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "MT_IPV6_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:MT_IPV6_REACHABILITY": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "ROUTER_CAPABILITIES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                    "oc-isis-lsdb-types:ROUTER_CAPABILITIES": {
                        "@module": "openconfig-isis-lsdb-types",
                        "@namespace": "http://openconfig.net/yang/isis-lsdb-types",
                    },
                },
            ),
            is_leaf=True,
            yang_name="type",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="identityref",
            is_config=False,
        )

    def _get_alias_id(self):
        """
    Getter method for alias_id, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/isis_alias_id/state/alias_id (oc-isis-types:system-id)

    YANG Description: List of alias ID(s).
    """
        return self.__alias_id

    def _set_alias_id(self, v, load=False):
        """
    Setter method for alias_id, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/isis_alias_id/state/alias_id (oc-isis-types:system-id)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_alias_id is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_alias_id() directly.

    YANG Description: List of alias ID(s).
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=six.text_type,
                    restriction_dict={
                        "pattern": "[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}"
                    },
                ),
                is_leaf=True,
                yang_name="alias-id",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="oc-isis-types:system-id",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """alias_id must be of a type compatible with oc-isis-types:system-id""",
                    "defined-type": "oc-isis-types:system-id",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}'}), is_leaf=True, yang_name="alias-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='oc-isis-types:system-id', is_config=False)""",
                }
            )

        self.__alias_id = t
        if hasattr(self, "_set"):
            self._set()

    def _unset_alias_id(self):
        self.__alias_id = YANGDynClass(
            base=RestrictedClassType(
                base_type=six.text_type,
                restriction_dict={
                    "pattern": "[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}"
                },
            ),
            is_leaf=True,
            yang_name="alias-id",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="oc-isis-types:system-id",
            is_config=False,
        )

    type = __builtin__.property(_get_type)
    alias_id = __builtin__.property(_get_alias_id)

    _pyangbind_elements = OrderedDict([("type", type), ("alias_id", alias_id)])
