# -*- 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__

from . import state
from . import area_address
from . import nlpid
from . import hostname
from . import ipv4_interface_addresses
from . import ipv6_interface_addresses
from . import ipv4_te_router_id
from . import ipv6_te_router_id
from . import instance_id
from . import ipv4_srlg
from . import ipv6_srlg
from . import purge_oi
from . import router_capabilities
from . import is_reachability
from . import ipv4_internal_reachability
from . import ipv4_external_reachability
from . import type_block
from . import authentication
from . import extended_is_reachability
from . import extended_ipv4_reachability
from . import ipv6_reachability
from . import multi_topology
from . import isis_neighbor_attribute
from . import isis_alias_id
from . import mt_isn
from . import mt_isis_neighbor_attribute
from . import mt_ipv4_reachability
from . import mt_ipv6_reachability


class tlv(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. Each member element of
  the container is represented as a class variable - with a specific
  YANG type.

  YANG Description: List of TLV types in the LSDB for the specified LSP.
  """
    __slots__ = (
        "_path_helper",
        "_extmethods",
        "__type",
        "__state",
        "__area_address",
        "__nlpid",
        "__hostname",
        "__ipv4_interface_addresses",
        "__ipv6_interface_addresses",
        "__ipv4_te_router_id",
        "__ipv6_te_router_id",
        "__instance_id",
        "__ipv4_srlg",
        "__ipv6_srlg",
        "__purge_oi",
        "__router_capabilities",
        "__is_reachability",
        "__ipv4_internal_reachability",
        "__ipv4_external_reachability",
        "__type_block",
        "__authentication",
        "__extended_is_reachability",
        "__extended_ipv4_reachability",
        "__ipv6_reachability",
        "__multi_topology",
        "__isis_neighbor_attribute",
        "__isis_alias_id",
        "__mt_isn",
        "__mt_isis_neighbor_attribute",
        "__mt_ipv4_reachability",
        "__mt_ipv6_reachability",
    )

    _yang_name = "tlv"

    _pybind_generated_by = "container"

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

        self._path_helper = False

        self._extmethods = False
        self.__type = YANGDynClass(
            base=six.text_type,
            is_leaf=True,
            yang_name="type",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            is_keyval=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="leafref",
            is_config=False,
        )
        self.__state = YANGDynClass(
            base=state.state,
            is_container="container",
            yang_name="state",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__area_address = YANGDynClass(
            base=area_address.area_address,
            is_container="container",
            yang_name="area-address",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__nlpid = YANGDynClass(
            base=nlpid.nlpid,
            is_container="container",
            yang_name="nlpid",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__hostname = YANGDynClass(
            base=hostname.hostname,
            is_container="container",
            yang_name="hostname",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__ipv4_interface_addresses = YANGDynClass(
            base=ipv4_interface_addresses.ipv4_interface_addresses,
            is_container="container",
            yang_name="ipv4-interface-addresses",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__ipv6_interface_addresses = YANGDynClass(
            base=ipv6_interface_addresses.ipv6_interface_addresses,
            is_container="container",
            yang_name="ipv6-interface-addresses",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__ipv4_te_router_id = YANGDynClass(
            base=ipv4_te_router_id.ipv4_te_router_id,
            is_container="container",
            yang_name="ipv4-te-router-id",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__ipv6_te_router_id = YANGDynClass(
            base=ipv6_te_router_id.ipv6_te_router_id,
            is_container="container",
            yang_name="ipv6-te-router-id",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__instance_id = YANGDynClass(
            base=instance_id.instance_id,
            is_container="container",
            yang_name="instance-id",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__ipv4_srlg = YANGDynClass(
            base=ipv4_srlg.ipv4_srlg,
            is_container="container",
            yang_name="ipv4-srlg",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__ipv6_srlg = YANGDynClass(
            base=ipv6_srlg.ipv6_srlg,
            is_container="container",
            yang_name="ipv6-srlg",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__purge_oi = YANGDynClass(
            base=purge_oi.purge_oi,
            is_container="container",
            yang_name="purge-oi",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__router_capabilities = YANGDynClass(
            base=router_capabilities.router_capabilities,
            is_container="container",
            yang_name="router-capabilities",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__is_reachability = YANGDynClass(
            base=is_reachability.is_reachability,
            is_container="container",
            yang_name="is-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__ipv4_internal_reachability = YANGDynClass(
            base=ipv4_internal_reachability.ipv4_internal_reachability,
            is_container="container",
            yang_name="ipv4-internal-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__ipv4_external_reachability = YANGDynClass(
            base=ipv4_external_reachability.ipv4_external_reachability,
            is_container="container",
            yang_name="ipv4-external-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__type_block = YANGDynClass(
            base=type_block.type_block,
            is_container="container",
            yang_name="type-block",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__authentication = YANGDynClass(
            base=authentication.authentication,
            is_container="container",
            yang_name="authentication",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__extended_is_reachability = YANGDynClass(
            base=extended_is_reachability.extended_is_reachability,
            is_container="container",
            yang_name="extended-is-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__extended_ipv4_reachability = YANGDynClass(
            base=extended_ipv4_reachability.extended_ipv4_reachability,
            is_container="container",
            yang_name="extended-ipv4-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__ipv6_reachability = YANGDynClass(
            base=ipv6_reachability.ipv6_reachability,
            is_container="container",
            yang_name="ipv6-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__multi_topology = YANGDynClass(
            base=multi_topology.multi_topology,
            is_container="container",
            yang_name="multi-topology",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__isis_neighbor_attribute = YANGDynClass(
            base=isis_neighbor_attribute.isis_neighbor_attribute,
            is_container="container",
            yang_name="isis-neighbor-attribute",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__isis_alias_id = YANGDynClass(
            base=isis_alias_id.isis_alias_id,
            is_container="container",
            yang_name="isis-alias-id",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__mt_isn = YANGDynClass(
            base=mt_isn.mt_isn,
            is_container="container",
            yang_name="mt-isn",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__mt_isis_neighbor_attribute = YANGDynClass(
            base=mt_isis_neighbor_attribute.mt_isis_neighbor_attribute,
            is_container="container",
            yang_name="mt-isis-neighbor-attribute",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__mt_ipv4_reachability = YANGDynClass(
            base=mt_ipv4_reachability.mt_ipv4_reachability,
            is_container="container",
            yang_name="mt-ipv4-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__mt_ipv6_reachability = YANGDynClass(
            base=mt_ipv6_reachability.mt_ipv6_reachability,
            is_container="container",
            yang_name="mt-ipv6-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            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",
            ]

    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/type (leafref)

    YANG Description: A reference for the TLV type being described within
the LSDB.
    """
        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/type (leafref)
    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: A reference for the TLV type being described within
the LSDB.
    """
        parent = getattr(self, "_parent", None)
        if parent is not None and load is False:
            raise AttributeError(
                "Cannot set keys directly when" + " within an instantiated list"
            )

        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=six.text_type,
                is_leaf=True,
                yang_name="type",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                is_keyval=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="leafref",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """type must be of a type compatible with leafref""",
                    "defined-type": "leafref",
                    "generated-type": """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='leafref', is_config=False)""",
                }
            )

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

    def _unset_type(self):
        self.__type = YANGDynClass(
            base=six.text_type,
            is_leaf=True,
            yang_name="type",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            is_keyval=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="leafref",
            is_config=False,
        )

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

    YANG Description: This container defines TLV State.
    """
        return self.__state

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

    YANG Description: This container defines TLV State.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=state.state,
                is_container="container",
                yang_name="state",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """state must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_state(self):
        self.__state = YANGDynClass(
            base=state.state,
            is_container="container",
            yang_name="state",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_area_address(self):
        """
    Getter method for area_address, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/area_address (container)

    YANG Description: This container defines TLV 1.
    """
        return self.__area_address

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

    YANG Description: This container defines TLV 1.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=area_address.area_address,
                is_container="container",
                yang_name="area-address",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """area_address must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=area_address.area_address, is_container='container', yang_name="area-address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_area_address(self):
        self.__area_address = YANGDynClass(
            base=area_address.area_address,
            is_container="container",
            yang_name="area-address",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_nlpid(self):
        """
    Getter method for nlpid, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/nlpid (container)

    YANG Description: This container defines TLV 129.
    """
        return self.__nlpid

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

    YANG Description: This container defines TLV 129.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=nlpid.nlpid,
                is_container="container",
                yang_name="nlpid",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """nlpid must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=nlpid.nlpid, is_container='container', yang_name="nlpid", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_nlpid(self):
        self.__nlpid = YANGDynClass(
            base=nlpid.nlpid,
            is_container="container",
            yang_name="nlpid",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_hostname(self):
        """
    Getter method for hostname, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/hostname (container)

    YANG Description: This container defines TLV 137.
    """
        return self.__hostname

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

    YANG Description: This container defines TLV 137.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=hostname.hostname,
                is_container="container",
                yang_name="hostname",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """hostname must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=hostname.hostname, is_container='container', yang_name="hostname", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_hostname(self):
        self.__hostname = YANGDynClass(
            base=hostname.hostname,
            is_container="container",
            yang_name="hostname",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_ipv4_interface_addresses(self):
        """
    Getter method for ipv4_interface_addresses, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/ipv4_interface_addresses (container)

    YANG Description: This container defines TLV 132.
    """
        return self.__ipv4_interface_addresses

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

    YANG Description: This container defines TLV 132.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=ipv4_interface_addresses.ipv4_interface_addresses,
                is_container="container",
                yang_name="ipv4-interface-addresses",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """ipv4_interface_addresses must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=ipv4_interface_addresses.ipv4_interface_addresses, is_container='container', yang_name="ipv4-interface-addresses", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_ipv4_interface_addresses(self):
        self.__ipv4_interface_addresses = YANGDynClass(
            base=ipv4_interface_addresses.ipv4_interface_addresses,
            is_container="container",
            yang_name="ipv4-interface-addresses",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_ipv6_interface_addresses(self):
        """
    Getter method for ipv6_interface_addresses, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/ipv6_interface_addresses (container)

    YANG Description: This container defines TLV 232.
    """
        return self.__ipv6_interface_addresses

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

    YANG Description: This container defines TLV 232.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=ipv6_interface_addresses.ipv6_interface_addresses,
                is_container="container",
                yang_name="ipv6-interface-addresses",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """ipv6_interface_addresses must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=ipv6_interface_addresses.ipv6_interface_addresses, is_container='container', yang_name="ipv6-interface-addresses", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_ipv6_interface_addresses(self):
        self.__ipv6_interface_addresses = YANGDynClass(
            base=ipv6_interface_addresses.ipv6_interface_addresses,
            is_container="container",
            yang_name="ipv6-interface-addresses",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_ipv4_te_router_id(self):
        """
    Getter method for ipv4_te_router_id, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/ipv4_te_router_id (container)

    YANG Description: This container defines TLV 134.
    """
        return self.__ipv4_te_router_id

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

    YANG Description: This container defines TLV 134.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=ipv4_te_router_id.ipv4_te_router_id,
                is_container="container",
                yang_name="ipv4-te-router-id",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """ipv4_te_router_id must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=ipv4_te_router_id.ipv4_te_router_id, is_container='container', yang_name="ipv4-te-router-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_ipv4_te_router_id(self):
        self.__ipv4_te_router_id = YANGDynClass(
            base=ipv4_te_router_id.ipv4_te_router_id,
            is_container="container",
            yang_name="ipv4-te-router-id",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_ipv6_te_router_id(self):
        """
    Getter method for ipv6_te_router_id, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/ipv6_te_router_id (container)

    YANG Description: This container defines TLV 140.
    """
        return self.__ipv6_te_router_id

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

    YANG Description: This container defines TLV 140.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=ipv6_te_router_id.ipv6_te_router_id,
                is_container="container",
                yang_name="ipv6-te-router-id",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """ipv6_te_router_id must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=ipv6_te_router_id.ipv6_te_router_id, is_container='container', yang_name="ipv6-te-router-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_ipv6_te_router_id(self):
        self.__ipv6_te_router_id = YANGDynClass(
            base=ipv6_te_router_id.ipv6_te_router_id,
            is_container="container",
            yang_name="ipv6-te-router-id",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_instance_id(self):
        """
    Getter method for instance_id, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/instance_id (container)

    YANG Description: This container defines ISIS Instance Identifier TLV.
    """
        return self.__instance_id

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

    YANG Description: This container defines ISIS Instance Identifier TLV.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=instance_id.instance_id,
                is_container="container",
                yang_name="instance-id",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """instance_id must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=instance_id.instance_id, is_container='container', yang_name="instance-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_instance_id(self):
        self.__instance_id = YANGDynClass(
            base=instance_id.instance_id,
            is_container="container",
            yang_name="instance-id",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_ipv4_srlg(self):
        """
    Getter method for ipv4_srlg, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/ipv4_srlg (container)

    YANG Description: This container defines ISIS SRLG TLV 138.
    """
        return self.__ipv4_srlg

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

    YANG Description: This container defines ISIS SRLG TLV 138.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=ipv4_srlg.ipv4_srlg,
                is_container="container",
                yang_name="ipv4-srlg",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """ipv4_srlg must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=ipv4_srlg.ipv4_srlg, is_container='container', yang_name="ipv4-srlg", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_ipv4_srlg(self):
        self.__ipv4_srlg = YANGDynClass(
            base=ipv4_srlg.ipv4_srlg,
            is_container="container",
            yang_name="ipv4-srlg",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_ipv6_srlg(self):
        """
    Getter method for ipv6_srlg, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/ipv6_srlg (container)

    YANG Description: This container defines ISIS SRLG TLV.
    """
        return self.__ipv6_srlg

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

    YANG Description: This container defines ISIS SRLG TLV.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=ipv6_srlg.ipv6_srlg,
                is_container="container",
                yang_name="ipv6-srlg",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """ipv6_srlg must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=ipv6_srlg.ipv6_srlg, is_container='container', yang_name="ipv6-srlg", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_ipv6_srlg(self):
        self.__ipv6_srlg = YANGDynClass(
            base=ipv6_srlg.ipv6_srlg,
            is_container="container",
            yang_name="ipv6-srlg",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_purge_oi(self):
        """
    Getter method for purge_oi, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/purge_oi (container)

    YANG Description: This container defines ISIS purge TLV.
    """
        return self.__purge_oi

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

    YANG Description: This container defines ISIS purge TLV.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=purge_oi.purge_oi,
                is_container="container",
                yang_name="purge-oi",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """purge_oi must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=purge_oi.purge_oi, is_container='container', yang_name="purge-oi", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_purge_oi(self):
        self.__purge_oi = YANGDynClass(
            base=purge_oi.purge_oi,
            is_container="container",
            yang_name="purge-oi",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_router_capabilities(self):
        """
    Getter method for router_capabilities, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/router_capabilities (container)

    YANG Description: This container defines router capabilities.
    """
        return self.__router_capabilities

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

    YANG Description: This container defines router capabilities.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=router_capabilities.router_capabilities,
                is_container="container",
                yang_name="router-capabilities",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """router_capabilities must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=router_capabilities.router_capabilities, is_container='container', yang_name="router-capabilities", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_router_capabilities(self):
        self.__router_capabilities = YANGDynClass(
            base=router_capabilities.router_capabilities,
            is_container="container",
            yang_name="router-capabilities",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_is_reachability(self):
        """
    Getter method for is_reachability, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/is_reachability (container)

    YANG Description: This container describes list of ISIS neighbors and attributes.
    """
        return self.__is_reachability

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

    YANG Description: This container describes list of ISIS neighbors and attributes.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=is_reachability.is_reachability,
                is_container="container",
                yang_name="is-reachability",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """is_reachability must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=is_reachability.is_reachability, is_container='container', yang_name="is-reachability", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_is_reachability(self):
        self.__is_reachability = YANGDynClass(
            base=is_reachability.is_reachability,
            is_container="container",
            yang_name="is-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_ipv4_internal_reachability(self):
        """
    Getter method for ipv4_internal_reachability, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/ipv4_internal_reachability (container)

    YANG Description: This container defines list of IPv4 internal reachability
information.
    """
        return self.__ipv4_internal_reachability

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

    YANG Description: This container defines list of IPv4 internal reachability
information.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=ipv4_internal_reachability.ipv4_internal_reachability,
                is_container="container",
                yang_name="ipv4-internal-reachability",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """ipv4_internal_reachability must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=ipv4_internal_reachability.ipv4_internal_reachability, is_container='container', yang_name="ipv4-internal-reachability", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_ipv4_internal_reachability(self):
        self.__ipv4_internal_reachability = YANGDynClass(
            base=ipv4_internal_reachability.ipv4_internal_reachability,
            is_container="container",
            yang_name="ipv4-internal-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_ipv4_external_reachability(self):
        """
    Getter method for ipv4_external_reachability, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/ipv4_external_reachability (container)

    YANG Description: This container defines list of IPv4 external reachability
information.
    """
        return self.__ipv4_external_reachability

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

    YANG Description: This container defines list of IPv4 external reachability
information.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=ipv4_external_reachability.ipv4_external_reachability,
                is_container="container",
                yang_name="ipv4-external-reachability",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """ipv4_external_reachability must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=ipv4_external_reachability.ipv4_external_reachability, is_container='container', yang_name="ipv4-external-reachability", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_ipv4_external_reachability(self):
        self.__ipv4_external_reachability = YANGDynClass(
            base=ipv4_external_reachability.ipv4_external_reachability,
            is_container="container",
            yang_name="ipv4-external-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_type_block(self):
        """
    Getter method for type_block, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/type_block (container)

    YANG Description: This container defines LSP Type Block. 
    """
        return self.__type_block

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

    YANG Description: This container defines LSP Type Block. 
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=type_block.type_block,
                is_container="container",
                yang_name="type-block",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """type_block must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=type_block.type_block, is_container='container', yang_name="type-block", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_type_block(self):
        self.__type_block = YANGDynClass(
            base=type_block.type_block,
            is_container="container",
            yang_name="type-block",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_authentication(self):
        """
    Getter method for authentication, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/authentication (container)

    YANG Description: This container defines authentication information of the
node.
    """
        return self.__authentication

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

    YANG Description: This container defines authentication information of the
node.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=authentication.authentication,
                is_container="container",
                yang_name="authentication",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """authentication must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=authentication.authentication, is_container='container', yang_name="authentication", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_authentication(self):
        self.__authentication = YANGDynClass(
            base=authentication.authentication,
            is_container="container",
            yang_name="authentication",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_extended_is_reachability(self):
        """
    Getter method for extended_is_reachability, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/extended_is_reachability (container)

    YANG Description: This container defines list of ISIS extended reachability
neighbors.
    """
        return self.__extended_is_reachability

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

    YANG Description: This container defines list of ISIS extended reachability
neighbors.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=extended_is_reachability.extended_is_reachability,
                is_container="container",
                yang_name="extended-is-reachability",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """extended_is_reachability must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=extended_is_reachability.extended_is_reachability, is_container='container', yang_name="extended-is-reachability", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_extended_is_reachability(self):
        self.__extended_is_reachability = YANGDynClass(
            base=extended_is_reachability.extended_is_reachability,
            is_container="container",
            yang_name="extended-is-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_extended_ipv4_reachability(self):
        """
    Getter method for extended_ipv4_reachability, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/extended_ipv4_reachability (container)

    YANG Description: This container defines list of IPv4 extended reachability
information.
    """
        return self.__extended_ipv4_reachability

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

    YANG Description: This container defines list of IPv4 extended reachability
information.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=extended_ipv4_reachability.extended_ipv4_reachability,
                is_container="container",
                yang_name="extended-ipv4-reachability",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """extended_ipv4_reachability must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=extended_ipv4_reachability.extended_ipv4_reachability, is_container='container', yang_name="extended-ipv4-reachability", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_extended_ipv4_reachability(self):
        self.__extended_ipv4_reachability = YANGDynClass(
            base=extended_ipv4_reachability.extended_ipv4_reachability,
            is_container="container",
            yang_name="extended-ipv4-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_ipv6_reachability(self):
        """
    Getter method for ipv6_reachability, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/ipv6_reachability (container)

    YANG Description: This container defines list of IPv6 reachability
information.
    """
        return self.__ipv6_reachability

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

    YANG Description: This container defines list of IPv6 reachability
information.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=ipv6_reachability.ipv6_reachability,
                is_container="container",
                yang_name="ipv6-reachability",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """ipv6_reachability must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=ipv6_reachability.ipv6_reachability, is_container='container', yang_name="ipv6-reachability", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_ipv6_reachability(self):
        self.__ipv6_reachability = YANGDynClass(
            base=ipv6_reachability.ipv6_reachability,
            is_container="container",
            yang_name="ipv6-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_multi_topology(self):
        """
    Getter method for multi_topology, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/multi_topology (container)

    YANG Description: This container defines the topology supported.
    """
        return self.__multi_topology

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

    YANG Description: This container defines the topology supported.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=multi_topology.multi_topology,
                is_container="container",
                yang_name="multi-topology",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """multi_topology must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=multi_topology.multi_topology, is_container='container', yang_name="multi-topology", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_multi_topology(self):
        self.__multi_topology = YANGDynClass(
            base=multi_topology.multi_topology,
            is_container="container",
            yang_name="multi-topology",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_isis_neighbor_attribute(self):
        """
    Getter method for isis_neighbor_attribute, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/isis_neighbor_attribute (container)

    YANG Description: This container defines list of ISIS topology neighbors
for extended ISIS LSP(multiple system IDs). 
    """
        return self.__isis_neighbor_attribute

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

    YANG Description: This container defines list of ISIS topology neighbors
for extended ISIS LSP(multiple system IDs). 
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=isis_neighbor_attribute.isis_neighbor_attribute,
                is_container="container",
                yang_name="isis-neighbor-attribute",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """isis_neighbor_attribute must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=isis_neighbor_attribute.isis_neighbor_attribute, is_container='container', yang_name="isis-neighbor-attribute", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_isis_neighbor_attribute(self):
        self.__isis_neighbor_attribute = YANGDynClass(
            base=isis_neighbor_attribute.isis_neighbor_attribute,
            is_container="container",
            yang_name="isis-neighbor-attribute",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

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

    YANG Description: This container defines the IS-Alias TLV which allows
extension-capable ISs to recognize the Originating System of an
Extended LSP set. It identifies the Normal system-id of the
Originating System.
    """
        return self.__isis_alias_id

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

    YANG Description: This container defines the IS-Alias TLV which allows
extension-capable ISs to recognize the Originating System of an
Extended LSP set. It identifies the Normal system-id of the
Originating System.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=isis_alias_id.isis_alias_id,
                is_container="container",
                yang_name="isis-alias-id",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """isis_alias_id must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=isis_alias_id.isis_alias_id, is_container='container', yang_name="isis-alias-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_isis_alias_id(self):
        self.__isis_alias_id = YANGDynClass(
            base=isis_alias_id.isis_alias_id,
            is_container="container",
            yang_name="isis-alias-id",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_mt_isn(self):
        """
    Getter method for mt_isn, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/mt_isn (container)

    YANG Description: This container defines list of ISIS multi-topology
neighbors.
    """
        return self.__mt_isn

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

    YANG Description: This container defines list of ISIS multi-topology
neighbors.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=mt_isn.mt_isn,
                is_container="container",
                yang_name="mt-isn",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """mt_isn must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=mt_isn.mt_isn, is_container='container', yang_name="mt-isn", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_mt_isn(self):
        self.__mt_isn = YANGDynClass(
            base=mt_isn.mt_isn,
            is_container="container",
            yang_name="mt-isn",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_mt_isis_neighbor_attribute(self):
        """
    Getter method for mt_isis_neighbor_attribute, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/mt_isis_neighbor_attribute (container)

    YANG Description: This container defines list of ISIS multi-topology
neighbors.
    """
        return self.__mt_isis_neighbor_attribute

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

    YANG Description: This container defines list of ISIS multi-topology
neighbors.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=mt_isis_neighbor_attribute.mt_isis_neighbor_attribute,
                is_container="container",
                yang_name="mt-isis-neighbor-attribute",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """mt_isis_neighbor_attribute must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=mt_isis_neighbor_attribute.mt_isis_neighbor_attribute, is_container='container', yang_name="mt-isis-neighbor-attribute", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_mt_isis_neighbor_attribute(self):
        self.__mt_isis_neighbor_attribute = YANGDynClass(
            base=mt_isis_neighbor_attribute.mt_isis_neighbor_attribute,
            is_container="container",
            yang_name="mt-isis-neighbor-attribute",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_mt_ipv4_reachability(self):
        """
    Getter method for mt_ipv4_reachability, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/mt_ipv4_reachability (container)

    YANG Description: This container defines list of IPv4 reachability Information
in multi-topology environment.
    """
        return self.__mt_ipv4_reachability

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

    YANG Description: This container defines list of IPv4 reachability Information
in multi-topology environment.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=mt_ipv4_reachability.mt_ipv4_reachability,
                is_container="container",
                yang_name="mt-ipv4-reachability",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """mt_ipv4_reachability must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=mt_ipv4_reachability.mt_ipv4_reachability, is_container='container', yang_name="mt-ipv4-reachability", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_mt_ipv4_reachability(self):
        self.__mt_ipv4_reachability = YANGDynClass(
            base=mt_ipv4_reachability.mt_ipv4_reachability,
            is_container="container",
            yang_name="mt-ipv4-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_mt_ipv6_reachability(self):
        """
    Getter method for mt_ipv6_reachability, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/mt_ipv6_reachability (container)

    YANG Description: This container defines list of IPv6 reachability information
in multi - topology environment.
    """
        return self.__mt_ipv6_reachability

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

    YANG Description: This container defines list of IPv6 reachability information
in multi - topology environment.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=mt_ipv6_reachability.mt_ipv6_reachability,
                is_container="container",
                yang_name="mt-ipv6-reachability",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """mt_ipv6_reachability must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=mt_ipv6_reachability.mt_ipv6_reachability, is_container='container', yang_name="mt-ipv6-reachability", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_mt_ipv6_reachability(self):
        self.__mt_ipv6_reachability = YANGDynClass(
            base=mt_ipv6_reachability.mt_ipv6_reachability,
            is_container="container",
            yang_name="mt-ipv6-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    type = __builtin__.property(_get_type)
    state = __builtin__.property(_get_state)
    area_address = __builtin__.property(_get_area_address)
    nlpid = __builtin__.property(_get_nlpid)
    hostname = __builtin__.property(_get_hostname)
    ipv4_interface_addresses = __builtin__.property(_get_ipv4_interface_addresses)
    ipv6_interface_addresses = __builtin__.property(_get_ipv6_interface_addresses)
    ipv4_te_router_id = __builtin__.property(_get_ipv4_te_router_id)
    ipv6_te_router_id = __builtin__.property(_get_ipv6_te_router_id)
    instance_id = __builtin__.property(_get_instance_id)
    ipv4_srlg = __builtin__.property(_get_ipv4_srlg)
    ipv6_srlg = __builtin__.property(_get_ipv6_srlg)
    purge_oi = __builtin__.property(_get_purge_oi)
    router_capabilities = __builtin__.property(_get_router_capabilities)
    is_reachability = __builtin__.property(_get_is_reachability)
    ipv4_internal_reachability = __builtin__.property(_get_ipv4_internal_reachability)
    ipv4_external_reachability = __builtin__.property(_get_ipv4_external_reachability)
    type_block = __builtin__.property(_get_type_block)
    authentication = __builtin__.property(_get_authentication)
    extended_is_reachability = __builtin__.property(_get_extended_is_reachability)
    extended_ipv4_reachability = __builtin__.property(_get_extended_ipv4_reachability)
    ipv6_reachability = __builtin__.property(_get_ipv6_reachability)
    multi_topology = __builtin__.property(_get_multi_topology)
    isis_neighbor_attribute = __builtin__.property(_get_isis_neighbor_attribute)
    isis_alias_id = __builtin__.property(_get_isis_alias_id)
    mt_isn = __builtin__.property(_get_mt_isn)
    mt_isis_neighbor_attribute = __builtin__.property(_get_mt_isis_neighbor_attribute)
    mt_ipv4_reachability = __builtin__.property(_get_mt_ipv4_reachability)
    mt_ipv6_reachability = __builtin__.property(_get_mt_ipv6_reachability)

    _pyangbind_elements = OrderedDict(
        [
            ("type", type),
            ("state", state),
            ("area_address", area_address),
            ("nlpid", nlpid),
            ("hostname", hostname),
            ("ipv4_interface_addresses", ipv4_interface_addresses),
            ("ipv6_interface_addresses", ipv6_interface_addresses),
            ("ipv4_te_router_id", ipv4_te_router_id),
            ("ipv6_te_router_id", ipv6_te_router_id),
            ("instance_id", instance_id),
            ("ipv4_srlg", ipv4_srlg),
            ("ipv6_srlg", ipv6_srlg),
            ("purge_oi", purge_oi),
            ("router_capabilities", router_capabilities),
            ("is_reachability", is_reachability),
            ("ipv4_internal_reachability", ipv4_internal_reachability),
            ("ipv4_external_reachability", ipv4_external_reachability),
            ("type_block", type_block),
            ("authentication", authentication),
            ("extended_is_reachability", extended_is_reachability),
            ("extended_ipv4_reachability", extended_ipv4_reachability),
            ("ipv6_reachability", ipv6_reachability),
            ("multi_topology", multi_topology),
            ("isis_neighbor_attribute", isis_neighbor_attribute),
            ("isis_alias_id", isis_alias_id),
            ("mt_isn", mt_isn),
            ("mt_isis_neighbor_attribute", mt_isis_neighbor_attribute),
            ("mt_ipv4_reachability", mt_ipv4_reachability),
            ("mt_ipv6_reachability", mt_ipv6_reachability),
        ]
    )


from . import state
from . import area_address
from . import nlpid
from . import hostname
from . import ipv4_interface_addresses
from . import ipv6_interface_addresses
from . import ipv4_te_router_id
from . import ipv6_te_router_id
from . import instance_id
from . import ipv4_srlg
from . import ipv6_srlg
from . import purge_oi
from . import router_capabilities
from . import is_reachability
from . import ipv4_internal_reachability
from . import ipv4_external_reachability
from . import type_block
from . import authentication
from . import extended_is_reachability
from . import extended_ipv4_reachability
from . import ipv6_reachability
from . import multi_topology
from . import isis_neighbor_attribute
from . import isis_alias_id
from . import mt_isn
from . import mt_isis_neighbor_attribute
from . import mt_ipv4_reachability
from . import mt_ipv6_reachability


class tlv(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. Each member element of
  the container is represented as a class variable - with a specific
  YANG type.

  YANG Description: List of TLV types in the LSDB for the specified LSP.
  """
    __slots__ = (
        "_path_helper",
        "_extmethods",
        "__type",
        "__state",
        "__area_address",
        "__nlpid",
        "__hostname",
        "__ipv4_interface_addresses",
        "__ipv6_interface_addresses",
        "__ipv4_te_router_id",
        "__ipv6_te_router_id",
        "__instance_id",
        "__ipv4_srlg",
        "__ipv6_srlg",
        "__purge_oi",
        "__router_capabilities",
        "__is_reachability",
        "__ipv4_internal_reachability",
        "__ipv4_external_reachability",
        "__type_block",
        "__authentication",
        "__extended_is_reachability",
        "__extended_ipv4_reachability",
        "__ipv6_reachability",
        "__multi_topology",
        "__isis_neighbor_attribute",
        "__isis_alias_id",
        "__mt_isn",
        "__mt_isis_neighbor_attribute",
        "__mt_ipv4_reachability",
        "__mt_ipv6_reachability",
    )

    _yang_name = "tlv"

    _pybind_generated_by = "container"

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

        self._path_helper = False

        self._extmethods = False
        self.__type = YANGDynClass(
            base=six.text_type,
            is_leaf=True,
            yang_name="type",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            is_keyval=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="leafref",
            is_config=False,
        )
        self.__state = YANGDynClass(
            base=state.state,
            is_container="container",
            yang_name="state",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__area_address = YANGDynClass(
            base=area_address.area_address,
            is_container="container",
            yang_name="area-address",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__nlpid = YANGDynClass(
            base=nlpid.nlpid,
            is_container="container",
            yang_name="nlpid",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__hostname = YANGDynClass(
            base=hostname.hostname,
            is_container="container",
            yang_name="hostname",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__ipv4_interface_addresses = YANGDynClass(
            base=ipv4_interface_addresses.ipv4_interface_addresses,
            is_container="container",
            yang_name="ipv4-interface-addresses",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__ipv6_interface_addresses = YANGDynClass(
            base=ipv6_interface_addresses.ipv6_interface_addresses,
            is_container="container",
            yang_name="ipv6-interface-addresses",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__ipv4_te_router_id = YANGDynClass(
            base=ipv4_te_router_id.ipv4_te_router_id,
            is_container="container",
            yang_name="ipv4-te-router-id",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__ipv6_te_router_id = YANGDynClass(
            base=ipv6_te_router_id.ipv6_te_router_id,
            is_container="container",
            yang_name="ipv6-te-router-id",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__instance_id = YANGDynClass(
            base=instance_id.instance_id,
            is_container="container",
            yang_name="instance-id",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__ipv4_srlg = YANGDynClass(
            base=ipv4_srlg.ipv4_srlg,
            is_container="container",
            yang_name="ipv4-srlg",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__ipv6_srlg = YANGDynClass(
            base=ipv6_srlg.ipv6_srlg,
            is_container="container",
            yang_name="ipv6-srlg",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__purge_oi = YANGDynClass(
            base=purge_oi.purge_oi,
            is_container="container",
            yang_name="purge-oi",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__router_capabilities = YANGDynClass(
            base=router_capabilities.router_capabilities,
            is_container="container",
            yang_name="router-capabilities",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__is_reachability = YANGDynClass(
            base=is_reachability.is_reachability,
            is_container="container",
            yang_name="is-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__ipv4_internal_reachability = YANGDynClass(
            base=ipv4_internal_reachability.ipv4_internal_reachability,
            is_container="container",
            yang_name="ipv4-internal-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__ipv4_external_reachability = YANGDynClass(
            base=ipv4_external_reachability.ipv4_external_reachability,
            is_container="container",
            yang_name="ipv4-external-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__type_block = YANGDynClass(
            base=type_block.type_block,
            is_container="container",
            yang_name="type-block",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__authentication = YANGDynClass(
            base=authentication.authentication,
            is_container="container",
            yang_name="authentication",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__extended_is_reachability = YANGDynClass(
            base=extended_is_reachability.extended_is_reachability,
            is_container="container",
            yang_name="extended-is-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__extended_ipv4_reachability = YANGDynClass(
            base=extended_ipv4_reachability.extended_ipv4_reachability,
            is_container="container",
            yang_name="extended-ipv4-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__ipv6_reachability = YANGDynClass(
            base=ipv6_reachability.ipv6_reachability,
            is_container="container",
            yang_name="ipv6-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__multi_topology = YANGDynClass(
            base=multi_topology.multi_topology,
            is_container="container",
            yang_name="multi-topology",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__isis_neighbor_attribute = YANGDynClass(
            base=isis_neighbor_attribute.isis_neighbor_attribute,
            is_container="container",
            yang_name="isis-neighbor-attribute",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__isis_alias_id = YANGDynClass(
            base=isis_alias_id.isis_alias_id,
            is_container="container",
            yang_name="isis-alias-id",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__mt_isn = YANGDynClass(
            base=mt_isn.mt_isn,
            is_container="container",
            yang_name="mt-isn",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__mt_isis_neighbor_attribute = YANGDynClass(
            base=mt_isis_neighbor_attribute.mt_isis_neighbor_attribute,
            is_container="container",
            yang_name="mt-isis-neighbor-attribute",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__mt_ipv4_reachability = YANGDynClass(
            base=mt_ipv4_reachability.mt_ipv4_reachability,
            is_container="container",
            yang_name="mt-ipv4-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )
        self.__mt_ipv6_reachability = YANGDynClass(
            base=mt_ipv6_reachability.mt_ipv6_reachability,
            is_container="container",
            yang_name="mt-ipv6-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            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",
            ]

    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/type (leafref)

    YANG Description: A reference for the TLV type being described within
the LSDB.
    """
        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/type (leafref)
    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: A reference for the TLV type being described within
the LSDB.
    """
        parent = getattr(self, "_parent", None)
        if parent is not None and load is False:
            raise AttributeError(
                "Cannot set keys directly when" + " within an instantiated list"
            )

        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=six.text_type,
                is_leaf=True,
                yang_name="type",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                is_keyval=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="leafref",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """type must be of a type compatible with leafref""",
                    "defined-type": "leafref",
                    "generated-type": """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='leafref', is_config=False)""",
                }
            )

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

    def _unset_type(self):
        self.__type = YANGDynClass(
            base=six.text_type,
            is_leaf=True,
            yang_name="type",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            is_keyval=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="leafref",
            is_config=False,
        )

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

    YANG Description: This container defines TLV State.
    """
        return self.__state

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

    YANG Description: This container defines TLV State.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=state.state,
                is_container="container",
                yang_name="state",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """state must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_state(self):
        self.__state = YANGDynClass(
            base=state.state,
            is_container="container",
            yang_name="state",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_area_address(self):
        """
    Getter method for area_address, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/area_address (container)

    YANG Description: This container defines TLV 1.
    """
        return self.__area_address

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

    YANG Description: This container defines TLV 1.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=area_address.area_address,
                is_container="container",
                yang_name="area-address",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """area_address must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=area_address.area_address, is_container='container', yang_name="area-address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_area_address(self):
        self.__area_address = YANGDynClass(
            base=area_address.area_address,
            is_container="container",
            yang_name="area-address",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_nlpid(self):
        """
    Getter method for nlpid, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/nlpid (container)

    YANG Description: This container defines TLV 129.
    """
        return self.__nlpid

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

    YANG Description: This container defines TLV 129.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=nlpid.nlpid,
                is_container="container",
                yang_name="nlpid",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """nlpid must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=nlpid.nlpid, is_container='container', yang_name="nlpid", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_nlpid(self):
        self.__nlpid = YANGDynClass(
            base=nlpid.nlpid,
            is_container="container",
            yang_name="nlpid",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_hostname(self):
        """
    Getter method for hostname, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/hostname (container)

    YANG Description: This container defines TLV 137.
    """
        return self.__hostname

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

    YANG Description: This container defines TLV 137.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=hostname.hostname,
                is_container="container",
                yang_name="hostname",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """hostname must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=hostname.hostname, is_container='container', yang_name="hostname", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_hostname(self):
        self.__hostname = YANGDynClass(
            base=hostname.hostname,
            is_container="container",
            yang_name="hostname",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_ipv4_interface_addresses(self):
        """
    Getter method for ipv4_interface_addresses, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/ipv4_interface_addresses (container)

    YANG Description: This container defines TLV 132.
    """
        return self.__ipv4_interface_addresses

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

    YANG Description: This container defines TLV 132.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=ipv4_interface_addresses.ipv4_interface_addresses,
                is_container="container",
                yang_name="ipv4-interface-addresses",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """ipv4_interface_addresses must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=ipv4_interface_addresses.ipv4_interface_addresses, is_container='container', yang_name="ipv4-interface-addresses", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_ipv4_interface_addresses(self):
        self.__ipv4_interface_addresses = YANGDynClass(
            base=ipv4_interface_addresses.ipv4_interface_addresses,
            is_container="container",
            yang_name="ipv4-interface-addresses",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_ipv6_interface_addresses(self):
        """
    Getter method for ipv6_interface_addresses, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/ipv6_interface_addresses (container)

    YANG Description: This container defines TLV 232.
    """
        return self.__ipv6_interface_addresses

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

    YANG Description: This container defines TLV 232.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=ipv6_interface_addresses.ipv6_interface_addresses,
                is_container="container",
                yang_name="ipv6-interface-addresses",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """ipv6_interface_addresses must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=ipv6_interface_addresses.ipv6_interface_addresses, is_container='container', yang_name="ipv6-interface-addresses", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_ipv6_interface_addresses(self):
        self.__ipv6_interface_addresses = YANGDynClass(
            base=ipv6_interface_addresses.ipv6_interface_addresses,
            is_container="container",
            yang_name="ipv6-interface-addresses",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_ipv4_te_router_id(self):
        """
    Getter method for ipv4_te_router_id, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/ipv4_te_router_id (container)

    YANG Description: This container defines TLV 134.
    """
        return self.__ipv4_te_router_id

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

    YANG Description: This container defines TLV 134.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=ipv4_te_router_id.ipv4_te_router_id,
                is_container="container",
                yang_name="ipv4-te-router-id",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """ipv4_te_router_id must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=ipv4_te_router_id.ipv4_te_router_id, is_container='container', yang_name="ipv4-te-router-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_ipv4_te_router_id(self):
        self.__ipv4_te_router_id = YANGDynClass(
            base=ipv4_te_router_id.ipv4_te_router_id,
            is_container="container",
            yang_name="ipv4-te-router-id",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_ipv6_te_router_id(self):
        """
    Getter method for ipv6_te_router_id, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/ipv6_te_router_id (container)

    YANG Description: This container defines TLV 140.
    """
        return self.__ipv6_te_router_id

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

    YANG Description: This container defines TLV 140.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=ipv6_te_router_id.ipv6_te_router_id,
                is_container="container",
                yang_name="ipv6-te-router-id",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """ipv6_te_router_id must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=ipv6_te_router_id.ipv6_te_router_id, is_container='container', yang_name="ipv6-te-router-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_ipv6_te_router_id(self):
        self.__ipv6_te_router_id = YANGDynClass(
            base=ipv6_te_router_id.ipv6_te_router_id,
            is_container="container",
            yang_name="ipv6-te-router-id",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_instance_id(self):
        """
    Getter method for instance_id, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/instance_id (container)

    YANG Description: This container defines ISIS Instance Identifier TLV.
    """
        return self.__instance_id

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

    YANG Description: This container defines ISIS Instance Identifier TLV.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=instance_id.instance_id,
                is_container="container",
                yang_name="instance-id",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """instance_id must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=instance_id.instance_id, is_container='container', yang_name="instance-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_instance_id(self):
        self.__instance_id = YANGDynClass(
            base=instance_id.instance_id,
            is_container="container",
            yang_name="instance-id",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_ipv4_srlg(self):
        """
    Getter method for ipv4_srlg, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/ipv4_srlg (container)

    YANG Description: This container defines ISIS SRLG TLV 138.
    """
        return self.__ipv4_srlg

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

    YANG Description: This container defines ISIS SRLG TLV 138.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=ipv4_srlg.ipv4_srlg,
                is_container="container",
                yang_name="ipv4-srlg",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """ipv4_srlg must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=ipv4_srlg.ipv4_srlg, is_container='container', yang_name="ipv4-srlg", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_ipv4_srlg(self):
        self.__ipv4_srlg = YANGDynClass(
            base=ipv4_srlg.ipv4_srlg,
            is_container="container",
            yang_name="ipv4-srlg",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_ipv6_srlg(self):
        """
    Getter method for ipv6_srlg, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/ipv6_srlg (container)

    YANG Description: This container defines ISIS SRLG TLV.
    """
        return self.__ipv6_srlg

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

    YANG Description: This container defines ISIS SRLG TLV.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=ipv6_srlg.ipv6_srlg,
                is_container="container",
                yang_name="ipv6-srlg",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """ipv6_srlg must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=ipv6_srlg.ipv6_srlg, is_container='container', yang_name="ipv6-srlg", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_ipv6_srlg(self):
        self.__ipv6_srlg = YANGDynClass(
            base=ipv6_srlg.ipv6_srlg,
            is_container="container",
            yang_name="ipv6-srlg",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_purge_oi(self):
        """
    Getter method for purge_oi, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/purge_oi (container)

    YANG Description: This container defines ISIS purge TLV.
    """
        return self.__purge_oi

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

    YANG Description: This container defines ISIS purge TLV.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=purge_oi.purge_oi,
                is_container="container",
                yang_name="purge-oi",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """purge_oi must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=purge_oi.purge_oi, is_container='container', yang_name="purge-oi", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_purge_oi(self):
        self.__purge_oi = YANGDynClass(
            base=purge_oi.purge_oi,
            is_container="container",
            yang_name="purge-oi",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_router_capabilities(self):
        """
    Getter method for router_capabilities, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/router_capabilities (container)

    YANG Description: This container defines router capabilities.
    """
        return self.__router_capabilities

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

    YANG Description: This container defines router capabilities.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=router_capabilities.router_capabilities,
                is_container="container",
                yang_name="router-capabilities",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """router_capabilities must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=router_capabilities.router_capabilities, is_container='container', yang_name="router-capabilities", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_router_capabilities(self):
        self.__router_capabilities = YANGDynClass(
            base=router_capabilities.router_capabilities,
            is_container="container",
            yang_name="router-capabilities",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_is_reachability(self):
        """
    Getter method for is_reachability, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/is_reachability (container)

    YANG Description: This container describes list of ISIS neighbors and attributes.
    """
        return self.__is_reachability

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

    YANG Description: This container describes list of ISIS neighbors and attributes.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=is_reachability.is_reachability,
                is_container="container",
                yang_name="is-reachability",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """is_reachability must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=is_reachability.is_reachability, is_container='container', yang_name="is-reachability", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_is_reachability(self):
        self.__is_reachability = YANGDynClass(
            base=is_reachability.is_reachability,
            is_container="container",
            yang_name="is-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_ipv4_internal_reachability(self):
        """
    Getter method for ipv4_internal_reachability, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/ipv4_internal_reachability (container)

    YANG Description: This container defines list of IPv4 internal reachability
information.
    """
        return self.__ipv4_internal_reachability

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

    YANG Description: This container defines list of IPv4 internal reachability
information.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=ipv4_internal_reachability.ipv4_internal_reachability,
                is_container="container",
                yang_name="ipv4-internal-reachability",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """ipv4_internal_reachability must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=ipv4_internal_reachability.ipv4_internal_reachability, is_container='container', yang_name="ipv4-internal-reachability", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_ipv4_internal_reachability(self):
        self.__ipv4_internal_reachability = YANGDynClass(
            base=ipv4_internal_reachability.ipv4_internal_reachability,
            is_container="container",
            yang_name="ipv4-internal-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_ipv4_external_reachability(self):
        """
    Getter method for ipv4_external_reachability, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/ipv4_external_reachability (container)

    YANG Description: This container defines list of IPv4 external reachability
information.
    """
        return self.__ipv4_external_reachability

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

    YANG Description: This container defines list of IPv4 external reachability
information.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=ipv4_external_reachability.ipv4_external_reachability,
                is_container="container",
                yang_name="ipv4-external-reachability",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """ipv4_external_reachability must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=ipv4_external_reachability.ipv4_external_reachability, is_container='container', yang_name="ipv4-external-reachability", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_ipv4_external_reachability(self):
        self.__ipv4_external_reachability = YANGDynClass(
            base=ipv4_external_reachability.ipv4_external_reachability,
            is_container="container",
            yang_name="ipv4-external-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_type_block(self):
        """
    Getter method for type_block, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/type_block (container)

    YANG Description: This container defines LSP Type Block. 
    """
        return self.__type_block

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

    YANG Description: This container defines LSP Type Block. 
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=type_block.type_block,
                is_container="container",
                yang_name="type-block",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """type_block must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=type_block.type_block, is_container='container', yang_name="type-block", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_type_block(self):
        self.__type_block = YANGDynClass(
            base=type_block.type_block,
            is_container="container",
            yang_name="type-block",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_authentication(self):
        """
    Getter method for authentication, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/authentication (container)

    YANG Description: This container defines authentication information of the
node.
    """
        return self.__authentication

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

    YANG Description: This container defines authentication information of the
node.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=authentication.authentication,
                is_container="container",
                yang_name="authentication",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """authentication must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=authentication.authentication, is_container='container', yang_name="authentication", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_authentication(self):
        self.__authentication = YANGDynClass(
            base=authentication.authentication,
            is_container="container",
            yang_name="authentication",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_extended_is_reachability(self):
        """
    Getter method for extended_is_reachability, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/extended_is_reachability (container)

    YANG Description: This container defines list of ISIS extended reachability
neighbors.
    """
        return self.__extended_is_reachability

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

    YANG Description: This container defines list of ISIS extended reachability
neighbors.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=extended_is_reachability.extended_is_reachability,
                is_container="container",
                yang_name="extended-is-reachability",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """extended_is_reachability must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=extended_is_reachability.extended_is_reachability, is_container='container', yang_name="extended-is-reachability", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_extended_is_reachability(self):
        self.__extended_is_reachability = YANGDynClass(
            base=extended_is_reachability.extended_is_reachability,
            is_container="container",
            yang_name="extended-is-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_extended_ipv4_reachability(self):
        """
    Getter method for extended_ipv4_reachability, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/extended_ipv4_reachability (container)

    YANG Description: This container defines list of IPv4 extended reachability
information.
    """
        return self.__extended_ipv4_reachability

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

    YANG Description: This container defines list of IPv4 extended reachability
information.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=extended_ipv4_reachability.extended_ipv4_reachability,
                is_container="container",
                yang_name="extended-ipv4-reachability",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """extended_ipv4_reachability must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=extended_ipv4_reachability.extended_ipv4_reachability, is_container='container', yang_name="extended-ipv4-reachability", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_extended_ipv4_reachability(self):
        self.__extended_ipv4_reachability = YANGDynClass(
            base=extended_ipv4_reachability.extended_ipv4_reachability,
            is_container="container",
            yang_name="extended-ipv4-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_ipv6_reachability(self):
        """
    Getter method for ipv6_reachability, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/ipv6_reachability (container)

    YANG Description: This container defines list of IPv6 reachability
information.
    """
        return self.__ipv6_reachability

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

    YANG Description: This container defines list of IPv6 reachability
information.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=ipv6_reachability.ipv6_reachability,
                is_container="container",
                yang_name="ipv6-reachability",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """ipv6_reachability must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=ipv6_reachability.ipv6_reachability, is_container='container', yang_name="ipv6-reachability", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_ipv6_reachability(self):
        self.__ipv6_reachability = YANGDynClass(
            base=ipv6_reachability.ipv6_reachability,
            is_container="container",
            yang_name="ipv6-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_multi_topology(self):
        """
    Getter method for multi_topology, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/multi_topology (container)

    YANG Description: This container defines the topology supported.
    """
        return self.__multi_topology

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

    YANG Description: This container defines the topology supported.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=multi_topology.multi_topology,
                is_container="container",
                yang_name="multi-topology",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """multi_topology must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=multi_topology.multi_topology, is_container='container', yang_name="multi-topology", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_multi_topology(self):
        self.__multi_topology = YANGDynClass(
            base=multi_topology.multi_topology,
            is_container="container",
            yang_name="multi-topology",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_isis_neighbor_attribute(self):
        """
    Getter method for isis_neighbor_attribute, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/isis_neighbor_attribute (container)

    YANG Description: This container defines list of ISIS topology neighbors
for extended ISIS LSP(multiple system IDs). 
    """
        return self.__isis_neighbor_attribute

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

    YANG Description: This container defines list of ISIS topology neighbors
for extended ISIS LSP(multiple system IDs). 
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=isis_neighbor_attribute.isis_neighbor_attribute,
                is_container="container",
                yang_name="isis-neighbor-attribute",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """isis_neighbor_attribute must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=isis_neighbor_attribute.isis_neighbor_attribute, is_container='container', yang_name="isis-neighbor-attribute", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_isis_neighbor_attribute(self):
        self.__isis_neighbor_attribute = YANGDynClass(
            base=isis_neighbor_attribute.isis_neighbor_attribute,
            is_container="container",
            yang_name="isis-neighbor-attribute",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

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

    YANG Description: This container defines the IS-Alias TLV which allows
extension-capable ISs to recognize the Originating System of an
Extended LSP set. It identifies the Normal system-id of the
Originating System.
    """
        return self.__isis_alias_id

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

    YANG Description: This container defines the IS-Alias TLV which allows
extension-capable ISs to recognize the Originating System of an
Extended LSP set. It identifies the Normal system-id of the
Originating System.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=isis_alias_id.isis_alias_id,
                is_container="container",
                yang_name="isis-alias-id",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """isis_alias_id must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=isis_alias_id.isis_alias_id, is_container='container', yang_name="isis-alias-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_isis_alias_id(self):
        self.__isis_alias_id = YANGDynClass(
            base=isis_alias_id.isis_alias_id,
            is_container="container",
            yang_name="isis-alias-id",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_mt_isn(self):
        """
    Getter method for mt_isn, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/mt_isn (container)

    YANG Description: This container defines list of ISIS multi-topology
neighbors.
    """
        return self.__mt_isn

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

    YANG Description: This container defines list of ISIS multi-topology
neighbors.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=mt_isn.mt_isn,
                is_container="container",
                yang_name="mt-isn",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """mt_isn must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=mt_isn.mt_isn, is_container='container', yang_name="mt-isn", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_mt_isn(self):
        self.__mt_isn = YANGDynClass(
            base=mt_isn.mt_isn,
            is_container="container",
            yang_name="mt-isn",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_mt_isis_neighbor_attribute(self):
        """
    Getter method for mt_isis_neighbor_attribute, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/mt_isis_neighbor_attribute (container)

    YANG Description: This container defines list of ISIS multi-topology
neighbors.
    """
        return self.__mt_isis_neighbor_attribute

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

    YANG Description: This container defines list of ISIS multi-topology
neighbors.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=mt_isis_neighbor_attribute.mt_isis_neighbor_attribute,
                is_container="container",
                yang_name="mt-isis-neighbor-attribute",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """mt_isis_neighbor_attribute must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=mt_isis_neighbor_attribute.mt_isis_neighbor_attribute, is_container='container', yang_name="mt-isis-neighbor-attribute", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_mt_isis_neighbor_attribute(self):
        self.__mt_isis_neighbor_attribute = YANGDynClass(
            base=mt_isis_neighbor_attribute.mt_isis_neighbor_attribute,
            is_container="container",
            yang_name="mt-isis-neighbor-attribute",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_mt_ipv4_reachability(self):
        """
    Getter method for mt_ipv4_reachability, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/mt_ipv4_reachability (container)

    YANG Description: This container defines list of IPv4 reachability Information
in multi-topology environment.
    """
        return self.__mt_ipv4_reachability

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

    YANG Description: This container defines list of IPv4 reachability Information
in multi-topology environment.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=mt_ipv4_reachability.mt_ipv4_reachability,
                is_container="container",
                yang_name="mt-ipv4-reachability",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """mt_ipv4_reachability must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=mt_ipv4_reachability.mt_ipv4_reachability, is_container='container', yang_name="mt-ipv4-reachability", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_mt_ipv4_reachability(self):
        self.__mt_ipv4_reachability = YANGDynClass(
            base=mt_ipv4_reachability.mt_ipv4_reachability,
            is_container="container",
            yang_name="mt-ipv4-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    def _get_mt_ipv6_reachability(self):
        """
    Getter method for mt_ipv6_reachability, mapped from YANG variable /network_instances/network_instance/protocols/protocol/isis/levels/level/link_state_database/lsp/tlvs/tlv/mt_ipv6_reachability (container)

    YANG Description: This container defines list of IPv6 reachability information
in multi - topology environment.
    """
        return self.__mt_ipv6_reachability

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

    YANG Description: This container defines list of IPv6 reachability information
in multi - topology environment.
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=mt_ipv6_reachability.mt_ipv6_reachability,
                is_container="container",
                yang_name="mt-ipv6-reachability",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                extensions=None,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="container",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """mt_ipv6_reachability must be of a type compatible with container""",
                    "defined-type": "container",
                    "generated-type": """YANGDynClass(base=mt_ipv6_reachability.mt_ipv6_reachability, is_container='container', yang_name="mt-ipv6-reachability", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='container', is_config=False)""",
                }
            )

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

    def _unset_mt_ipv6_reachability(self):
        self.__mt_ipv6_reachability = YANGDynClass(
            base=mt_ipv6_reachability.mt_ipv6_reachability,
            is_container="container",
            yang_name="mt-ipv6-reachability",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            extensions=None,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="container",
            is_config=False,
        )

    type = __builtin__.property(_get_type)
    state = __builtin__.property(_get_state)
    area_address = __builtin__.property(_get_area_address)
    nlpid = __builtin__.property(_get_nlpid)
    hostname = __builtin__.property(_get_hostname)
    ipv4_interface_addresses = __builtin__.property(_get_ipv4_interface_addresses)
    ipv6_interface_addresses = __builtin__.property(_get_ipv6_interface_addresses)
    ipv4_te_router_id = __builtin__.property(_get_ipv4_te_router_id)
    ipv6_te_router_id = __builtin__.property(_get_ipv6_te_router_id)
    instance_id = __builtin__.property(_get_instance_id)
    ipv4_srlg = __builtin__.property(_get_ipv4_srlg)
    ipv6_srlg = __builtin__.property(_get_ipv6_srlg)
    purge_oi = __builtin__.property(_get_purge_oi)
    router_capabilities = __builtin__.property(_get_router_capabilities)
    is_reachability = __builtin__.property(_get_is_reachability)
    ipv4_internal_reachability = __builtin__.property(_get_ipv4_internal_reachability)
    ipv4_external_reachability = __builtin__.property(_get_ipv4_external_reachability)
    type_block = __builtin__.property(_get_type_block)
    authentication = __builtin__.property(_get_authentication)
    extended_is_reachability = __builtin__.property(_get_extended_is_reachability)
    extended_ipv4_reachability = __builtin__.property(_get_extended_ipv4_reachability)
    ipv6_reachability = __builtin__.property(_get_ipv6_reachability)
    multi_topology = __builtin__.property(_get_multi_topology)
    isis_neighbor_attribute = __builtin__.property(_get_isis_neighbor_attribute)
    isis_alias_id = __builtin__.property(_get_isis_alias_id)
    mt_isn = __builtin__.property(_get_mt_isn)
    mt_isis_neighbor_attribute = __builtin__.property(_get_mt_isis_neighbor_attribute)
    mt_ipv4_reachability = __builtin__.property(_get_mt_ipv4_reachability)
    mt_ipv6_reachability = __builtin__.property(_get_mt_ipv6_reachability)

    _pyangbind_elements = OrderedDict(
        [
            ("type", type),
            ("state", state),
            ("area_address", area_address),
            ("nlpid", nlpid),
            ("hostname", hostname),
            ("ipv4_interface_addresses", ipv4_interface_addresses),
            ("ipv6_interface_addresses", ipv6_interface_addresses),
            ("ipv4_te_router_id", ipv4_te_router_id),
            ("ipv6_te_router_id", ipv6_te_router_id),
            ("instance_id", instance_id),
            ("ipv4_srlg", ipv4_srlg),
            ("ipv6_srlg", ipv6_srlg),
            ("purge_oi", purge_oi),
            ("router_capabilities", router_capabilities),
            ("is_reachability", is_reachability),
            ("ipv4_internal_reachability", ipv4_internal_reachability),
            ("ipv4_external_reachability", ipv4_external_reachability),
            ("type_block", type_block),
            ("authentication", authentication),
            ("extended_is_reachability", extended_is_reachability),
            ("extended_ipv4_reachability", extended_ipv4_reachability),
            ("ipv6_reachability", ipv6_reachability),
            ("multi_topology", multi_topology),
            ("isis_neighbor_attribute", isis_neighbor_attribute),
            ("isis_alias_id", isis_alias_id),
            ("mt_isn", mt_isn),
            ("mt_isis_neighbor_attribute", mt_isis_neighbor_attribute),
            ("mt_ipv4_reachability", mt_ipv4_reachability),
            ("mt_ipv6_reachability", mt_ipv6_reachability),
        ]
    )
