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

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

    long = int
elif six.PY2:
    import __builtin__


class counters(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/mpls/signaling-protocols/rsvp-te/interface-attributes/interface/state/counters. Each member element of
  the container is represented as a class variable - with a specific
  YANG type.

  YANG Description: Interface specific RSVP statistics and counters
  """
    __slots__ = (
        "_path_helper",
        "_extmethods",
        "__in_path_messages",
        "__in_path_error_messages",
        "__in_path_tear_messages",
        "__in_reservation_messages",
        "__in_reservation_error_messages",
        "__in_reservation_tear_messages",
        "__in_hello_messages",
        "__in_srefresh_messages",
        "__in_ack_messages",
        "__out_path_messages",
        "__out_path_error_messages",
        "__out_path_tear_messages",
        "__out_reservation_messages",
        "__out_reservation_error_messages",
        "__out_reservation_tear_messages",
        "__out_hello_messages",
        "__out_srefresh_messages",
        "__out_ack_messages",
    )

    _yang_name = "counters"

    _pybind_generated_by = "container"

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

        self._path_helper = False

        self._extmethods = False
        self.__in_path_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-path-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__in_path_error_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-path-error-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__in_path_tear_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-path-tear-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__in_reservation_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-reservation-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__in_reservation_error_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-reservation-error-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__in_reservation_tear_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-reservation-tear-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__in_hello_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-hello-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__in_srefresh_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-srefresh-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__in_ack_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-ack-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__out_path_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-path-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__out_path_error_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-path-error-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__out_path_tear_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-path-tear-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__out_reservation_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-reservation-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__out_reservation_error_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-reservation-error-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__out_reservation_tear_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-reservation-tear-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__out_hello_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-hello-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__out_srefresh_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-srefresh-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__out_ack_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-ack-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            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",
                "mpls",
                "signaling-protocols",
                "rsvp-te",
                "interface-attributes",
                "interface",
                "state",
                "counters",
            ]

    def _get_in_path_messages(self):
        """
    Getter method for in_path_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_path_messages (yang:counter64)

    YANG Description: Number of received RSVP Path messages
    """
        return self.__in_path_messages

    def _set_in_path_messages(self, v, load=False):
        """
    Setter method for in_path_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_path_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_in_path_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_in_path_messages() directly.

    YANG Description: Number of received RSVP Path messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="in-path-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """in_path_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-path-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_in_path_messages(self):
        self.__in_path_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-path-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_in_path_error_messages(self):
        """
    Getter method for in_path_error_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_path_error_messages (yang:counter64)

    YANG Description: Number of received RSVP Path Error messages
    """
        return self.__in_path_error_messages

    def _set_in_path_error_messages(self, v, load=False):
        """
    Setter method for in_path_error_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_path_error_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_in_path_error_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_in_path_error_messages() directly.

    YANG Description: Number of received RSVP Path Error messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="in-path-error-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """in_path_error_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-path-error-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_in_path_error_messages(self):
        self.__in_path_error_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-path-error-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_in_path_tear_messages(self):
        """
    Getter method for in_path_tear_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_path_tear_messages (yang:counter64)

    YANG Description: Number of received RSVP Path Tear messages
    """
        return self.__in_path_tear_messages

    def _set_in_path_tear_messages(self, v, load=False):
        """
    Setter method for in_path_tear_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_path_tear_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_in_path_tear_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_in_path_tear_messages() directly.

    YANG Description: Number of received RSVP Path Tear messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="in-path-tear-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """in_path_tear_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-path-tear-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_in_path_tear_messages(self):
        self.__in_path_tear_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-path-tear-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_in_reservation_messages(self):
        """
    Getter method for in_reservation_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_reservation_messages (yang:counter64)

    YANG Description: Number of received RSVP Resv messages
    """
        return self.__in_reservation_messages

    def _set_in_reservation_messages(self, v, load=False):
        """
    Setter method for in_reservation_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_reservation_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_in_reservation_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_in_reservation_messages() directly.

    YANG Description: Number of received RSVP Resv messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="in-reservation-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """in_reservation_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-reservation-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_in_reservation_messages(self):
        self.__in_reservation_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-reservation-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_in_reservation_error_messages(self):
        """
    Getter method for in_reservation_error_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_reservation_error_messages (yang:counter64)

    YANG Description: Number of received RSVP Resv Error messages
    """
        return self.__in_reservation_error_messages

    def _set_in_reservation_error_messages(self, v, load=False):
        """
    Setter method for in_reservation_error_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_reservation_error_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_in_reservation_error_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_in_reservation_error_messages() directly.

    YANG Description: Number of received RSVP Resv Error messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="in-reservation-error-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """in_reservation_error_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-reservation-error-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_in_reservation_error_messages(self):
        self.__in_reservation_error_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-reservation-error-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_in_reservation_tear_messages(self):
        """
    Getter method for in_reservation_tear_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_reservation_tear_messages (yang:counter64)

    YANG Description: Number of received RSVP Resv Tear messages
    """
        return self.__in_reservation_tear_messages

    def _set_in_reservation_tear_messages(self, v, load=False):
        """
    Setter method for in_reservation_tear_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_reservation_tear_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_in_reservation_tear_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_in_reservation_tear_messages() directly.

    YANG Description: Number of received RSVP Resv Tear messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="in-reservation-tear-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """in_reservation_tear_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-reservation-tear-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_in_reservation_tear_messages(self):
        self.__in_reservation_tear_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-reservation-tear-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_in_hello_messages(self):
        """
    Getter method for in_hello_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_hello_messages (yang:counter64)

    YANG Description: Number of received RSVP hello messages
    """
        return self.__in_hello_messages

    def _set_in_hello_messages(self, v, load=False):
        """
    Setter method for in_hello_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_hello_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_in_hello_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_in_hello_messages() directly.

    YANG Description: Number of received RSVP hello messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="in-hello-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """in_hello_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-hello-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_in_hello_messages(self):
        self.__in_hello_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-hello-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_in_srefresh_messages(self):
        """
    Getter method for in_srefresh_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_srefresh_messages (yang:counter64)

    YANG Description: Number of received RSVP summary refresh messages
    """
        return self.__in_srefresh_messages

    def _set_in_srefresh_messages(self, v, load=False):
        """
    Setter method for in_srefresh_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_srefresh_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_in_srefresh_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_in_srefresh_messages() directly.

    YANG Description: Number of received RSVP summary refresh messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="in-srefresh-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """in_srefresh_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-srefresh-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_in_srefresh_messages(self):
        self.__in_srefresh_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-srefresh-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_in_ack_messages(self):
        """
    Getter method for in_ack_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_ack_messages (yang:counter64)

    YANG Description: Number of received RSVP refresh reduction ack
messages
    """
        return self.__in_ack_messages

    def _set_in_ack_messages(self, v, load=False):
        """
    Setter method for in_ack_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_ack_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_in_ack_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_in_ack_messages() directly.

    YANG Description: Number of received RSVP refresh reduction ack
messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="in-ack-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """in_ack_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-ack-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_in_ack_messages(self):
        self.__in_ack_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-ack-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_out_path_messages(self):
        """
    Getter method for out_path_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_path_messages (yang:counter64)

    YANG Description: Number of sent RSVP PATH messages
    """
        return self.__out_path_messages

    def _set_out_path_messages(self, v, load=False):
        """
    Setter method for out_path_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_path_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_out_path_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_out_path_messages() directly.

    YANG Description: Number of sent RSVP PATH messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="out-path-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """out_path_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-path-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_out_path_messages(self):
        self.__out_path_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-path-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_out_path_error_messages(self):
        """
    Getter method for out_path_error_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_path_error_messages (yang:counter64)

    YANG Description: Number of sent RSVP Path Error messages
    """
        return self.__out_path_error_messages

    def _set_out_path_error_messages(self, v, load=False):
        """
    Setter method for out_path_error_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_path_error_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_out_path_error_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_out_path_error_messages() directly.

    YANG Description: Number of sent RSVP Path Error messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="out-path-error-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """out_path_error_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-path-error-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_out_path_error_messages(self):
        self.__out_path_error_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-path-error-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_out_path_tear_messages(self):
        """
    Getter method for out_path_tear_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_path_tear_messages (yang:counter64)

    YANG Description: Number of sent RSVP Path Tear messages
    """
        return self.__out_path_tear_messages

    def _set_out_path_tear_messages(self, v, load=False):
        """
    Setter method for out_path_tear_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_path_tear_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_out_path_tear_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_out_path_tear_messages() directly.

    YANG Description: Number of sent RSVP Path Tear messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="out-path-tear-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """out_path_tear_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-path-tear-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_out_path_tear_messages(self):
        self.__out_path_tear_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-path-tear-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_out_reservation_messages(self):
        """
    Getter method for out_reservation_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_reservation_messages (yang:counter64)

    YANG Description: Number of sent RSVP Resv messages
    """
        return self.__out_reservation_messages

    def _set_out_reservation_messages(self, v, load=False):
        """
    Setter method for out_reservation_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_reservation_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_out_reservation_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_out_reservation_messages() directly.

    YANG Description: Number of sent RSVP Resv messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="out-reservation-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """out_reservation_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-reservation-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_out_reservation_messages(self):
        self.__out_reservation_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-reservation-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_out_reservation_error_messages(self):
        """
    Getter method for out_reservation_error_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_reservation_error_messages (yang:counter64)

    YANG Description: Number of sent RSVP Resv Error messages
    """
        return self.__out_reservation_error_messages

    def _set_out_reservation_error_messages(self, v, load=False):
        """
    Setter method for out_reservation_error_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_reservation_error_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_out_reservation_error_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_out_reservation_error_messages() directly.

    YANG Description: Number of sent RSVP Resv Error messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="out-reservation-error-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """out_reservation_error_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-reservation-error-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_out_reservation_error_messages(self):
        self.__out_reservation_error_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-reservation-error-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_out_reservation_tear_messages(self):
        """
    Getter method for out_reservation_tear_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_reservation_tear_messages (yang:counter64)

    YANG Description: Number of sent RSVP Resv Tear messages
    """
        return self.__out_reservation_tear_messages

    def _set_out_reservation_tear_messages(self, v, load=False):
        """
    Setter method for out_reservation_tear_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_reservation_tear_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_out_reservation_tear_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_out_reservation_tear_messages() directly.

    YANG Description: Number of sent RSVP Resv Tear messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="out-reservation-tear-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """out_reservation_tear_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-reservation-tear-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_out_reservation_tear_messages(self):
        self.__out_reservation_tear_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-reservation-tear-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_out_hello_messages(self):
        """
    Getter method for out_hello_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_hello_messages (yang:counter64)

    YANG Description: Number of sent RSVP hello messages
    """
        return self.__out_hello_messages

    def _set_out_hello_messages(self, v, load=False):
        """
    Setter method for out_hello_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_hello_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_out_hello_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_out_hello_messages() directly.

    YANG Description: Number of sent RSVP hello messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="out-hello-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """out_hello_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-hello-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_out_hello_messages(self):
        self.__out_hello_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-hello-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_out_srefresh_messages(self):
        """
    Getter method for out_srefresh_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_srefresh_messages (yang:counter64)

    YANG Description: Number of sent RSVP summary refresh messages
    """
        return self.__out_srefresh_messages

    def _set_out_srefresh_messages(self, v, load=False):
        """
    Setter method for out_srefresh_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_srefresh_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_out_srefresh_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_out_srefresh_messages() directly.

    YANG Description: Number of sent RSVP summary refresh messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="out-srefresh-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """out_srefresh_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-srefresh-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_out_srefresh_messages(self):
        self.__out_srefresh_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-srefresh-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_out_ack_messages(self):
        """
    Getter method for out_ack_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_ack_messages (yang:counter64)

    YANG Description: Number of sent RSVP refresh reduction ack messages
    """
        return self.__out_ack_messages

    def _set_out_ack_messages(self, v, load=False):
        """
    Setter method for out_ack_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_ack_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_out_ack_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_out_ack_messages() directly.

    YANG Description: Number of sent RSVP refresh reduction ack messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="out-ack-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """out_ack_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-ack-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_out_ack_messages(self):
        self.__out_ack_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-ack-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    in_path_messages = __builtin__.property(_get_in_path_messages)
    in_path_error_messages = __builtin__.property(_get_in_path_error_messages)
    in_path_tear_messages = __builtin__.property(_get_in_path_tear_messages)
    in_reservation_messages = __builtin__.property(_get_in_reservation_messages)
    in_reservation_error_messages = __builtin__.property(
        _get_in_reservation_error_messages
    )
    in_reservation_tear_messages = __builtin__.property(
        _get_in_reservation_tear_messages
    )
    in_hello_messages = __builtin__.property(_get_in_hello_messages)
    in_srefresh_messages = __builtin__.property(_get_in_srefresh_messages)
    in_ack_messages = __builtin__.property(_get_in_ack_messages)
    out_path_messages = __builtin__.property(_get_out_path_messages)
    out_path_error_messages = __builtin__.property(_get_out_path_error_messages)
    out_path_tear_messages = __builtin__.property(_get_out_path_tear_messages)
    out_reservation_messages = __builtin__.property(_get_out_reservation_messages)
    out_reservation_error_messages = __builtin__.property(
        _get_out_reservation_error_messages
    )
    out_reservation_tear_messages = __builtin__.property(
        _get_out_reservation_tear_messages
    )
    out_hello_messages = __builtin__.property(_get_out_hello_messages)
    out_srefresh_messages = __builtin__.property(_get_out_srefresh_messages)
    out_ack_messages = __builtin__.property(_get_out_ack_messages)

    _pyangbind_elements = OrderedDict(
        [
            ("in_path_messages", in_path_messages),
            ("in_path_error_messages", in_path_error_messages),
            ("in_path_tear_messages", in_path_tear_messages),
            ("in_reservation_messages", in_reservation_messages),
            ("in_reservation_error_messages", in_reservation_error_messages),
            ("in_reservation_tear_messages", in_reservation_tear_messages),
            ("in_hello_messages", in_hello_messages),
            ("in_srefresh_messages", in_srefresh_messages),
            ("in_ack_messages", in_ack_messages),
            ("out_path_messages", out_path_messages),
            ("out_path_error_messages", out_path_error_messages),
            ("out_path_tear_messages", out_path_tear_messages),
            ("out_reservation_messages", out_reservation_messages),
            ("out_reservation_error_messages", out_reservation_error_messages),
            ("out_reservation_tear_messages", out_reservation_tear_messages),
            ("out_hello_messages", out_hello_messages),
            ("out_srefresh_messages", out_srefresh_messages),
            ("out_ack_messages", out_ack_messages),
        ]
    )


class counters(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/mpls/signaling-protocols/rsvp-te/interface-attributes/interface/state/counters. Each member element of
  the container is represented as a class variable - with a specific
  YANG type.

  YANG Description: Interface specific RSVP statistics and counters
  """
    __slots__ = (
        "_path_helper",
        "_extmethods",
        "__in_path_messages",
        "__in_path_error_messages",
        "__in_path_tear_messages",
        "__in_reservation_messages",
        "__in_reservation_error_messages",
        "__in_reservation_tear_messages",
        "__in_hello_messages",
        "__in_srefresh_messages",
        "__in_ack_messages",
        "__out_path_messages",
        "__out_path_error_messages",
        "__out_path_tear_messages",
        "__out_reservation_messages",
        "__out_reservation_error_messages",
        "__out_reservation_tear_messages",
        "__out_hello_messages",
        "__out_srefresh_messages",
        "__out_ack_messages",
    )

    _yang_name = "counters"

    _pybind_generated_by = "container"

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

        self._path_helper = False

        self._extmethods = False
        self.__in_path_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-path-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__in_path_error_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-path-error-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__in_path_tear_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-path-tear-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__in_reservation_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-reservation-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__in_reservation_error_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-reservation-error-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__in_reservation_tear_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-reservation-tear-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__in_hello_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-hello-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__in_srefresh_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-srefresh-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__in_ack_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-ack-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__out_path_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-path-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__out_path_error_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-path-error-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__out_path_tear_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-path-tear-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__out_reservation_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-reservation-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__out_reservation_error_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-reservation-error-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__out_reservation_tear_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-reservation-tear-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__out_hello_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-hello-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__out_srefresh_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-srefresh-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )
        self.__out_ack_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-ack-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            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",
                "mpls",
                "signaling-protocols",
                "rsvp-te",
                "interface-attributes",
                "interface",
                "state",
                "counters",
            ]

    def _get_in_path_messages(self):
        """
    Getter method for in_path_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_path_messages (yang:counter64)

    YANG Description: Number of received RSVP Path messages
    """
        return self.__in_path_messages

    def _set_in_path_messages(self, v, load=False):
        """
    Setter method for in_path_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_path_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_in_path_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_in_path_messages() directly.

    YANG Description: Number of received RSVP Path messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="in-path-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """in_path_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-path-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_in_path_messages(self):
        self.__in_path_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-path-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_in_path_error_messages(self):
        """
    Getter method for in_path_error_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_path_error_messages (yang:counter64)

    YANG Description: Number of received RSVP Path Error messages
    """
        return self.__in_path_error_messages

    def _set_in_path_error_messages(self, v, load=False):
        """
    Setter method for in_path_error_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_path_error_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_in_path_error_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_in_path_error_messages() directly.

    YANG Description: Number of received RSVP Path Error messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="in-path-error-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """in_path_error_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-path-error-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_in_path_error_messages(self):
        self.__in_path_error_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-path-error-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_in_path_tear_messages(self):
        """
    Getter method for in_path_tear_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_path_tear_messages (yang:counter64)

    YANG Description: Number of received RSVP Path Tear messages
    """
        return self.__in_path_tear_messages

    def _set_in_path_tear_messages(self, v, load=False):
        """
    Setter method for in_path_tear_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_path_tear_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_in_path_tear_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_in_path_tear_messages() directly.

    YANG Description: Number of received RSVP Path Tear messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="in-path-tear-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """in_path_tear_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-path-tear-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_in_path_tear_messages(self):
        self.__in_path_tear_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-path-tear-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_in_reservation_messages(self):
        """
    Getter method for in_reservation_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_reservation_messages (yang:counter64)

    YANG Description: Number of received RSVP Resv messages
    """
        return self.__in_reservation_messages

    def _set_in_reservation_messages(self, v, load=False):
        """
    Setter method for in_reservation_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_reservation_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_in_reservation_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_in_reservation_messages() directly.

    YANG Description: Number of received RSVP Resv messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="in-reservation-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """in_reservation_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-reservation-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_in_reservation_messages(self):
        self.__in_reservation_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-reservation-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_in_reservation_error_messages(self):
        """
    Getter method for in_reservation_error_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_reservation_error_messages (yang:counter64)

    YANG Description: Number of received RSVP Resv Error messages
    """
        return self.__in_reservation_error_messages

    def _set_in_reservation_error_messages(self, v, load=False):
        """
    Setter method for in_reservation_error_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_reservation_error_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_in_reservation_error_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_in_reservation_error_messages() directly.

    YANG Description: Number of received RSVP Resv Error messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="in-reservation-error-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """in_reservation_error_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-reservation-error-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_in_reservation_error_messages(self):
        self.__in_reservation_error_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-reservation-error-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_in_reservation_tear_messages(self):
        """
    Getter method for in_reservation_tear_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_reservation_tear_messages (yang:counter64)

    YANG Description: Number of received RSVP Resv Tear messages
    """
        return self.__in_reservation_tear_messages

    def _set_in_reservation_tear_messages(self, v, load=False):
        """
    Setter method for in_reservation_tear_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_reservation_tear_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_in_reservation_tear_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_in_reservation_tear_messages() directly.

    YANG Description: Number of received RSVP Resv Tear messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="in-reservation-tear-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """in_reservation_tear_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-reservation-tear-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_in_reservation_tear_messages(self):
        self.__in_reservation_tear_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-reservation-tear-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_in_hello_messages(self):
        """
    Getter method for in_hello_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_hello_messages (yang:counter64)

    YANG Description: Number of received RSVP hello messages
    """
        return self.__in_hello_messages

    def _set_in_hello_messages(self, v, load=False):
        """
    Setter method for in_hello_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_hello_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_in_hello_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_in_hello_messages() directly.

    YANG Description: Number of received RSVP hello messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="in-hello-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """in_hello_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-hello-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_in_hello_messages(self):
        self.__in_hello_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-hello-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_in_srefresh_messages(self):
        """
    Getter method for in_srefresh_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_srefresh_messages (yang:counter64)

    YANG Description: Number of received RSVP summary refresh messages
    """
        return self.__in_srefresh_messages

    def _set_in_srefresh_messages(self, v, load=False):
        """
    Setter method for in_srefresh_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_srefresh_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_in_srefresh_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_in_srefresh_messages() directly.

    YANG Description: Number of received RSVP summary refresh messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="in-srefresh-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """in_srefresh_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-srefresh-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_in_srefresh_messages(self):
        self.__in_srefresh_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-srefresh-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_in_ack_messages(self):
        """
    Getter method for in_ack_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_ack_messages (yang:counter64)

    YANG Description: Number of received RSVP refresh reduction ack
messages
    """
        return self.__in_ack_messages

    def _set_in_ack_messages(self, v, load=False):
        """
    Setter method for in_ack_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/in_ack_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_in_ack_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_in_ack_messages() directly.

    YANG Description: Number of received RSVP refresh reduction ack
messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="in-ack-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """in_ack_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-ack-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_in_ack_messages(self):
        self.__in_ack_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="in-ack-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_out_path_messages(self):
        """
    Getter method for out_path_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_path_messages (yang:counter64)

    YANG Description: Number of sent RSVP PATH messages
    """
        return self.__out_path_messages

    def _set_out_path_messages(self, v, load=False):
        """
    Setter method for out_path_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_path_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_out_path_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_out_path_messages() directly.

    YANG Description: Number of sent RSVP PATH messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="out-path-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """out_path_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-path-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_out_path_messages(self):
        self.__out_path_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-path-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_out_path_error_messages(self):
        """
    Getter method for out_path_error_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_path_error_messages (yang:counter64)

    YANG Description: Number of sent RSVP Path Error messages
    """
        return self.__out_path_error_messages

    def _set_out_path_error_messages(self, v, load=False):
        """
    Setter method for out_path_error_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_path_error_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_out_path_error_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_out_path_error_messages() directly.

    YANG Description: Number of sent RSVP Path Error messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="out-path-error-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """out_path_error_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-path-error-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_out_path_error_messages(self):
        self.__out_path_error_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-path-error-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_out_path_tear_messages(self):
        """
    Getter method for out_path_tear_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_path_tear_messages (yang:counter64)

    YANG Description: Number of sent RSVP Path Tear messages
    """
        return self.__out_path_tear_messages

    def _set_out_path_tear_messages(self, v, load=False):
        """
    Setter method for out_path_tear_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_path_tear_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_out_path_tear_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_out_path_tear_messages() directly.

    YANG Description: Number of sent RSVP Path Tear messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="out-path-tear-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """out_path_tear_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-path-tear-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_out_path_tear_messages(self):
        self.__out_path_tear_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-path-tear-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_out_reservation_messages(self):
        """
    Getter method for out_reservation_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_reservation_messages (yang:counter64)

    YANG Description: Number of sent RSVP Resv messages
    """
        return self.__out_reservation_messages

    def _set_out_reservation_messages(self, v, load=False):
        """
    Setter method for out_reservation_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_reservation_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_out_reservation_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_out_reservation_messages() directly.

    YANG Description: Number of sent RSVP Resv messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="out-reservation-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """out_reservation_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-reservation-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_out_reservation_messages(self):
        self.__out_reservation_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-reservation-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_out_reservation_error_messages(self):
        """
    Getter method for out_reservation_error_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_reservation_error_messages (yang:counter64)

    YANG Description: Number of sent RSVP Resv Error messages
    """
        return self.__out_reservation_error_messages

    def _set_out_reservation_error_messages(self, v, load=False):
        """
    Setter method for out_reservation_error_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_reservation_error_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_out_reservation_error_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_out_reservation_error_messages() directly.

    YANG Description: Number of sent RSVP Resv Error messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="out-reservation-error-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """out_reservation_error_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-reservation-error-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_out_reservation_error_messages(self):
        self.__out_reservation_error_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-reservation-error-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_out_reservation_tear_messages(self):
        """
    Getter method for out_reservation_tear_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_reservation_tear_messages (yang:counter64)

    YANG Description: Number of sent RSVP Resv Tear messages
    """
        return self.__out_reservation_tear_messages

    def _set_out_reservation_tear_messages(self, v, load=False):
        """
    Setter method for out_reservation_tear_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_reservation_tear_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_out_reservation_tear_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_out_reservation_tear_messages() directly.

    YANG Description: Number of sent RSVP Resv Tear messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="out-reservation-tear-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """out_reservation_tear_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-reservation-tear-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_out_reservation_tear_messages(self):
        self.__out_reservation_tear_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-reservation-tear-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_out_hello_messages(self):
        """
    Getter method for out_hello_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_hello_messages (yang:counter64)

    YANG Description: Number of sent RSVP hello messages
    """
        return self.__out_hello_messages

    def _set_out_hello_messages(self, v, load=False):
        """
    Setter method for out_hello_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_hello_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_out_hello_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_out_hello_messages() directly.

    YANG Description: Number of sent RSVP hello messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="out-hello-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """out_hello_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-hello-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_out_hello_messages(self):
        self.__out_hello_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-hello-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_out_srefresh_messages(self):
        """
    Getter method for out_srefresh_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_srefresh_messages (yang:counter64)

    YANG Description: Number of sent RSVP summary refresh messages
    """
        return self.__out_srefresh_messages

    def _set_out_srefresh_messages(self, v, load=False):
        """
    Setter method for out_srefresh_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_srefresh_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_out_srefresh_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_out_srefresh_messages() directly.

    YANG Description: Number of sent RSVP summary refresh messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="out-srefresh-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """out_srefresh_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-srefresh-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_out_srefresh_messages(self):
        self.__out_srefresh_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-srefresh-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    def _get_out_ack_messages(self):
        """
    Getter method for out_ack_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_ack_messages (yang:counter64)

    YANG Description: Number of sent RSVP refresh reduction ack messages
    """
        return self.__out_ack_messages

    def _set_out_ack_messages(self, v, load=False):
        """
    Setter method for out_ack_messages, mapped from YANG variable /network_instances/network_instance/mpls/signaling_protocols/rsvp_te/interface_attributes/interface/state/counters/out_ack_messages (yang:counter64)
    If this variable is read-only (config: false) in the
    source YANG file, then _set_out_ack_messages is considered as a private
    method. Backends looking to populate this variable should
    do so via calling thisObj._set_out_ack_messages() directly.

    YANG Description: Number of sent RSVP refresh reduction ack messages
    """
        if hasattr(v, "_utype"):
            v = v._utype(v)
        try:
            t = YANGDynClass(
                v,
                base=RestrictedClassType(
                    base_type=long,
                    restriction_dict={"range": ["0..18446744073709551615"]},
                    int_size=64,
                ),
                is_leaf=True,
                yang_name="out-ack-messages",
                parent=self,
                path_helper=self._path_helper,
                extmethods=self._extmethods,
                register_paths=True,
                namespace="http://openconfig.net/yang/network-instance",
                defining_module="openconfig-network-instance",
                yang_type="yang:counter64",
                is_config=False,
            )
        except (TypeError, ValueError):
            raise ValueError(
                {
                    "error-string": """out_ack_messages must be of a type compatible with yang:counter64""",
                    "defined-type": "yang:counter64",
                    "generated-type": """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range':  ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-ack-messages", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/network-instance', defining_module='openconfig-network-instance', yang_type='yang:counter64', is_config=False)""",
                }
            )

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

    def _unset_out_ack_messages(self):
        self.__out_ack_messages = YANGDynClass(
            base=RestrictedClassType(
                base_type=long,
                restriction_dict={"range": ["0..18446744073709551615"]},
                int_size=64,
            ),
            is_leaf=True,
            yang_name="out-ack-messages",
            parent=self,
            path_helper=self._path_helper,
            extmethods=self._extmethods,
            register_paths=True,
            namespace="http://openconfig.net/yang/network-instance",
            defining_module="openconfig-network-instance",
            yang_type="yang:counter64",
            is_config=False,
        )

    in_path_messages = __builtin__.property(_get_in_path_messages)
    in_path_error_messages = __builtin__.property(_get_in_path_error_messages)
    in_path_tear_messages = __builtin__.property(_get_in_path_tear_messages)
    in_reservation_messages = __builtin__.property(_get_in_reservation_messages)
    in_reservation_error_messages = __builtin__.property(
        _get_in_reservation_error_messages
    )
    in_reservation_tear_messages = __builtin__.property(
        _get_in_reservation_tear_messages
    )
    in_hello_messages = __builtin__.property(_get_in_hello_messages)
    in_srefresh_messages = __builtin__.property(_get_in_srefresh_messages)
    in_ack_messages = __builtin__.property(_get_in_ack_messages)
    out_path_messages = __builtin__.property(_get_out_path_messages)
    out_path_error_messages = __builtin__.property(_get_out_path_error_messages)
    out_path_tear_messages = __builtin__.property(_get_out_path_tear_messages)
    out_reservation_messages = __builtin__.property(_get_out_reservation_messages)
    out_reservation_error_messages = __builtin__.property(
        _get_out_reservation_error_messages
    )
    out_reservation_tear_messages = __builtin__.property(
        _get_out_reservation_tear_messages
    )
    out_hello_messages = __builtin__.property(_get_out_hello_messages)
    out_srefresh_messages = __builtin__.property(_get_out_srefresh_messages)
    out_ack_messages = __builtin__.property(_get_out_ack_messages)

    _pyangbind_elements = OrderedDict(
        [
            ("in_path_messages", in_path_messages),
            ("in_path_error_messages", in_path_error_messages),
            ("in_path_tear_messages", in_path_tear_messages),
            ("in_reservation_messages", in_reservation_messages),
            ("in_reservation_error_messages", in_reservation_error_messages),
            ("in_reservation_tear_messages", in_reservation_tear_messages),
            ("in_hello_messages", in_hello_messages),
            ("in_srefresh_messages", in_srefresh_messages),
            ("in_ack_messages", in_ack_messages),
            ("out_path_messages", out_path_messages),
            ("out_path_error_messages", out_path_error_messages),
            ("out_path_tear_messages", out_path_tear_messages),
            ("out_reservation_messages", out_reservation_messages),
            ("out_reservation_error_messages", out_reservation_error_messages),
            ("out_reservation_tear_messages", out_reservation_tear_messages),
            ("out_hello_messages", out_hello_messages),
            ("out_srefresh_messages", out_srefresh_messages),
            ("out_ack_messages", out_ack_messages),
        ]
    )
